mirror of
https://github.com/pocoproject/poco.git
synced 2025-01-24 10:59:23 +01:00
Add addtional NIDs to be extracted from X.509 certificates.
- SerialNumber is especially useful on embedded devices - email is commonly found in certificates Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
This commit is contained in:
parent
452fbbc757
commit
b16ce1e4d9
@ -46,7 +46,9 @@ public:
|
|||||||
NID_LOCALITY_NAME = 15,
|
NID_LOCALITY_NAME = 15,
|
||||||
NID_STATE_OR_PROVINCE = 16,
|
NID_STATE_OR_PROVINCE = 16,
|
||||||
NID_ORGANIZATION_NAME = 17,
|
NID_ORGANIZATION_NAME = 17,
|
||||||
NID_ORGANIZATION_UNIT_NAME = 18
|
NID_ORGANIZATION_UNIT_NAME = 18,
|
||||||
|
NID_PKCS9_EMAIL_ADDRESS = 48,
|
||||||
|
NID_SERIAL_NUMBER = 105
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit X509Certificate(std::istream& istr);
|
explicit X509Certificate(std::istream& istr);
|
||||||
|
@ -292,6 +292,8 @@ void CryptoTest::testCertificate()
|
|||||||
std::string stateOrProvince(cert.subjectName(X509Certificate::NID_STATE_OR_PROVINCE));
|
std::string stateOrProvince(cert.subjectName(X509Certificate::NID_STATE_OR_PROVINCE));
|
||||||
std::string organizationName(cert.subjectName(X509Certificate::NID_ORGANIZATION_NAME));
|
std::string organizationName(cert.subjectName(X509Certificate::NID_ORGANIZATION_NAME));
|
||||||
std::string organizationUnitName(cert.subjectName(X509Certificate::NID_ORGANIZATION_UNIT_NAME));
|
std::string organizationUnitName(cert.subjectName(X509Certificate::NID_ORGANIZATION_UNIT_NAME));
|
||||||
|
std::string emailAddress(cert.subjectName(X509Certificate::NID_PKCS9_EMAIL_ADDRESS));
|
||||||
|
std::string serialNumber(cert.subjectName(X509Certificate::NID_SERIAL_NUMBER));
|
||||||
|
|
||||||
assert (subjectName == "/CN=appinf.com/O=Applied Informatics Software Engineering GmbH/OU=Development/ST=Carinthia/C=AT/L=St. Jakob im Rosental/emailAddress=guenter.obiltschnig@appinf.com");
|
assert (subjectName == "/CN=appinf.com/O=Applied Informatics Software Engineering GmbH/OU=Development/ST=Carinthia/C=AT/L=St. Jakob im Rosental/emailAddress=guenter.obiltschnig@appinf.com");
|
||||||
assert (issuerName == subjectName);
|
assert (issuerName == subjectName);
|
||||||
@ -301,6 +303,8 @@ void CryptoTest::testCertificate()
|
|||||||
assert (stateOrProvince == "Carinthia");
|
assert (stateOrProvince == "Carinthia");
|
||||||
assert (organizationName == "Applied Informatics Software Engineering GmbH");
|
assert (organizationName == "Applied Informatics Software Engineering GmbH");
|
||||||
assert (organizationUnitName == "Development");
|
assert (organizationUnitName == "Development");
|
||||||
|
assert (emailAddress == "guenter.obiltschnig@appinf.com");
|
||||||
|
assert (serialNumber == "");
|
||||||
|
|
||||||
// fails with recent OpenSSL versions:
|
// fails with recent OpenSSL versions:
|
||||||
// assert (cert.issuedBy(cert));
|
// assert (cert.issuedBy(cert));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user