Implement arbitrary X509 Extended Key Usage values
This commit is contained in:
parent
8d1abf5156
commit
53b868697a
|
|
@ -77,7 +77,7 @@ impl fmt::Display for KeyUsageOption {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Clone,Copy)]
|
||||
#[derive(Clone)]
|
||||
pub enum ExtKeyUsageOption {
|
||||
ServerAuth,
|
||||
ClientAuth,
|
||||
|
|
@ -90,6 +90,8 @@ pub enum ExtKeyUsageOption {
|
|||
MsSgc,
|
||||
MsEfs,
|
||||
NsSgc,
|
||||
/// An arbitrary key usage by OID.
|
||||
Other(String),
|
||||
}
|
||||
|
||||
impl fmt::Display for ExtKeyUsageOption {
|
||||
|
|
@ -106,6 +108,7 @@ impl fmt::Display for ExtKeyUsageOption {
|
|||
&ExtKeyUsageOption::MsSgc => "msSGC",
|
||||
&ExtKeyUsageOption::MsEfs => "msEFS",
|
||||
&ExtKeyUsageOption::NsSgc =>"nsSGC",
|
||||
&ExtKeyUsageOption::Other(ref s) => &s[..],
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use std::fs::File;
|
|||
use crypto::hash::Type::{SHA256};
|
||||
use x509::{X509, X509Generator};
|
||||
use x509::KeyUsage::{DigitalSignature, KeyEncipherment};
|
||||
use x509::ExtKeyUsage::{ClientAuth, ServerAuth};
|
||||
use x509::ExtKeyUsage::{self, ClientAuth, ServerAuth};
|
||||
use nid::Nid;
|
||||
|
||||
#[test]
|
||||
|
|
@ -17,7 +17,7 @@ fn test_cert_gen() {
|
|||
.set_CN("test_me")
|
||||
.set_sign_hash(SHA256)
|
||||
.set_usage(&[DigitalSignature, KeyEncipherment])
|
||||
.set_ext_usage(&[ClientAuth, ServerAuth]);
|
||||
.set_ext_usage(&[ClientAuth, ServerAuth, ExtKeyUsage::Other("2.999".to_owned())]);
|
||||
|
||||
let (cert, pkey) = gen.generate().unwrap();
|
||||
cert.write_pem(&mut io::sink()).unwrap();
|
||||
|
|
|
|||
Loading…
Reference in New Issue