diff options
| author | Steven Fackler <[email protected]> | 2016-11-06 22:52:53 -0800 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2016-11-06 22:52:53 -0800 |
| commit | d17c3355aba2491646cc80debfdbfdb6aa55b354 (patch) | |
| tree | 5284673fe8c860e92f5f760202282ef662a88e28 /openssl/src/x509/tests.rs | |
| parent | Start of extension support (diff) | |
| download | rust-openssl-d17c3355aba2491646cc80debfdbfdb6aa55b354.tar.xz rust-openssl-d17c3355aba2491646cc80debfdbfdb6aa55b354.zip | |
More extension progress
Diffstat (limited to 'openssl/src/x509/tests.rs')
| -rw-r--r-- | openssl/src/x509/tests.rs | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/openssl/src/x509/tests.rs b/openssl/src/x509/tests.rs index 2d634139..a1ab6de5 100644 --- a/openssl/src/x509/tests.rs +++ b/openssl/src/x509/tests.rs @@ -6,7 +6,8 @@ use hash::MessageDigest; use pkey::PKey; use rsa::Rsa; use x509::{X509, X509Generator, X509Name}; -use x509::extension::{Extension, BasicConstraints, KeyUsage}; +use x509::extension::{Extension, BasicConstraints, KeyUsage, ExtendedKeyUsage, + SubjectKeyIdentifier, AuthorityKeyIdentifier}; use x509::extension::AltNameOption as SAN; use x509::extension::KeyUsageOption::{DigitalSignature, KeyEncipherment}; use x509::extension::ExtKeyUsageOption::{self, ClientAuth, ServerAuth}; @@ -196,10 +197,26 @@ fn x509_builder() { serial.rand(128, MSB_MAYBE_ZERO, false).unwrap(); builder.set_serial_number(&serial.to_asn1_integer().unwrap()).unwrap(); - let basic_constraints = BasicConstraints::new().critical(true).ca(true).build().unwrap(); + let basic_constraints = BasicConstraints::new().critical().ca().build().unwrap(); builder.append_extension(basic_constraints).unwrap(); - let key_usage = KeyUsage::new().digital_signature(true).key_encipherment(true).build().unwrap(); + let key_usage = KeyUsage::new().digital_signature().key_encipherment().build().unwrap(); builder.append_extension(key_usage).unwrap(); + let ext_key_usage = ExtendedKeyUsage::new() + .client_auth() + .server_auth() + .other("2.999.1") + .build() + .unwrap(); + builder.append_extension(ext_key_usage).unwrap(); + let subject_key_identifier = SubjectKeyIdentifier::new() + .build(&builder.x509v3_context(None, None)) + .unwrap(); + builder.append_extension(subject_key_identifier).unwrap(); + let authority_key_identifier = AuthorityKeyIdentifier::new() + .keyid(true) + .build(&builder.x509v3_context(None, None)) + .unwrap(); + builder.append_extension(authority_key_identifier).unwrap(); builder.sign(&pkey, MessageDigest::sha256()).unwrap(); |