aboutsummaryrefslogtreecommitdiff
path: root/src/ssl/tests.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2014-09-30 00:47:00 -0400
committerSteven Fackler <[email protected]>2014-09-30 00:47:00 -0400
commit359043a7aaac6b10d6eb8692e613aa70f52cfc1b (patch)
tree3b437a6da2a48cfa06e6238dfeda02d49791c6a7 /src/ssl/tests.rs
parentMerge pull request #55 from cjcole/master (diff)
parentAddressed review comments (diff)
downloadrust-openssl-359043a7aaac6b10d6eb8692e613aa70f52cfc1b.tar.xz
rust-openssl-359043a7aaac6b10d6eb8692e613aa70f52cfc1b.zip
Merge pull request #53 from vhbit/cert-gen
Certificate/PKey generation & PEM export
Diffstat (limited to 'src/ssl/tests.rs')
-rw-r--r--src/ssl/tests.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/ssl/tests.rs b/src/ssl/tests.rs
index 99241719..82effee0 100644
--- a/src/ssl/tests.rs
+++ b/src/ssl/tests.rs
@@ -2,7 +2,9 @@ use std::io::Writer;
use std::io::net::tcp::TcpStream;
use std::str;
-use ssl::{Sslv23, SslContext, SslStream, SslVerifyPeer, X509StoreContext};
+use crypto::hash::{SHA256};
+use ssl::{Sslv23, SslContext, SslStream, SslVerifyPeer};
+use x509::{X509Generator, X509, DigitalSignature, KeyEncipherment, ClientAuth, ServerAuth, X509StoreContext};
#[test]
fn test_new_ctx() {
@@ -158,3 +160,19 @@ fn test_read() {
let buf = stream.read_to_end().ok().expect("read error");
print!("{}", str::from_utf8(buf.as_slice()));
}
+
+#[test]
+fn test_cert_gen() {
+ let gen = X509Generator::new()
+ .set_bitlength(2048)
+ .set_valid_period(365*2)
+ .set_CN("test_me")
+ .set_sign_hash(SHA256)
+ .set_usage([DigitalSignature, KeyEncipherment])
+ .set_ext_usage([ClientAuth, ServerAuth]);
+
+ let res = gen.generate();
+ assert!(res.is_ok());
+ // FIXME: check data in result to be correct, needs implementation
+ // of X509 getters
+}