aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2017-02-11 09:34:24 -0800
committerGitHub <[email protected]>2017-02-11 09:34:24 -0800
commit3a0d24f7292213df1420eb8f4c1791fd714e8d98 (patch)
treecb8f230cd1cc07dfa6c26bb609cab6e3a49673ca /openssl-sys/src
parentMerge pull request #579 from sfackler/x509-signature (diff)
parentRe-add reexport (diff)
downloadrust-openssl-3a0d24f7292213df1420eb8f4c1791fd714e8d98.tar.xz
rust-openssl-3a0d24f7292213df1420eb8f4c1791fd714e8d98.zip
Merge pull request #568 from mredlek/x509_req_version_subject
X509 request information
Diffstat (limited to 'openssl-sys/src')
-rw-r--r--openssl-sys/src/lib.rs7
-rw-r--r--openssl-sys/src/libressl.rs17
-rw-r--r--openssl-sys/src/ossl10x.rs17
-rw-r--r--openssl-sys/src/ossl110.rs3
4 files changed, 43 insertions, 1 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 68943c87..446101c2 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -53,7 +53,6 @@ pub enum X509_CRL {}
pub enum X509_EXTENSION {}
pub enum X509_NAME {}
pub enum X509_NAME_ENTRY {}
-pub enum X509_REQ {}
pub enum X509_STORE {}
pub enum X509_STORE_CTX {}
pub enum bio_st {}
@@ -1404,6 +1403,7 @@ extern {
pub fn AES_set_decrypt_key(userKey: *const c_uchar, bits: c_int, key: *mut AES_KEY) -> c_int;
pub fn AES_ige_encrypt(in_: *const c_uchar, out: *mut c_uchar, length: size_t, key: *const AES_KEY, ivec: *mut c_uchar, enc: c_int);
+ pub fn ASN1_INTEGER_get(dest: *const ASN1_INTEGER) -> c_long;
pub fn ASN1_INTEGER_set(dest: *mut ASN1_INTEGER, value: c_long) -> c_int;
pub fn ASN1_GENERALIZEDTIME_free(tm: *mut ASN1_GENERALIZEDTIME);
pub fn ASN1_GENERALIZEDTIME_print(b: *mut BIO, tm: *const ASN1_GENERALIZEDTIME) -> c_int;
@@ -1945,6 +1945,8 @@ extern {
pub fn ASN1_STRING_free(x: *mut ASN1_STRING);
pub fn ASN1_STRING_length(x: *const ASN1_STRING) -> c_int;
+ pub fn ASN1_INTEGER_free(x: *mut ASN1_INTEGER);
+
pub fn X509_STORE_new() -> *mut X509_STORE;
pub fn X509_STORE_free(store: *mut X509_STORE);
pub fn X509_STORE_add_cert(store: *mut X509_STORE, x: *mut X509) -> c_int;
@@ -1960,6 +1962,9 @@ extern {
pub fn X509_REQ_add_extensions(req: *mut X509_REQ, exts: *mut stack_st_X509_EXTENSION) -> c_int;
pub fn X509_REQ_sign(x: *mut X509_REQ, pkey: *mut EVP_PKEY, md: *const EVP_MD) -> c_int;
+ pub fn X509_REQ_set_version(x: *mut X509_REQ, version: c_long) -> c_int;
+ pub fn X509_REQ_set_subject_name(req: *mut X509_REQ, name: *mut ::X509_NAME) -> c_int;
+
#[cfg(not(ossl101))]
pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
diff --git a/openssl-sys/src/libressl.rs b/openssl-sys/src/libressl.rs
index 1bb17849..197d2c22 100644
--- a/openssl-sys/src/libressl.rs
+++ b/openssl-sys/src/libressl.rs
@@ -305,6 +305,23 @@ pub struct X509_VAL {
}
#[repr(C)]
+pub struct X509_REQ_INFO {
+ pub enc: ASN1_ENCODING,
+ pub version: *mut ::ASN1_INTEGER,
+ pub subject: *mut ::X509_NAME,
+ pubkey: *mut c_void,
+ pub attributes: *mut stack_st_X509_ATTRIBUTE
+}
+
+#[repr(C)]
+pub struct X509_REQ {
+ pub req_info: *mut X509_REQ_INFO,
+ sig_alg: *mut c_void,
+ signature: *mut c_void,
+ references: c_int
+}
+
+#[repr(C)]
pub struct SSL {
version: c_int,
type_: c_int,
diff --git a/openssl-sys/src/ossl10x.rs b/openssl-sys/src/ossl10x.rs
index f709c46f..12b70601 100644
--- a/openssl-sys/src/ossl10x.rs
+++ b/openssl-sys/src/ossl10x.rs
@@ -312,6 +312,23 @@ pub struct X509_VAL {
}
#[repr(C)]
+pub struct X509_REQ_INFO {
+ pub enc: ASN1_ENCODING,
+ pub version: *mut ::ASN1_INTEGER,
+ pub subject: *mut ::X509_NAME,
+ pubkey: *mut c_void,
+ pub attributes: *mut stack_st_X509_ATTRIBUTE
+}
+
+#[repr(C)]
+pub struct X509_REQ {
+ pub req_info: *mut X509_REQ_INFO,
+ sig_alg: *mut c_void,
+ signature: *mut c_void,
+ references: c_int
+}
+
+#[repr(C)]
pub struct SSL {
version: c_int,
type_: c_int,
diff --git a/openssl-sys/src/ossl110.rs b/openssl-sys/src/ossl110.rs
index 68a62c6c..7ab10d4a 100644
--- a/openssl-sys/src/ossl110.rs
+++ b/openssl-sys/src/ossl110.rs
@@ -28,6 +28,7 @@ pub enum stack_st_SSL_CIPHER {}
pub enum X509 {}
pub enum X509_ALGOR {}
pub enum X509_VERIFY_PARAM {}
+pub enum X509_REQ {}
pub const SSL_OP_MICROSOFT_SESS_ID_BUG: c_ulong = 0x00000000;
pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: c_ulong = 0x00000000;
@@ -195,4 +196,6 @@ extern {
iter: c_int,
mac_iter: c_int,
keytype: c_int) -> *mut PKCS12;
+ pub fn X509_REQ_get_version(req: *const X509_REQ) -> c_long;
+ pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut ::X509_NAME;
}