[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [libnm-qt/8021x-make-pki-cool] settings: Port phase2 certs to CertificateWrapper too
From: Will Stephenson <wstephenson () kde ! org>
Date: 2013-05-16 13:56:42
Message-ID: 20130516135642.7239FA60C5 () git ! kde ! org
[Download RAW message or body]
Git commit ddcc49831646345bd994f9a57d0582e87edfc1fd by Will Stephenson.
Committed on 15/05/2013 at 17:10.
Pushed by wstephens into branch '8021x-make-pki-cool'.
Port phase2 certs to CertificateWrapper too
M +62 -32 settings/802-1x.cpp
M +8 -7 settings/802-1x.h
M +2 -3 settings/802-1x_p.h
http://commits.kde.org/libnm-qt/ddcc49831646345bd994f9a57d0582e87edfc1fd
diff --git a/settings/802-1x.cpp b/settings/802-1x.cpp
index 925b112..08e5ada 100644
--- a/settings/802-1x.cpp
+++ b/settings/802-1x.cpp
@@ -150,8 +150,8 @@ NetworkManager::Settings::Security8021xSetting::Security8021xSetting(const \
Ptr & setPhase1FastProvisioning(other->phase1FastProvisioning());
setPhase2AuthMethod(other->phase2AuthMethod());
setPhase2AuthEapMethod(other->phase2AuthEapMethod());
- setPhase2CaCertificate(other->phase2CaCertificate());
- setPhase2CaPath(other->phase2CaPath());
+ d->phase2CaCert = other.data()->d_ptr->phase2CaCert;
+ d->phase2ClientCert = other.data()->d_ptr->phase2ClientCert;
setPhase2SubjectMatch(other->phase2SubjectMatch());
setPhase2AltSubjectMatches(other->phase2AltSubjectMatches());
setPassword(other->password());
@@ -383,32 +383,29 @@ NetworkManager::Settings::Security8021xSetting::AuthEapMethod \
NetworkManager::Se return d->phase2AuthEapMethod;
}
-void NetworkManager::Settings::Security8021xSetting::setPhase2CaCertificate(const \
QByteArray& certificate)
-{
- Q_D(Security8021xSetting);
-
- d->phase2CaCert = certificate;
-}
-
-QByteArray NetworkManager::Settings::Security8021xSetting::phase2CaCertificate() \
const +NetworkManager::Settings::Security8021xSetting::CertKeyScheme \
NetworkManager::Settings::Security8021xSetting::phase2CaCertificateScheme() const {
Q_D(const Security8021xSetting);
-
- return d->phase2CaCert;
+ return d->phase2CaCert.scheme;
}
-void NetworkManager::Settings::Security8021xSetting::setPhase2CaPath(const QString& \
path) +void NetworkManager::Settings::Security8021xSetting::setPhase2CaCertificate(const \
QString &phase2CaCertPath, CertKeyScheme scheme) {
Q_D(Security8021xSetting);
- d->phase2CaPath = path;
+ d->phase2CaCert.loadCert(phase2CaCertPath, scheme);
}
-QString NetworkManager::Settings::Security8021xSetting::phase2CaPath() const
+QByteArray NetworkManager::Settings::Security8021xSetting::phase2CaCertificateBlob() \
const {
Q_D(const Security8021xSetting);
+ return d->phase2CaCert.blob();
+}
- return d->phase2CaPath;
+QString NetworkManager::Settings::Security8021xSetting::phase2CaCertificatePath() \
const +{
+ Q_D(const Security8021xSetting);
+ return d->phase2CaCert.path();
}
void NetworkManager::Settings::Security8021xSetting::setPhase2SubjectMatch(const \
QString& substring) @@ -439,18 +436,29 @@ QStringList \
NetworkManager::Settings::Security8021xSetting::phase2AltSubjectMatc return \
d->phase2AltSubjectMatches; }
-void NetworkManager::Settings::Security8021xSetting::setPhase2ClientCertificate(const \
QByteArray& certificate) \
+NetworkManager::Settings::Security8021xSetting::CertKeyScheme \
NetworkManager::Settings::Security8021xSetting::phase2ClientCertificateScheme() const \
+{ + Q_D(const Security8021xSetting);
+ return d->phase2ClientCert.scheme;
+}
+
+void NetworkManager::Settings::Security8021xSetting::setPhase2ClientCertificate(const \
QString &phase2ClientCertPath, CertKeyScheme scheme) {
Q_D(Security8021xSetting);
- d->phase2ClientCert = certificate;
+ d->phase2ClientCert.loadCert(phase2ClientCertPath, scheme);
}
-QByteArray NetworkManager::Settings::Security8021xSetting::phase2ClientCertificate() \
const +QByteArray NetworkManager::Settings::Security8021xSetting::phase2ClientCertificateBlob() \
const {
Q_D(const Security8021xSetting);
+ return d->phase2ClientCert.blob();
+}
- return d->phase2ClientCert;
+QString NetworkManager::Settings::Security8021xSetting::phase2ClientCertificatePath() \
const +{
+ Q_D(const Security8021xSetting);
+ return d->phase2ClientCert.path();
}
void NetworkManager::Settings::Security8021xSetting::setPassword(const QString& \
password) @@ -840,11 +848,11 @@ void \
NetworkManager::Settings::Security8021xSetting::fromMap(const QVariantMap& }
if (setting.contains(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_CERT))) {
- setPhase2CaCertificate(setting.value(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_CERT)).toByteArray());
+ d->phase2CaCert.setCertBlob(setting.value(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_CERT)).toByteArray());
}
if (setting.contains(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_PATH))) {
- setPhase2CaPath(setting.value(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_PATH)).toString());
+ d->phase2CaCert.setCertPath(setting.value(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_PATH)).toString());
}
if (setting.contains(QLatin1String(NM_SETTING_802_1X_PHASE2_SUBJECT_MATCH))) {
@@ -856,9 +864,11 @@ void \
NetworkManager::Settings::Security8021xSetting::fromMap(const QVariantMap& }
if (setting.contains(QLatin1String(NM_SETTING_802_1X_PHASE2_CLIENT_CERT))) {
- setPhase2ClientCertificate(setting.value(QLatin1String(NM_SETTING_802_1X_PHASE2_CLIENT_CERT)).toByteArray());
+ d->phase2ClientCert.setCertBlob(setting.value(QLatin1String(NM_SETTING_802_1X_PHASE2_CLIENT_CERT)).toByteArray());
}
+ // WILL PHASE2_CLIENT_CERT_PATH needed?
+
if (setting.contains(QLatin1String(NM_SETTING_802_1X_PASSWORD))) {
setPassword(setting.value(QLatin1String(NM_SETTING_802_1X_PASSWORD)).toString());
}
@@ -1073,12 +1083,12 @@ QVariantMap \
NetworkManager::Settings::Security8021xSetting::toMap() const
setting.insert(QLatin1String(NM_SETTING_802_1X_PHASE2_AUTHEAP), \
authEapMethod); }
- if (!phase2CaCertificate().isEmpty()) {
- setting.insert(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_CERT), \
phase2CaCertificate()); + if (phase2CaCertificateScheme() == CertKeySchemeBlob) {
+ setting.insert(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_CERT), \
phase2CaCertificateBlob()); }
- if (!phase2CaPath().isEmpty()) {
- setting.insert(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_PATH), \
phase2CaPath()); + if (phase2CaCertificateScheme() == CertKeySchemePath) {
+ setting.insert(QLatin1String(NM_SETTING_802_1X_PHASE2_CA_PATH), \
phase2CaCertificatePath()); }
if (!phase2SubjectMatch().isEmpty()) {
@@ -1089,8 +1099,8 @@ QVariantMap \
NetworkManager::Settings::Security8021xSetting::toMap() const
setting.insert(QLatin1String(NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES), \
phase2AltSubjectMatches()); }
- if (!phase2ClientCertificate().isEmpty()) {
- setting.insert(QLatin1String(NM_SETTING_802_1X_PHASE2_CLIENT_CERT), \
phase2ClientCertificate()); + if (d->phase2ClientCert.scheme == CertKeySchemeBlob) \
{ + setting.insert(QLatin1String(NM_SETTING_802_1X_PHASE2_CLIENT_CERT), \
d->phase2ClientCert.blob()); }
if (!password().isEmpty()) {
@@ -1186,11 +1196,31 @@ QDebug NetworkManager::Settings::operator <<(QDebug dbg, \
const NetworkManager::S
dbg.nospace() << NM_SETTING_802_1X_PHASE1_FAST_PROVISIONING << ": " << \
setting.phase1FastProvisioning() << '\n';
dbg.nospace() << NM_SETTING_802_1X_PHASE2_AUTH << ": " << \
setting.phase2AuthMethod() << '\n';
dbg.nospace() << NM_SETTING_802_1X_PHASE2_AUTHEAP << ": " << \
setting.phase2AuthEapMethod() << '\n';
- dbg.nospace() << NM_SETTING_802_1X_PHASE2_CA_CERT << ": " << \
setting.phase2CaCertificate() << '\n';
- dbg.nospace() << NM_SETTING_802_1X_PHASE2_CA_PATH << ": " << \
setting.phase2CaPath() << '\n'; +
+ switch (setting.phase2CaCertificateScheme()) {
+ case NetworkManager::Settings::Security8021xSetting::CertKeySchemeNone:
+ dbg.nospace() << NM_SETTING_802_1X_PHASE2_CA_CERT << ": " << "NONE";
+ break;
+ case NetworkManager::Settings::Security8021xSetting::CertKeySchemeBlob:
+ dbg.nospace() << NM_SETTING_802_1X_PHASE2_CA_CERT << ": " << \
setting.phase2CaCertificateBlob(); + break;
+ case NetworkManager::Settings::Security8021xSetting::CertKeySchemePath:
+ dbg.nospace() << NM_SETTING_802_1X_PHASE2_CA_PATH << ": " << \
setting.phase2CaCertificatePath(); + break;
+ };
+
dbg.nospace() << NM_SETTING_802_1X_PHASE2_SUBJECT_MATCH << ": " << \
setting.phase2SubjectMatch() << '\n';
dbg.nospace() << NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES << ": " << \
setting.phase2AltSubjectMatches() << '\n';
- dbg.nospace() << NM_SETTING_802_1X_PHASE2_CLIENT_CERT << ": " << \
setting.phase2ClientCertificate() << '\n'; +
+ switch (setting.phase2ClientCertificateScheme()) {
+ case NetworkManager::Settings::Security8021xSetting::CertKeySchemeNone:
+ dbg.nospace() << NM_SETTING_802_1X_PHASE2_CLIENT_CERT << ": " << "NONE";
+ break;
+ case NetworkManager::Settings::Security8021xSetting::CertKeySchemeBlob:
+ dbg.nospace() << NM_SETTING_802_1X_PHASE2_CLIENT_CERT << ": " << \
setting.phase2ClientCertificateBlob(); + break;
+ };
+
dbg.nospace() << NM_SETTING_802_1X_PASSWORD << ": " << setting.password() << \
'\n';
dbg.nospace() << NM_SETTING_802_1X_PASSWORD_FLAGS << ": " << \
setting.passwordFlags() << '\n';
dbg.nospace() << NM_SETTING_802_1X_PASSWORD_RAW << ": " << setting.passwordRaw() \
<< '\n';
diff --git a/settings/802-1x.h b/settings/802-1x.h
index fefc8ed..0539ade 100644
--- a/settings/802-1x.h
+++ b/settings/802-1x.h
@@ -97,11 +97,10 @@ public:
void setPhase2AuthEapMethod(AuthEapMethod method);
AuthEapMethod phase2AuthEapMethod() const;
- void setPhase2CaCertificate(const QByteArray & certificate);
- QByteArray phase2CaCertificate() const;
-
- void setPhase2CaPath(const QString & path);
- QString phase2CaPath() const;
+ CertKeyScheme phase2CaCertificateScheme() const;
+ void setPhase2CaCertificate(const QString &phase2CaCertPath, CertKeyScheme \
scheme); + QByteArray phase2CaCertificateBlob() const;
+ QString phase2CaCertificatePath() const;
void setPhase2SubjectMatch(const QString & substring);
QString phase2SubjectMatch() const;
@@ -109,8 +108,10 @@ public:
void setPhase2AltSubjectMatches(const QStringList & strings);
QStringList phase2AltSubjectMatches() const;
- void setPhase2ClientCertificate(const QByteArray & certificate);
- QByteArray phase2ClientCertificate() const;
+ CertKeyScheme phase2ClientCertificateScheme() const;
+ void setPhase2ClientCertificate(const QString &phase2ClientCertPath, \
CertKeyScheme scheme); + QByteArray phase2ClientCertificateBlob() const;
+ QString phase2ClientCertificatePath() const;
void setPassword(const QString & password);
QString password() const;
diff --git a/settings/802-1x_p.h b/settings/802-1x_p.h
index 0e6a6e5..50d99ab 100644
--- a/settings/802-1x_p.h
+++ b/settings/802-1x_p.h
@@ -76,11 +76,10 @@ public:
Security8021xSetting::FastProvisioning phase1FastProvisioning;
Security8021xSetting::AuthMethod phase2AuthMethod;
Security8021xSetting::AuthEapMethod phase2AuthEapMethod;
- QByteArray phase2CaCert;
- QString phase2CaPath;
+ CertificateWrapper phase2CaCert;
QString phase2SubjectMatch;
QStringList phase2AltSubjectMatches;
- QByteArray phase2ClientCert;
+ CertificateWrapper phase2ClientCert;
QString password;
Setting::SecretFlags passwordFlags;
QByteArray passwordRaw;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic