aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Wilm <[email protected]>2016-02-02 09:25:52 -0800
committerJoe Wilm <[email protected]>2016-02-02 09:25:52 -0800
commit4940ca7e9292ab04f473ebb017272a50b0d79fbc (patch)
tree010571d026f2d5a4574d3a107ae8fe49635c6ac2
parentMerge pull request #348 from Hywan/patch-1 (diff)
downloadrust-openssl-4940ca7e9292ab04f473ebb017272a50b0d79fbc.tar.xz
rust-openssl-4940ca7e9292ab04f473ebb017272a50b0d79fbc.zip
Fix Nid::UID value
Nid::UID (userId) previously held the value of Nid::uid (uniqueIdentifier).
-rw-r--r--openssl/src/nid.rs3
-rw-r--r--openssl/src/x509/tests.rs17
-rw-r--r--openssl/test/nid_uid_test_cert.pem24
3 files changed, 43 insertions, 1 deletions
diff --git a/openssl/src/nid.rs b/openssl/src/nid.rs
index e04b004a..f835d9e6 100644
--- a/openssl/src/nid.rs
+++ b/openssl/src/nid.rs
@@ -104,7 +104,7 @@ pub enum Nid {
G,
S,
I,
- UID,
+ uid, // uniqueIdentifier
CrlDistributionPoints,
RSA_NP_MD5,
SN,
@@ -170,4 +170,5 @@ pub enum Nid {
ID_QT_UNOTICE,
RC2_64_CBC,
SMIMECaps,
+ UID = 458 // userId
}
diff --git a/openssl/src/x509/tests.rs b/openssl/src/x509/tests.rs
index 35690e05..dbca8b98 100644
--- a/openssl/src/x509/tests.rs
+++ b/openssl/src/x509/tests.rs
@@ -140,3 +140,20 @@ fn test_nid_values() {
};
assert_eq!(&friendly as &str, "Example");
}
+
+#[test]
+fn test_nid_uid_value() {
+ let cert_path = Path::new("test/nid_uid_test_cert.pem");
+ let mut file = File::open(&cert_path)
+ .ok()
+ .expect("Failed to open `test/nid_uid_test_cert.pem`");
+
+ let cert = X509::from_pem(&mut file).ok().expect("Failed to load PEM");
+ let subject = cert.subject_name();
+
+ let cn = match subject.text_by_nid(Nid::UID) {
+ Some(x) => x,
+ None => panic!("Failed to read UID from cert"),
+ };
+ assert_eq!(&cn as &str, "this is the userId");
+}
diff --git a/openssl/test/nid_uid_test_cert.pem b/openssl/test/nid_uid_test_cert.pem
new file mode 100644
index 00000000..de6722ab
--- /dev/null
+++ b/openssl/test/nid_uid_test_cert.pem
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIIEGTCCAwGgAwIBAgIJAItKTzcGfL1lMA0GCSqGSIb3DQEBCwUAMIGiMSIwIAYK
+CZImiZPyLGQBAQwSdGhpcyBpcyB0aGUgdXNlcklkMQswCQYDVQQGEwJVUzETMBEG
+A1UECAwKQ2FsaWZvcm5pYTESMBAGA1UEBwwJU3Vubnl2YWxlMRUwEwYDVQQKDAxS
+dXN0IE9wZW5TU0wxDDAKBgNVBAsMA09TUzEhMB8GA1UEAwwYcnVzdC1vcGVuc3Ns
+LmV4YW1wbGUuY29tMB4XDTE2MDIwMjE3MjIwMVoXDTE2MDMwMzE3MjIwMVowgaIx
+IjAgBgoJkiaJk/IsZAEBDBJ0aGlzIGlzIHRoZSB1c2VySWQxCzAJBgNVBAYTAlVT
+MRMwEQYDVQQIDApDYWxpZm9ybmlhMRIwEAYDVQQHDAlTdW5ueXZhbGUxFTATBgNV
+BAoMDFJ1c3QgT3BlblNTTDEMMAoGA1UECwwDT1NTMSEwHwYDVQQDDBhydXN0LW9w
+ZW5zc2wuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+AQDa3Gc+IE5DOhTv1m5DZW8qKiyNLd7v4DaAYLXSsDuLs+9wJ+Bs+wlBfrg+PT0t
+EJlPaLL9IfD5eR3WpFu62TUexYhnJh+3vhCGsFHOXcTjtM+wy/dzZtOVh2wTzvqE
+/FHBGw1eG3Ww+RkSFbwYmtm8JhIN8ffYxGn2O0yQpxypf5hNPYrC81zX+52X2w1h
+jDYLpYt55w+e6q+iRRFk0tKiWHEqqh/r6UQQRpj2EeS+xTloZlO6h0nl2NPkVF3r
+CXBoT8Ittxr7sqcYqf8TAA0I4qZRYXKYehFmv/VkSt85CcURJ/zXeoJ1TpxSvQie
+2R9cRDkYROrIOAFbB/0mmHLBAgMBAAGjUDBOMB0GA1UdDgQWBBRKfPqtgrbdbTmH
+XR6RC/p8t/65GjAfBgNVHSMEGDAWgBRKfPqtgrbdbTmHXR6RC/p8t/65GjAMBgNV
+HRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCKfeGRduGsIwKNiGcDUNkNrc7Z
+f8SWAmb/R6xiDfgjbhrtfBDowIZ5natEkTgf6kQPMJKyjg2NEM2uJWBc55rLOHIv
+es1wQOlYjfEUmFD3lTIt2TM/IUgXn2j+zV1CRkJthQLVFChXsidd0Bqq2fBjd3ad
+Yjzrxf3uOTBAs27koh2INNHfcUZCRsx8hP739zz2kw/r5NB/9iyENEyJKQvxo0jb
+oN0JK2joGZrWetDukQrqf032TsdkboW5JresYybbAD3326Ljp+hlT/3WINc+3nZJ
+Dn+pPMdpuZ5BUZ+u+XyNEPum3k3P3K19AF+zWYGooX0J1cmuCBrrqce20Lwy
+-----END CERTIFICATE-----