diff options
| author | Steven Fackler <[email protected]> | 2015-07-01 03:18:07 -0400 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2015-07-01 03:18:07 -0400 |
| commit | 2a4d7165f4107eaf839d0b63e3b59d710ef26728 (patch) | |
| tree | 879cc0ed1bcb1a095e975e1249b0fe4195fc91b9 /openssl/src | |
| parent | More syntax fixes (diff) | |
| parent | Add a test that checks whether 3 known subject attributes can be retrieved by... (diff) | |
| download | rust-openssl-2a4d7165f4107eaf839d0b63e3b59d710ef26728.tar.xz rust-openssl-2a4d7165f4107eaf839d0b63e3b59d710ef26728.zip | |
Merge pull request #232 from jethrogb/topic/fix_nid
Fix NID definitions to match OpenSSL.
Diffstat (limited to 'openssl/src')
| -rw-r--r-- | openssl/src/nid.rs | 7 | ||||
| -rw-r--r-- | openssl/src/x509/tests.rs | 29 |
2 files changed, 34 insertions, 2 deletions
diff --git a/openssl/src/nid.rs b/openssl/src/nid.rs index 08424ae8..c5b9e277 100644 --- a/openssl/src/nid.rs +++ b/openssl/src/nid.rs @@ -37,6 +37,7 @@ pub enum Nid { DES_EDE, DES_EDE3, IDEA_CBC, + IDEA_CFB, IDEA_ECB, RC2_CBC, RC2_ECB, @@ -55,6 +56,7 @@ pub enum Nid { MessageDigest, SigningTime, CounterSignature, + ChallengePassword, UnstructuredAddress, ExtendedCertificateAttributes, Netscape, @@ -93,6 +95,7 @@ pub enum Nid { AuthorityKeyIdentifier, BF_CBC, BF_ECB, + BF_CFB, BF_OFB, MDC2, RSA_MDC2, @@ -117,7 +120,8 @@ pub enum Nid { RSA_SHA1_2, DSA, RIPEMD160, - RSA_RIPEMD160, + /* 118 missing */ + RSA_RIPEMD160=119, RC5_CBC, RC5_ECB, RC5_CFB, @@ -142,7 +146,6 @@ pub enum Nid { CRLReason, InvalidityDate, SXNetID, - Pkcs12, PBE_SHA1_RC4_128, PBE_SHA1_RC4_40, PBE_SHA1_3DES, diff --git a/openssl/src/x509/tests.rs b/openssl/src/x509/tests.rs index 6d95b966..4e1c4f15 100644 --- a/openssl/src/x509/tests.rs +++ b/openssl/src/x509/tests.rs @@ -69,3 +69,32 @@ fn test_subject_read_cn() { assert_eq!(&cn as &str, "test_cert") } + +#[test] +fn test_nid_values() { + let cert_path = Path::new("test/nid_test_cert.pem"); + let mut file = File::open(&cert_path) + .ok() + .expect("Failed to open `test/nid_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::CN) { + Some(x) => x, + None => panic!("Failed to read CN from cert") + }; + assert_eq!(&cn as &str, "example.com"); + + let email = match subject.text_by_nid(Nid::Email) { + Some(x) => x, + None => panic!("Failed to read subject email address from cert") + }; + assert_eq!(&email as &str, "[email protected]"); + + let friendly = match subject.text_by_nid(Nid::FriendlyName) { + Some(x) => x, + None => panic!("Failed to read subject friendly name from cert") + }; + assert_eq!(&friendly as &str, "Example"); +} |