aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2015-07-01 03:18:07 -0400
committerSteven Fackler <[email protected]>2015-07-01 03:18:07 -0400
commit2a4d7165f4107eaf839d0b63e3b59d710ef26728 (patch)
tree879cc0ed1bcb1a095e975e1249b0fe4195fc91b9 /openssl/src
parentMore syntax fixes (diff)
parentAdd a test that checks whether 3 known subject attributes can be retrieved by... (diff)
downloadrust-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.rs7
-rw-r--r--openssl/src/x509/tests.rs29
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");
+}