From 64106c4d3d4ddba8c7bc2af75376e6d3d3d75601 Mon Sep 17 00:00:00 2001 From: Date: Mon, 29 Jun 2015 20:16:15 +0000 Subject: Update documentation --- openssl/asn1/index.html | 110 ++ openssl/asn1/sidebar-items.js | 1 + openssl/asn1/struct.Asn1Time.html | 110 ++ openssl/bio/index.html | 110 ++ openssl/bio/sidebar-items.js | 1 + openssl/bio/struct.MemBio.html | 131 +++ openssl/bn/enum.RNGProperty.html | 108 ++ openssl/bn/index.html | 128 +++ openssl/bn/sidebar-items.js | 1 + openssl/bn/struct.BigNum.html | 177 +++ openssl/bn/unchecked/index.html | 101 ++ openssl/bn/unchecked/sidebar-items.js | 1 + openssl/crypto/hash/enum.Type.html | 117 ++ openssl/crypto/hash/fn.hash.html | 102 ++ openssl/crypto/hash/index.html | 131 +++ openssl/crypto/hash/sidebar-items.js | 1 + openssl/crypto/hash/struct.Hasher.html | 148 +++ openssl/crypto/hmac/fn.hmac.html | 102 ++ openssl/crypto/hmac/index.html | 121 ++ openssl/crypto/hmac/sidebar-items.js | 1 + openssl/crypto/hmac/struct.HMAC.html | 146 +++ openssl/crypto/index.html | 158 +++ openssl/crypto/memcmp/fn.eq.html | 110 ++ openssl/crypto/memcmp/index.html | 111 ++ openssl/crypto/memcmp/sidebar-items.js | 1 + openssl/crypto/pkcs5/fn.pbkdf2_hmac_sha1.html | 102 ++ openssl/crypto/pkcs5/index.html | 111 ++ openssl/crypto/pkcs5/sidebar-items.js | 1 + openssl/crypto/pkey/enum.EncryptionPadding.html | 108 ++ openssl/crypto/pkey/enum.Parts.html | 108 ++ openssl/crypto/pkey/enum.Role.html | 110 ++ openssl/crypto/pkey/index.html | 137 +++ openssl/crypto/pkey/sidebar-items.js | 1 + openssl/crypto/pkey/struct.PKey.html | 153 +++ openssl/crypto/rand/fn.rand_bytes.html | 101 ++ openssl/crypto/rand/index.html | 110 ++ openssl/crypto/rand/sidebar-items.js | 1 + openssl/crypto/sidebar-items.js | 1 + openssl/crypto/symm/enum.Mode.html | 107 ++ openssl/crypto/symm/enum.Type.html | 110 ++ openssl/crypto/symm/fn.decrypt.html | 103 ++ openssl/crypto/symm/fn.encrypt.html | 103 ++ openssl/crypto/symm/index.html | 149 +++ openssl/crypto/symm/sidebar-items.js | 1 + openssl/crypto/symm/struct.Crypter.html | 116 ++ openssl/index.html | 158 +++ openssl/nid/enum.Nid.html | 270 +++++ openssl/nid/index.html | 110 ++ openssl/nid/sidebar-items.js | 1 + openssl/sidebar-items.js | 1 + openssl/ssl/constant.SSL_OP_ALL.html | 102 ++ ...t.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION.html | 102 ++ .../constant.SSL_OP_CIPHER_SERVER_PREFERENCE.html | 102 ++ openssl/ssl/constant.SSL_OP_CISCO_ANYCONNECT.html | 102 ++ openssl/ssl/constant.SSL_OP_COOKIE_EXCHANGE.html | 102 ++ ...onstant.SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS.html | 102 ++ .../ssl/constant.SSL_OP_LEGACY_SERVER_CONNECT.html | 102 ++ ...constant.SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER.html | 102 ++ ...nt.SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_COMPRESSION.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_DTLSV1.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_DTLSV1_2.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_QUERY_MTU.html | 102 ++ ..._OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_SSLV2.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_SSLV3.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_TICKET.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_TLSV1.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_TLSV1_1.html | 102 ++ openssl/ssl/constant.SSL_OP_NO_TLSV1_2.html | 102 ++ .../constant.SSL_OP_SAFARI_ECDHE_ECDSA_BUG.html | 102 ++ openssl/ssl/constant.SSL_OP_SINGLE_DH_USE.html | 102 ++ openssl/ssl/constant.SSL_OP_SINGLE_ECDH_USE.html | 102 ++ .../constant.SSL_OP_SSLEAY_080_CLIENT_DH_BUG.html | 102 ++ openssl/ssl/constant.SSL_OP_TLSEXT_PADDING.html | 102 ++ .../ssl/constant.SSL_OP_TLS_BLOCK_PADDING_BUG.html | 102 ++ openssl/ssl/constant.SSL_OP_TLS_D5_BUG.html | 102 ++ openssl/ssl/constant.SSL_OP_TLS_ROLLBACK_BUG.html | 102 ++ .../constant.SSL_VERIFY_FAIL_IF_NO_PEER_CERT.html | 104 ++ openssl/ssl/constant.SSL_VERIFY_NONE.html | 103 ++ openssl/ssl/constant.SSL_VERIFY_PEER.html | 103 ++ openssl/ssl/enum.MaybeSslStream.html | 132 +++ openssl/ssl/enum.SslMethod.html | 120 ++ openssl/ssl/error/enum.OpensslError.html | 120 ++ openssl/ssl/error/enum.SslError.html | 119 ++ openssl/ssl/error/index.html | 121 ++ openssl/ssl/error/sidebar-items.js | 1 + openssl/ssl/index.html | 446 ++++++++ openssl/ssl/sidebar-items.js | 1 + openssl/ssl/struct.Ssl.html | 111 ++ openssl/ssl/struct.SslContext.html | 135 +++ openssl/ssl/struct.SslContextOptions.html | 152 +++ openssl/ssl/struct.SslStream.html | 148 +++ openssl/ssl/struct.SslVerifyMode.html | 152 +++ openssl/ssl/type.VerifyCallback.html | 102 ++ openssl/ssl/type.VerifyCallbackData.html | 103 ++ openssl/x509/enum.ExtKeyUsage.html | 116 ++ openssl/x509/enum.KeyUsage.html | 114 ++ openssl/x509/enum.X509FileType.html | 108 ++ openssl/x509/enum.X509ValidationError.html | 159 +++ openssl/x509/index.html | 194 ++++ openssl/x509/sidebar-items.js | 1 + openssl/x509/struct.SslString.html | 1170 ++++++++++++++++++++ openssl/x509/struct.X509.html | 119 ++ openssl/x509/struct.X509Generator.html | 160 +++ openssl/x509/struct.X509Name.html | 104 ++ openssl/x509/struct.X509NameEntry.html | 103 ++ openssl/x509/struct.X509Req.html | 111 ++ openssl/x509/struct.X509StoreContext.html | 106 ++ 109 files changed, 12195 insertions(+) create mode 100644 openssl/asn1/index.html create mode 100644 openssl/asn1/sidebar-items.js create mode 100644 openssl/asn1/struct.Asn1Time.html create mode 100644 openssl/bio/index.html create mode 100644 openssl/bio/sidebar-items.js create mode 100644 openssl/bio/struct.MemBio.html create mode 100644 openssl/bn/enum.RNGProperty.html create mode 100644 openssl/bn/index.html create mode 100644 openssl/bn/sidebar-items.js create mode 100644 openssl/bn/struct.BigNum.html create mode 100644 openssl/bn/unchecked/index.html create mode 100644 openssl/bn/unchecked/sidebar-items.js create mode 100644 openssl/crypto/hash/enum.Type.html create mode 100644 openssl/crypto/hash/fn.hash.html create mode 100644 openssl/crypto/hash/index.html create mode 100644 openssl/crypto/hash/sidebar-items.js create mode 100644 openssl/crypto/hash/struct.Hasher.html create mode 100644 openssl/crypto/hmac/fn.hmac.html create mode 100644 openssl/crypto/hmac/index.html create mode 100644 openssl/crypto/hmac/sidebar-items.js create mode 100644 openssl/crypto/hmac/struct.HMAC.html create mode 100644 openssl/crypto/index.html create mode 100644 openssl/crypto/memcmp/fn.eq.html create mode 100644 openssl/crypto/memcmp/index.html create mode 100644 openssl/crypto/memcmp/sidebar-items.js create mode 100644 openssl/crypto/pkcs5/fn.pbkdf2_hmac_sha1.html create mode 100644 openssl/crypto/pkcs5/index.html create mode 100644 openssl/crypto/pkcs5/sidebar-items.js create mode 100644 openssl/crypto/pkey/enum.EncryptionPadding.html create mode 100644 openssl/crypto/pkey/enum.Parts.html create mode 100644 openssl/crypto/pkey/enum.Role.html create mode 100644 openssl/crypto/pkey/index.html create mode 100644 openssl/crypto/pkey/sidebar-items.js create mode 100644 openssl/crypto/pkey/struct.PKey.html create mode 100644 openssl/crypto/rand/fn.rand_bytes.html create mode 100644 openssl/crypto/rand/index.html create mode 100644 openssl/crypto/rand/sidebar-items.js create mode 100644 openssl/crypto/sidebar-items.js create mode 100644 openssl/crypto/symm/enum.Mode.html create mode 100644 openssl/crypto/symm/enum.Type.html create mode 100644 openssl/crypto/symm/fn.decrypt.html create mode 100644 openssl/crypto/symm/fn.encrypt.html create mode 100644 openssl/crypto/symm/index.html create mode 100644 openssl/crypto/symm/sidebar-items.js create mode 100644 openssl/crypto/symm/struct.Crypter.html create mode 100644 openssl/index.html create mode 100644 openssl/nid/enum.Nid.html create mode 100644 openssl/nid/index.html create mode 100644 openssl/nid/sidebar-items.js create mode 100644 openssl/sidebar-items.js create mode 100644 openssl/ssl/constant.SSL_OP_ALL.html create mode 100644 openssl/ssl/constant.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION.html create mode 100644 openssl/ssl/constant.SSL_OP_CIPHER_SERVER_PREFERENCE.html create mode 100644 openssl/ssl/constant.SSL_OP_CISCO_ANYCONNECT.html create mode 100644 openssl/ssl/constant.SSL_OP_COOKIE_EXCHANGE.html create mode 100644 openssl/ssl/constant.SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS.html create mode 100644 openssl/ssl/constant.SSL_OP_LEGACY_SERVER_CONNECT.html create mode 100644 openssl/ssl/constant.SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER.html create mode 100644 openssl/ssl/constant.SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_COMPRESSION.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_DTLSV1.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_DTLSV1_2.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_QUERY_MTU.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_SSLV2.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_SSLV3.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_TICKET.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_TLSV1.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_TLSV1_1.html create mode 100644 openssl/ssl/constant.SSL_OP_NO_TLSV1_2.html create mode 100644 openssl/ssl/constant.SSL_OP_SAFARI_ECDHE_ECDSA_BUG.html create mode 100644 openssl/ssl/constant.SSL_OP_SINGLE_DH_USE.html create mode 100644 openssl/ssl/constant.SSL_OP_SINGLE_ECDH_USE.html create mode 100644 openssl/ssl/constant.SSL_OP_SSLEAY_080_CLIENT_DH_BUG.html create mode 100644 openssl/ssl/constant.SSL_OP_TLSEXT_PADDING.html create mode 100644 openssl/ssl/constant.SSL_OP_TLS_BLOCK_PADDING_BUG.html create mode 100644 openssl/ssl/constant.SSL_OP_TLS_D5_BUG.html create mode 100644 openssl/ssl/constant.SSL_OP_TLS_ROLLBACK_BUG.html create mode 100644 openssl/ssl/constant.SSL_VERIFY_FAIL_IF_NO_PEER_CERT.html create mode 100644 openssl/ssl/constant.SSL_VERIFY_NONE.html create mode 100644 openssl/ssl/constant.SSL_VERIFY_PEER.html create mode 100644 openssl/ssl/enum.MaybeSslStream.html create mode 100644 openssl/ssl/enum.SslMethod.html create mode 100644 openssl/ssl/error/enum.OpensslError.html create mode 100644 openssl/ssl/error/enum.SslError.html create mode 100644 openssl/ssl/error/index.html create mode 100644 openssl/ssl/error/sidebar-items.js create mode 100644 openssl/ssl/index.html create mode 100644 openssl/ssl/sidebar-items.js create mode 100644 openssl/ssl/struct.Ssl.html create mode 100644 openssl/ssl/struct.SslContext.html create mode 100644 openssl/ssl/struct.SslContextOptions.html create mode 100644 openssl/ssl/struct.SslStream.html create mode 100644 openssl/ssl/struct.SslVerifyMode.html create mode 100644 openssl/ssl/type.VerifyCallback.html create mode 100644 openssl/ssl/type.VerifyCallbackData.html create mode 100644 openssl/x509/enum.ExtKeyUsage.html create mode 100644 openssl/x509/enum.KeyUsage.html create mode 100644 openssl/x509/enum.X509FileType.html create mode 100644 openssl/x509/enum.X509ValidationError.html create mode 100644 openssl/x509/index.html create mode 100644 openssl/x509/sidebar-items.js create mode 100644 openssl/x509/struct.SslString.html create mode 100644 openssl/x509/struct.X509.html create mode 100644 openssl/x509/struct.X509Generator.html create mode 100644 openssl/x509/struct.X509Name.html create mode 100644 openssl/x509/struct.X509NameEntry.html create mode 100644 openssl/x509/struct.X509Req.html create mode 100644 openssl/x509/struct.X509StoreContext.html (limited to 'openssl') diff --git a/openssl/asn1/index.html b/openssl/asn1/index.html new file mode 100644 index 0000000..68795fc --- /dev/null +++ b/openssl/asn1/index.html @@ -0,0 +1,110 @@ + + + + + + + + + + openssl::asn1 - Rust + + + + + + + + + + + + + + + +
+

Module openssl::asn1 + + [] + + [src]

+

Structs

+ + + + + +
Asn1Time + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/asn1/sidebar-items.js b/openssl/asn1/sidebar-items.js new file mode 100644 index 0000000..2236f02 --- /dev/null +++ b/openssl/asn1/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"struct":[["Asn1Time",""]]}); \ No newline at end of file diff --git a/openssl/asn1/struct.Asn1Time.html b/openssl/asn1/struct.Asn1Time.html new file mode 100644 index 0000000..ccd0ee8 --- /dev/null +++ b/openssl/asn1/struct.Asn1Time.html @@ -0,0 +1,110 @@ + + + + + + + + + + openssl::asn1::Asn1Time - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::asn1::Asn1Time + + [] + + [src]

+
pub struct Asn1Time {
+    // some fields omitted
+}

Methods

impl Asn1Time

fn new(handle: *mut ASN1_TIME) -> Asn1Time

+

Wraps existing ASN1_TIME and takes ownership

+

fn days_from_now(days: u32) -> Result<Asn1Time, SslError>

+

Creates a new time on specified interval in days from now

+

unsafe fn get_handle(&self) -> *mut ASN1_TIME

+

Returns raw handle

+

Trait Implementations

impl Drop for Asn1Time

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/bio/index.html b/openssl/bio/index.html new file mode 100644 index 0000000..71b00fc --- /dev/null +++ b/openssl/bio/index.html @@ -0,0 +1,110 @@ + + + + + + + + + + openssl::bio - Rust + + + + + + + + + + + + + + + +
+

Module openssl::bio + + [] + + [src]

+

Structs

+ + + + + +
MemBio + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/bio/sidebar-items.js b/openssl/bio/sidebar-items.js new file mode 100644 index 0000000..a651329 --- /dev/null +++ b/openssl/bio/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"struct":[["MemBio",""]]}); \ No newline at end of file diff --git a/openssl/bio/struct.MemBio.html b/openssl/bio/struct.MemBio.html new file mode 100644 index 0000000..1e44abf --- /dev/null +++ b/openssl/bio/struct.MemBio.html @@ -0,0 +1,131 @@ + + + + + + + + + + openssl::bio::MemBio - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::bio::MemBio + + [] + + [src]

+
pub struct MemBio {
+    // some fields omitted
+}

Methods

impl MemBio

fn new() -> Result<MemBio, SslError>

+

Creates a new owned memory based BIO

+

fn borrowed(bio: *mut BIO) -> MemBio

+

Returns a "borrow", i.e. it has no ownership

+

unsafe fn unwrap(self) -> *mut BIO

+

Consumes current bio and returns wrapped value +Note that data ownership is lost and +should be managed manually

+

unsafe fn get_handle(&self) -> *mut BIO

+

Temporarily gets wrapped value

+

fn set_eof(&self, eof: bool)

+

Sets the BIO's EOF state.

+

Trait Implementations

impl Drop for MemBio

fn drop(&mut self)

+

impl Read for MemBio

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

+

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

+

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

+

fn by_ref(&mut self) -> &mut Self

+

fn bytes(self) -> Bytes<Self>

+

fn chars(self) -> Chars<Self>

+

fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read

+

fn take(self, limit: u64) -> Take<Self>

+

fn tee<W>(self, out: W) -> Tee<Self, W> where W: Write

+

impl Write for MemBio

fn write(&mut self, buf: &[u8]) -> Result<usize>

+

fn flush(&mut self) -> Result<()>

+

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

+

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

+

fn by_ref(&mut self) -> &mut Self

+

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/bn/enum.RNGProperty.html b/openssl/bn/enum.RNGProperty.html new file mode 100644 index 0000000..ba36772 --- /dev/null +++ b/openssl/bn/enum.RNGProperty.html @@ -0,0 +1,108 @@ + + + + + + + + + + openssl::bn::RNGProperty - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::bn::RNGProperty + + [] + + [src]

+
pub enum RNGProperty {
+    MsbMaybeZero,
+    MsbOne,
+    TwoMsbOne,
+}

Variants

+
MsbMaybeZero
MsbOne
TwoMsbOne

Trait Implementations

Derived Implementations

impl Clone for RNGProperty

fn clone(&self) -> RNGProperty

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for RNGProperty

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/bn/index.html b/openssl/bn/index.html new file mode 100644 index 0000000..08f352a --- /dev/null +++ b/openssl/bn/index.html @@ -0,0 +1,128 @@ + + + + + + + + + + openssl::bn - Rust + + + + + + + + + + + + + + + +
+

Module openssl::bn + + [] + + [src]

+

Modules

+ + + + + +
unchecked + +

Structs

+ + + + + +
BigNum + +

Enums

+ + + + + +
RNGProperty + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/bn/sidebar-items.js b/openssl/bn/sidebar-items.js new file mode 100644 index 0000000..f0cc87e --- /dev/null +++ b/openssl/bn/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["RNGProperty",""]],"mod":[["unchecked",""]],"struct":[["BigNum",""]]}); \ No newline at end of file diff --git a/openssl/bn/struct.BigNum.html b/openssl/bn/struct.BigNum.html new file mode 100644 index 0000000..994b5fe --- /dev/null +++ b/openssl/bn/struct.BigNum.html @@ -0,0 +1,177 @@ + + + + + + + + + + openssl::bn::BigNum - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::bn::BigNum + + [] + + [src]

+
pub struct BigNum(_);

Methods

impl BigNum

fn new() -> Result<BigNum, SslError>

+

fn new_from(n: u64) -> Result<BigNum, SslError>

+

fn from_dec_str(s: &str) -> Result<BigNum, SslError>

+

fn from_hex_str(s: &str) -> Result<BigNum, SslError>

+

fn new_from_slice(n: &[u8]) -> Result<BigNum, SslError>

+

fn checked_sqr(&self) -> Result<BigNum, SslError>

+

fn checked_nnmod(&self, n: &BigNum) -> Result<BigNum, SslError>

+

fn checked_mod_add(&self, a: &BigNum, n: &BigNum) -> Result<BigNum, SslError>

+

fn checked_mod_sub(&self, a: &BigNum, n: &BigNum) -> Result<BigNum, SslError>

+

fn checked_mod_mul(&self, a: &BigNum, n: &BigNum) -> Result<BigNum, SslError>

+

fn checked_mod_sqr(&self, n: &BigNum) -> Result<BigNum, SslError>

+

fn checked_exp(&self, p: &BigNum) -> Result<BigNum, SslError>

+

fn checked_mod_exp(&self, p: &BigNum, n: &BigNum) -> Result<BigNum, SslError>

+

fn checked_mod_inv(&self, n: &BigNum) -> Result<BigNum, SslError>

+

fn add_word(&mut self, w: c_ulong) -> Result<(), SslError>

+

fn sub_word(&mut self, w: c_ulong) -> Result<(), SslError>

+

fn mul_word(&mut self, w: c_ulong) -> Result<(), SslError>

+

fn div_word(&mut self, w: c_ulong) -> Result<c_ulong, SslError>

+

fn mod_word(&self, w: c_ulong) -> Result<c_ulong, SslError>

+

fn checked_gcd(&self, a: &BigNum) -> Result<BigNum, SslError>

+

fn checked_generate_prime(bits: i32, safe: bool, add: Option<&BigNum>, rem: Option<&BigNum>) -> Result<BigNum, SslError>

+

fn is_prime(&self, checks: i32) -> Result<bool, SslError>

+

fn is_prime_fast(&self, checks: i32, do_trial_division: bool) -> Result<bool, SslError>

+

fn checked_new_random(bits: i32, prop: RNGProperty, odd: bool) -> Result<BigNum, SslError>

+

fn checked_new_pseudo_random(bits: i32, prop: RNGProperty, odd: bool) -> Result<BigNum, SslError>

+

fn checked_rand_in_range(&self) -> Result<BigNum, SslError>

+

fn checked_pseudo_rand_in_range(&self) -> Result<BigNum, SslError>

+

fn set_bit(&mut self, n: i32) -> Result<(), SslError>

+

fn clear_bit(&mut self, n: i32) -> Result<(), SslError>

+

fn is_bit_set(&self, n: i32) -> bool

+

fn mask_bits(&mut self, n: i32) -> Result<(), SslError>

+

fn checked_shl1(&self) -> Result<BigNum, SslError>

+

fn checked_shr1(&self) -> Result<BigNum, SslError>

+

fn checked_add(&self, a: &BigNum) -> Result<BigNum, SslError>

+

fn checked_sub(&self, a: &BigNum) -> Result<BigNum, SslError>

+

fn checked_mul(&self, a: &BigNum) -> Result<BigNum, SslError>

+

fn checked_div(&self, a: &BigNum) -> Result<BigNum, SslError>

+

fn checked_mod(&self, a: &BigNum) -> Result<BigNum, SslError>

+

fn checked_shl(&self, a: &i32) -> Result<BigNum, SslError>

+

fn checked_shr(&self, a: &i32) -> Result<BigNum, SslError>

+

fn negate(&mut self)

+

fn abs_cmp(&self, oth: BigNum) -> Ordering

+

fn is_negative(&self) -> bool

+

fn num_bits(&self) -> i32

+

fn num_bytes(&self) -> i32

+

fn to_vec(&self) -> Vec<u8>

+

fn to_dec_str(&self) -> String

+

fn to_hex_str(&self) -> String

+

Trait Implementations

impl<'a> Add<&'a BigNum> for &'a BigNum

type Output = BigNum

+

fn add(self, oth: &'a BigNum) -> BigNum

+

impl<'a> Sub<&'a BigNum> for &'a BigNum

type Output = BigNum

+

fn sub(self, oth: &'a BigNum) -> BigNum

+

impl<'a> Mul<&'a BigNum> for &'a BigNum

type Output = BigNum

+

fn mul(self, oth: &'a BigNum) -> BigNum

+

impl<'a> Div<&'a BigNum> for &'a BigNum

type Output = BigNum

+

fn div(self, oth: &'a BigNum) -> BigNum

+

impl<'a> Rem<&'a BigNum> for &'a BigNum

type Output = BigNum

+

fn rem(self, oth: &'a BigNum) -> BigNum

+

impl<'a> Shl<i32> for &'a BigNum

type Output = BigNum

+

fn shl(self, n: i32) -> BigNum

+

impl<'a> Shr<i32> for &'a BigNum

type Output = BigNum

+

fn shr(self, n: i32) -> BigNum

+

impl Clone for BigNum

fn clone(&self) -> BigNum

+

fn clone_from(&mut self, source: &Self)

+

impl Neg for BigNum

type Output = BigNum

+

fn neg(self) -> BigNum

+

impl Debug for BigNum

fn fmt(&self, f: &mut Formatter) -> Result

+

impl Eq for BigNum

impl PartialEq for BigNum

fn eq(&self, oth: &BigNum) -> bool

+

fn ne(&self, other: &Rhs) -> bool

+

impl Ord for BigNum

fn cmp(&self, oth: &BigNum) -> Ordering

+

impl PartialOrd for BigNum

fn partial_cmp(&self, oth: &BigNum) -> Option<Ordering>

+

fn lt(&self, other: &Rhs) -> bool

+

fn le(&self, other: &Rhs) -> bool

+

fn gt(&self, other: &Rhs) -> bool

+

fn ge(&self, other: &Rhs) -> bool

+

impl Drop for BigNum

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/bn/unchecked/index.html b/openssl/bn/unchecked/index.html new file mode 100644 index 0000000..b29ca8d --- /dev/null +++ b/openssl/bn/unchecked/index.html @@ -0,0 +1,101 @@ + + + + + + + + + + openssl::bn::unchecked - Rust + + + + + + + + + + + + + + + +
+

Module openssl::bn::unchecked + + [] + + [src]

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/bn/unchecked/sidebar-items.js b/openssl/bn/unchecked/sidebar-items.js new file mode 100644 index 0000000..48333d3 --- /dev/null +++ b/openssl/bn/unchecked/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({}); \ No newline at end of file diff --git a/openssl/crypto/hash/enum.Type.html b/openssl/crypto/hash/enum.Type.html new file mode 100644 index 0000000..96a9520 --- /dev/null +++ b/openssl/crypto/hash/enum.Type.html @@ -0,0 +1,117 @@ + + + + + + + + + + openssl::crypto::hash::Type - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::crypto::hash::Type + + [] + + [src]

+
pub enum Type {
+    MD5,
+    SHA1,
+    SHA224,
+    SHA256,
+    SHA384,
+    SHA512,
+    RIPEMD160,
+}

Message digest (hash) type.

+

Variants

+
MD5
SHA1
SHA224
SHA256
SHA384
SHA512
RIPEMD160

Methods

impl Type

fn md_len(&self) -> usize

+

Returns the length of the message digest.

+

fn evp_md(&self) -> *const EVP_MD

+

Internal interface subject to removal.

+

Trait Implementations

Derived Implementations

impl Clone for Type

fn clone(&self) -> Type

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for Type

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/hash/fn.hash.html b/openssl/crypto/hash/fn.hash.html new file mode 100644 index 0000000..b1f951b --- /dev/null +++ b/openssl/crypto/hash/fn.hash.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::crypto::hash::hash - Rust + + + + + + + + + + + + + + + +
+

Function openssl::crypto::hash::hash + + [] + + [src]

+
pub fn hash(t: Type, data: &[u8]) -> Vec<u8>

Computes the hash of the data with the hash t.

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/hash/index.html b/openssl/crypto/hash/index.html new file mode 100644 index 0000000..08ea32d --- /dev/null +++ b/openssl/crypto/hash/index.html @@ -0,0 +1,131 @@ + + + + + + + + + + openssl::crypto::hash - Rust + + + + + + + + + + + + + + + +
+

Module openssl::crypto::hash + + [] + + [src]

+

Structs

+ + + + + +
Hasher +

Provides message digest (hash) computation.

+ +

Enums

+ + + + + +
Type +

Message digest (hash) type.

+ +

Functions

+ + + + + +
hash +

Computes the hash of the data with the hash t.

+ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/hash/sidebar-items.js b/openssl/crypto/hash/sidebar-items.js new file mode 100644 index 0000000..d747b7b --- /dev/null +++ b/openssl/crypto/hash/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["Type","Message digest (hash) type."]],"fn":[["hash","Computes the hash of the `data` with the hash `t`."]],"struct":[["Hasher","Provides message digest (hash) computation."]]}); \ No newline at end of file diff --git a/openssl/crypto/hash/struct.Hasher.html b/openssl/crypto/hash/struct.Hasher.html new file mode 100644 index 0000000..63de6bc --- /dev/null +++ b/openssl/crypto/hash/struct.Hasher.html @@ -0,0 +1,148 @@ + + + + + + + + + + openssl::crypto::hash::Hasher - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::crypto::hash::Hasher + + [] + + [src]

+
pub struct Hasher {
+    // some fields omitted
+}

Provides message digest (hash) computation.

+ +

Examples

+

Calculate a hash in one go.

+
+use openssl::crypto::hash::{hash, Type};
+let data = b"\x42\xF4\x97\xE0";
+let spec = b"\x7c\x43\x0f\x17\x8a\xef\xdf\x14\x87\xfe\xe7\x14\x4e\x96\x41\xe2";
+let res = hash(Type::MD5, data);
+assert_eq!(res, spec);
+
+ +

Use the Write trait to supply the input in chunks.

+
+use std::io::prelude::*;
+use openssl::crypto::hash::{Hasher, Type};
+let data = [b"\x42\xF4", b"\x97\xE0"];
+let spec = b"\x7c\x43\x0f\x17\x8a\xef\xdf\x14\x87\xfe\xe7\x14\x4e\x96\x41\xe2";
+let mut h = Hasher::new(Type::MD5);
+h.write_all(data[0]);
+h.write_all(data[1]);
+let res = h.finish();
+assert_eq!(res, spec);
+
+ +

Warning

+

Don't actually use MD5 and SHA-1 hashes, they're not secure anymore.

+ +

Don't ever hash passwords, use crypto::pkcs5 or bcrypt/scrypt instead.

+

Methods

impl Hasher

fn new(ty: Type) -> Hasher

+

Creates a new Hasher with the specified hash type.

+

fn finish(&mut self) -> Vec<u8>

+

Returns the hash of the data written since creation or +the last finish and resets the hasher.

+

Trait Implementations

impl Write for Hasher

fn write(&mut self, buf: &[u8]) -> Result<usize>

+

fn flush(&mut self) -> Result<()>

+

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

+

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

+

fn by_ref(&mut self) -> &mut Self

+

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write

+

impl Clone for Hasher

fn clone(&self) -> Hasher

+

fn clone_from(&mut self, source: &Self)

+

impl Drop for Hasher

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/hmac/fn.hmac.html b/openssl/crypto/hmac/fn.hmac.html new file mode 100644 index 0000000..a9af0d5 --- /dev/null +++ b/openssl/crypto/hmac/fn.hmac.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::crypto::hmac::hmac - Rust + + + + + + + + + + + + + + + +
+

Function openssl::crypto::hmac::hmac + + [] + + [src]

+
pub fn hmac(t: Type, key: &[u8], data: &[u8]) -> Vec<u8>

Computes the HMAC of the data with the hash t and key.

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/hmac/index.html b/openssl/crypto/hmac/index.html new file mode 100644 index 0000000..b00fe49 --- /dev/null +++ b/openssl/crypto/hmac/index.html @@ -0,0 +1,121 @@ + + + + + + + + + + openssl::crypto::hmac - Rust + + + + + + + + + + + + + + + +
+

Module openssl::crypto::hmac + + [] + + [src]

+

Structs

+ + + + + +
HMAC +

Provides HMAC computation.

+ +

Functions

+ + + + + +
hmac +

Computes the HMAC of the data with the hash t and key.

+ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/hmac/sidebar-items.js b/openssl/crypto/hmac/sidebar-items.js new file mode 100644 index 0000000..eeb5a4b --- /dev/null +++ b/openssl/crypto/hmac/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["hmac","Computes the HMAC of the `data` with the hash `t` and `key`."]],"struct":[["HMAC","Provides HMAC computation."]]}); \ No newline at end of file diff --git a/openssl/crypto/hmac/struct.HMAC.html b/openssl/crypto/hmac/struct.HMAC.html new file mode 100644 index 0000000..4f062e2 --- /dev/null +++ b/openssl/crypto/hmac/struct.HMAC.html @@ -0,0 +1,146 @@ + + + + + + + + + + openssl::crypto::hmac::HMAC - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::crypto::hmac::HMAC + + [] + + [src]

+
pub struct HMAC {
+    // some fields omitted
+}

Provides HMAC computation.

+ +

Examples

+

Calculate a HMAC in one go.

+
+use openssl::crypto::hash::Type;
+use openssl::crypto::hmac::hmac;
+let key = b"Jefe";
+let data = b"what do ya want for nothing?";
+let spec = b"\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38";
+let res = hmac(Type::MD5, key, data);
+assert_eq!(res, spec);
+
+ +

Use the Write trait to supply the input in chunks.

+
+use std::io::prelude::*;
+use openssl::crypto::hash::Type;
+use openssl::crypto::hmac::HMAC;
+let key = b"Jefe";
+let data: &[&[u8]] = &[b"what do ya ", b"want for nothing?"];
+let spec = b"\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38";
+let mut h = HMAC::new(Type::MD5, &*key);
+h.write_all(data[0]);
+h.write_all(data[1]);
+let res = h.finish();
+assert_eq!(res, spec);
+
+

Methods

impl HMAC

fn new(ty: Type, key: &[u8]) -> HMAC

+

Creates a new HMAC with the specified hash type using the key.

+

fn finish(&mut self) -> Vec<u8>

+

Returns the hash of the data written since creation or +the last finish and resets the hasher.

+

Trait Implementations

impl Write for HMAC

fn write(&mut self, buf: &[u8]) -> Result<usize>

+

fn flush(&mut self) -> Result<()>

+

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

+

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

+

fn by_ref(&mut self) -> &mut Self

+

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write

+

impl Clone for HMAC

fn clone(&self) -> HMAC

+

fn clone_from(&mut self, source: &Self)

+

impl Drop for HMAC

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/index.html b/openssl/crypto/index.html new file mode 100644 index 0000000..ba9e434 --- /dev/null +++ b/openssl/crypto/index.html @@ -0,0 +1,158 @@ + + + + + + + + + + openssl::crypto - Rust + + + + + + + + + + + + + + + +
+

Module openssl::crypto + + [] + + [src]

+

Modules

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hash + +
hmac + +
memcmp + +
pkcs5 + +
pkey + +
rand + +
symm + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/memcmp/fn.eq.html b/openssl/crypto/memcmp/fn.eq.html new file mode 100644 index 0000000..5cea19f --- /dev/null +++ b/openssl/crypto/memcmp/fn.eq.html @@ -0,0 +1,110 @@ + + + + + + + + + + openssl::crypto::memcmp::eq - Rust + + + + + + + + + + + + + + + +
+

Function openssl::crypto::memcmp::eq + + [] + + [src]

+
pub fn eq(a: &[u8], b: &[u8]) -> bool

Returns true iff a and b contain the same bytes.

+ +

This operation takes an amount of time dependent on the length of the two +arrays given, but is independent of the contents of a and b.

+ +

Failure

+

This function will panic the current task if a and b do not have the same +length.

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/memcmp/index.html b/openssl/crypto/memcmp/index.html new file mode 100644 index 0000000..928df1a --- /dev/null +++ b/openssl/crypto/memcmp/index.html @@ -0,0 +1,111 @@ + + + + + + + + + + openssl::crypto::memcmp - Rust + + + + + + + + + + + + + + + +
+

Module openssl::crypto::memcmp + + [] + + [src]

+

Functions

+ + + + + +
eq +

Returns true iff a and b contain the same bytes.

+ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/memcmp/sidebar-items.js b/openssl/crypto/memcmp/sidebar-items.js new file mode 100644 index 0000000..f393da7 --- /dev/null +++ b/openssl/crypto/memcmp/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["eq","Returns `true` iff `a` and `b` contain the same bytes."]]}); \ No newline at end of file diff --git a/openssl/crypto/pkcs5/fn.pbkdf2_hmac_sha1.html b/openssl/crypto/pkcs5/fn.pbkdf2_hmac_sha1.html new file mode 100644 index 0000000..2977476 --- /dev/null +++ b/openssl/crypto/pkcs5/fn.pbkdf2_hmac_sha1.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::crypto::pkcs5::pbkdf2_hmac_sha1 - Rust + + + + + + + + + + + + + + + +
+

Function openssl::crypto::pkcs5::pbkdf2_hmac_sha1 + + [] + + [src]

+
pub fn pbkdf2_hmac_sha1(pass: &str, salt: &[u8], iter: usize, keylen: usize) -> Vec<u8>

Derives a key from a password and salt using the PBKDF2-HMAC-SHA1 algorithm.

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/pkcs5/index.html b/openssl/crypto/pkcs5/index.html new file mode 100644 index 0000000..f67af6f --- /dev/null +++ b/openssl/crypto/pkcs5/index.html @@ -0,0 +1,111 @@ + + + + + + + + + + openssl::crypto::pkcs5 - Rust + + + + + + + + + + + + + + + +
+

Module openssl::crypto::pkcs5 + + [] + + [src]

+

Functions

+ + + + + +
pbkdf2_hmac_sha1 +

Derives a key from a password and salt using the PBKDF2-HMAC-SHA1 algorithm.

+ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/pkcs5/sidebar-items.js b/openssl/crypto/pkcs5/sidebar-items.js new file mode 100644 index 0000000..d5c3b45 --- /dev/null +++ b/openssl/crypto/pkcs5/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["pbkdf2_hmac_sha1","Derives a key from a password and salt using the PBKDF2-HMAC-SHA1 algorithm."]]}); \ No newline at end of file diff --git a/openssl/crypto/pkey/enum.EncryptionPadding.html b/openssl/crypto/pkey/enum.EncryptionPadding.html new file mode 100644 index 0000000..f9871ce --- /dev/null +++ b/openssl/crypto/pkey/enum.EncryptionPadding.html @@ -0,0 +1,108 @@ + + + + + + + + + + openssl::crypto::pkey::EncryptionPadding - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::crypto::pkey::EncryptionPadding + + [] + + [src]

+
pub enum EncryptionPadding {
+    OAEP,
+    PKCS1v15,
+}

Type of encryption padding to use.

+

Variants

+
OAEP
PKCS1v15

Trait Implementations

Derived Implementations

impl Clone for EncryptionPadding

fn clone(&self) -> EncryptionPadding

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for EncryptionPadding

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/pkey/enum.Parts.html b/openssl/crypto/pkey/enum.Parts.html new file mode 100644 index 0000000..a35fdfa --- /dev/null +++ b/openssl/crypto/pkey/enum.Parts.html @@ -0,0 +1,108 @@ + + + + + + + + + + openssl::crypto::pkey::Parts - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::crypto::pkey::Parts + + [] + + [src]

+
pub enum Parts {
+    Neither,
+    Public,
+    Both,
+}

Variants

+
Neither
Public
Both

Trait Implementations

Derived Implementations

impl Clone for Parts

fn clone(&self) -> Parts

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for Parts

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/pkey/enum.Role.html b/openssl/crypto/pkey/enum.Role.html new file mode 100644 index 0000000..953ef47 --- /dev/null +++ b/openssl/crypto/pkey/enum.Role.html @@ -0,0 +1,110 @@ + + + + + + + + + + openssl::crypto::pkey::Role - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::crypto::pkey::Role + + [] + + [src]

+
pub enum Role {
+    Encrypt,
+    Decrypt,
+    Sign,
+    Verify,
+}

Represents a role an asymmetric key might be appropriate for.

+

Variants

+
Encrypt
Decrypt
Sign
Verify

Trait Implementations

Derived Implementations

impl Clone for Role

fn clone(&self) -> Role

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for Role

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/pkey/index.html b/openssl/crypto/pkey/index.html new file mode 100644 index 0000000..f3a9320 --- /dev/null +++ b/openssl/crypto/pkey/index.html @@ -0,0 +1,137 @@ + + + + + + + + + + openssl::crypto::pkey - Rust + + + + + + + + + + + + + + + +
+

Module openssl::crypto::pkey + + [] + + [src]

+

Structs

+ + + + + +
PKey + +

Enums

+ + + + + + + + + + + + + + + +
EncryptionPadding +

Type of encryption padding to use.

+ +
Parts + +
Role +

Represents a role an asymmetric key might be appropriate for.

+ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/pkey/sidebar-items.js b/openssl/crypto/pkey/sidebar-items.js new file mode 100644 index 0000000..8bab8a4 --- /dev/null +++ b/openssl/crypto/pkey/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["EncryptionPadding","Type of encryption padding to use."],["Parts",""],["Role","Represents a role an asymmetric key might be appropriate for."]],"struct":[["PKey",""]]}); \ No newline at end of file diff --git a/openssl/crypto/pkey/struct.PKey.html b/openssl/crypto/pkey/struct.PKey.html new file mode 100644 index 0000000..88638be --- /dev/null +++ b/openssl/crypto/pkey/struct.PKey.html @@ -0,0 +1,153 @@ + + + + + + + + + + openssl::crypto::pkey::PKey - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::crypto::pkey::PKey + + [] + + [src]

+
pub struct PKey {
+    // some fields omitted
+}

Methods

impl PKey

Represents a public key, optionally with a private key attached.

+

fn new() -> PKey

+

fn from_handle(handle: *mut EVP_PKEY, parts: Parts) -> PKey

+

fn private_key_from_pem<R>(reader: &mut R) -> Result<PKey, SslError> where R: Read

+

Reads private key from PEM, takes ownership of handle

+

fn gen(&mut self, keysz: usize)

+

fn save_pub(&self) -> Vec<u8>

+

Returns a serialized form of the public key, suitable for load_pub().

+

fn load_pub(&mut self, s: &[u8])

+

Loads a serialized form of the public key, as produced by save_pub().

+

fn save_priv(&self) -> Vec<u8>

+

Returns a serialized form of the public and private keys, suitable for +load_priv().

+

fn load_priv(&mut self, s: &[u8])

+

Loads a serialized form of the public and private keys, as produced by +save_priv().

+

fn write_pem<W: Write>(&self, writer: &mut W) -> Result<(), SslError>

+

Stores private key as a PEM

+

fn size(&self) -> usize

+

Returns the size of the public key modulus.

+

fn can(&self, r: Role) -> bool

+

Returns whether this pkey object can perform the specified role.

+

fn max_data(&self) -> usize

+

Returns the maximum amount of data that can be encrypted by an encrypt() +call.

+

fn encrypt_with_padding(&self, s: &[u8], padding: EncryptionPadding) -> Vec<u8>

+

fn decrypt_with_padding(&self, s: &[u8], padding: EncryptionPadding) -> Vec<u8>

+

fn encrypt(&self, s: &[u8]) -> Vec<u8>

+

Encrypts data using OAEP padding, returning the encrypted data. The +supplied data must not be larger than max_data().

+

fn decrypt(&self, s: &[u8]) -> Vec<u8>

+

Decrypts data, expecting OAEP padding, returning the decrypted data.

+

fn sign(&self, s: &[u8]) -> Vec<u8>

+

Signs data, using OpenSSL's default scheme and adding sha256 ASN.1 information to the +signature. +The bytes to sign must be the result of a sha256 hashing; +returns the signature.

+

fn verify(&self, h: &[u8], s: &[u8]) -> bool

+

Verifies a signature s (using OpenSSL's default scheme and sha256) on the SHA256 hash of a +message. +Returns true if the signature is valid, and false otherwise.

+

fn sign_with_hash(&self, s: &[u8], hash: Type) -> Vec<u8>

+

Signs data, using OpenSSL's default scheme and add ASN.1 information for the given hash type to the +signature. +The bytes to sign must be the result of this type of hashing; +returns the signature.

+

fn verify_with_hash(&self, h: &[u8], s: &[u8], hash: Type) -> bool

+

unsafe fn get_handle(&self) -> *mut EVP_PKEY

+

fn public_eq(&self, other: &PKey) -> bool

+

Trait Implementations

impl Drop for PKey

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/rand/fn.rand_bytes.html b/openssl/crypto/rand/fn.rand_bytes.html new file mode 100644 index 0000000..5737d04 --- /dev/null +++ b/openssl/crypto/rand/fn.rand_bytes.html @@ -0,0 +1,101 @@ + + + + + + + + + + openssl::crypto::rand::rand_bytes - Rust + + + + + + + + + + + + + + + +
+

Function openssl::crypto::rand::rand_bytes + + [] + + [src]

+
pub fn rand_bytes(len: usize) -> Vec<u8>
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/rand/index.html b/openssl/crypto/rand/index.html new file mode 100644 index 0000000..781df1d --- /dev/null +++ b/openssl/crypto/rand/index.html @@ -0,0 +1,110 @@ + + + + + + + + + + openssl::crypto::rand - Rust + + + + + + + + + + + + + + + +
+

Module openssl::crypto::rand + + [] + + [src]

+

Functions

+ + + + + +
rand_bytes + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/rand/sidebar-items.js b/openssl/crypto/rand/sidebar-items.js new file mode 100644 index 0000000..cb4fd37 --- /dev/null +++ b/openssl/crypto/rand/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["rand_bytes",""]]}); \ No newline at end of file diff --git a/openssl/crypto/sidebar-items.js b/openssl/crypto/sidebar-items.js new file mode 100644 index 0000000..a489f37 --- /dev/null +++ b/openssl/crypto/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"mod":[["hash",""],["hmac",""],["memcmp",""],["pkcs5",""],["pkey",""],["rand",""],["symm",""]]}); \ No newline at end of file diff --git a/openssl/crypto/symm/enum.Mode.html b/openssl/crypto/symm/enum.Mode.html new file mode 100644 index 0000000..6358109 --- /dev/null +++ b/openssl/crypto/symm/enum.Mode.html @@ -0,0 +1,107 @@ + + + + + + + + + + openssl::crypto::symm::Mode - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::crypto::symm::Mode + + [] + + [src]

+
pub enum Mode {
+    Encrypt,
+    Decrypt,
+}

Variants

+
Encrypt
Decrypt

Trait Implementations

Derived Implementations

impl Clone for Mode

fn clone(&self) -> Mode

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for Mode

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/symm/enum.Type.html b/openssl/crypto/symm/enum.Type.html new file mode 100644 index 0000000..5ebf03c --- /dev/null +++ b/openssl/crypto/symm/enum.Type.html @@ -0,0 +1,110 @@ + + + + + + + + + + openssl::crypto::symm::Type - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::crypto::symm::Type + + [] + + [src]

+
pub enum Type {
+    AES_128_ECB,
+    AES_128_CBC,
+    AES_256_ECB,
+    AES_256_CBC,
+    RC4_128,
+}

Variants

+
AES_128_ECB
AES_128_CBC
AES_256_ECB
AES_256_CBC
RC4_128

Trait Implementations

Derived Implementations

impl Clone for Type

fn clone(&self) -> Type

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for Type

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/symm/fn.decrypt.html b/openssl/crypto/symm/fn.decrypt.html new file mode 100644 index 0000000..2a4f6d9 --- /dev/null +++ b/openssl/crypto/symm/fn.decrypt.html @@ -0,0 +1,103 @@ + + + + + + + + + + openssl::crypto::symm::decrypt - Rust + + + + + + + + + + + + + + + +
+

Function openssl::crypto::symm::decrypt + + [] + + [src]

+
pub fn decrypt<T: AsRef<[u8]>>(t: Type, key: &[u8], iv: T, data: &[u8]) -> Vec<u8>

Decrypts data, using the specified crypter type in decrypt mode with the +specified key and iv; returns the resulting (decrypted) data.

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/symm/fn.encrypt.html b/openssl/crypto/symm/fn.encrypt.html new file mode 100644 index 0000000..ce19357 --- /dev/null +++ b/openssl/crypto/symm/fn.encrypt.html @@ -0,0 +1,103 @@ + + + + + + + + + + openssl::crypto::symm::encrypt - Rust + + + + + + + + + + + + + + + +
+

Function openssl::crypto::symm::encrypt + + [] + + [src]

+
pub fn encrypt<T: AsRef<[u8]>>(t: Type, key: &[u8], iv: T, data: &[u8]) -> Vec<u8>

Encrypts data, using the specified crypter type in encrypt mode with the +specified key and iv; returns the resulting (encrypted) data.

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/symm/index.html b/openssl/crypto/symm/index.html new file mode 100644 index 0000000..9980d1c --- /dev/null +++ b/openssl/crypto/symm/index.html @@ -0,0 +1,149 @@ + + + + + + + + + + openssl::crypto::symm - Rust + + + + + + + + + + + + + + + +
+

Module openssl::crypto::symm + + [] + + [src]

+

Structs

+ + + + + +
Crypter +

Represents a symmetric cipher context.

+ +

Enums

+ + + + + + + + + + +
Mode + +
Type + +

Functions

+ + + + + + + + + + +
decrypt +

Decrypts data, using the specified crypter type in decrypt mode with the +specified key and iv; returns the resulting (decrypted) data.

+ +
encrypt +

Encrypts data, using the specified crypter type in encrypt mode with the +specified key and iv; returns the resulting (encrypted) data.

+ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/crypto/symm/sidebar-items.js b/openssl/crypto/symm/sidebar-items.js new file mode 100644 index 0000000..4f24c16 --- /dev/null +++ b/openssl/crypto/symm/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["Mode",""],["Type",""]],"fn":[["decrypt","Decrypts data, using the specified crypter type in decrypt mode with the specified key and iv; returns the resulting (decrypted) data."],["encrypt","Encrypts data, using the specified crypter type in encrypt mode with the specified key and iv; returns the resulting (encrypted) data."]],"struct":[["Crypter","Represents a symmetric cipher context."]]}); \ No newline at end of file diff --git a/openssl/crypto/symm/struct.Crypter.html b/openssl/crypto/symm/struct.Crypter.html new file mode 100644 index 0000000..de2b90b --- /dev/null +++ b/openssl/crypto/symm/struct.Crypter.html @@ -0,0 +1,116 @@ + + + + + + + + + + openssl::crypto::symm::Crypter - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::crypto::symm::Crypter + + [] + + [src]

+
pub struct Crypter {
+    // some fields omitted
+}

Represents a symmetric cipher context.

+

Methods

impl Crypter

fn new(t: Type) -> Crypter

+

fn pad(&self, padding: bool)

+

Enables or disables padding. If padding is disabled, total amount of +data encrypted must be a multiple of block size.

+

fn init<T: AsRef<[u8]>>(&self, mode: Mode, key: &[u8], iv: T)

+

Initializes this crypter.

+

fn update(&self, data: &[u8]) -> Vec<u8>

+

Update this crypter with more data to encrypt or decrypt. Returns +encrypted or decrypted bytes.

+

fn finalize(&self) -> Vec<u8>

+

Finish crypting. Returns the remaining partial block of output, if any.

+

Trait Implementations

impl Drop for Crypter

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/index.html b/openssl/index.html new file mode 100644 index 0000000..b6767b4 --- /dev/null +++ b/openssl/index.html @@ -0,0 +1,158 @@ + + + + + + + + + + openssl - Rust + + + + + + + + + + + + + + + +
+

Crate openssl + + [] + + [src]

+

Modules

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
asn1 + +
bio + +
bn + +
crypto + +
nid + +
ssl + +
x509 + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/nid/enum.Nid.html b/openssl/nid/enum.Nid.html new file mode 100644 index 0000000..a5f89c4 --- /dev/null +++ b/openssl/nid/enum.Nid.html @@ -0,0 +1,270 @@ + + + + + + + + + + openssl::nid::Nid - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::nid::Nid + + [] + + [src]

+
pub enum Nid {
+    Undefined,
+    Rsadsi,
+    Pkcs,
+    MD2,
+    MD4,
+    MD5,
+    RC4,
+    RsaEncryption,
+    RSA_MD2,
+    RSA_MD5,
+    PBE_MD2_DES,
+    X500,
+    x509,
+    CN,
+    C,
+    L,
+    ST,
+    O,
+    OU,
+    RSA,
+    Pkcs7,
+    Pkcs7_data,
+    Pkcs7_signedData,
+    Pkcs7_envelopedData,
+    Pkcs7_signedAndEnvelopedData,
+    Pkcs7_digestData,
+    Pkcs7_encryptedData,
+    Pkcs3,
+    DhKeyAgreement,
+    DES_ECB,
+    DES_CFB,
+    DES_CBC,
+    DES_EDE,
+    DES_EDE3,
+    IDEA_CBC,
+    IDEA_ECB,
+    RC2_CBC,
+    RC2_ECB,
+    RC2_CFB,
+    RC2_OFB,
+    SHA,
+    RSA_SHA,
+    DES_EDE_CBC,
+    DES_EDE3_CBC,
+    DES_OFB,
+    IDEA_OFB,
+    Pkcs9,
+    Email,
+    UnstructuredName,
+    ContentType,
+    MessageDigest,
+    SigningTime,
+    CounterSignature,
+    UnstructuredAddress,
+    ExtendedCertificateAttributes,
+    Netscape,
+    NetscapeCertExtention,
+    NetscapeDatatype,
+    DES_EDE_CFB64,
+    DES_EDE3_CFB64,
+    DES_EDE_OFB64,
+    DES_EDE3_OFB64,
+    SHA1,
+    RSA_SHA1,
+    DSA_SHA,
+    DSA_OLD,
+    PBE_SHA1_RC2_64,
+    PBKDF2,
+    DSA_SHA1_OLD,
+    NetscapeCertType,
+    NetscapeBaseUrl,
+    NetscapeRevocationUrl,
+    NetscapeCARevocationUrl,
+    NetscapeRenewalUrl,
+    NetscapeCAPolicyUrl,
+    NetscapeSSLServerName,
+    NetscapeComment,
+    NetscapeCertSequence,
+    DESX_CBC,
+    ID_CE,
+    SubjectKeyIdentifier,
+    KeyUsage,
+    PrivateKeyUsagePeriod,
+    SubjectAltName,
+    IssuerAltName,
+    BasicConstraints,
+    CrlNumber,
+    CertificatePolicies,
+    AuthorityKeyIdentifier,
+    BF_CBC,
+    BF_ECB,
+    BF_OFB,
+    MDC2,
+    RSA_MDC2,
+    RC4_40,
+    RC2_40_CBC,
+    G,
+    S,
+    I,
+    UID,
+    CrlDistributionPoints,
+    RSA_NP_MD5,
+    SN,
+    T,
+    D,
+    CAST5_CBC,
+    CAST5_ECB,
+    CAST5_CFB,
+    CAST5_OFB,
+    PbeWithMD5AndCast5CBC,
+    DSA_SHA1,
+    MD5_SHA1,
+    RSA_SHA1_2,
+    DSA,
+    RIPEMD160,
+    RSA_RIPEMD160,
+    RC5_CBC,
+    RC5_ECB,
+    RC5_CFB,
+    RC5_OFB,
+    RLE,
+    ZLIB,
+    ExtendedKeyUsage,
+    PKIX,
+    ID_KP,
+    ServerAuth,
+    ClientAuth,
+    CodeSigning,
+    EmailProtection,
+    TimeStamping,
+    MsCodeInd,
+    MsCodeCom,
+    MsCtlSigh,
+    MsSGC,
+    MsEFS,
+    NsSGC,
+    DeltaCRL,
+    CRLReason,
+    InvalidityDate,
+    SXNetID,
+    Pkcs12,
+    PBE_SHA1_RC4_128,
+    PBE_SHA1_RC4_40,
+    PBE_SHA1_3DES,
+    PBE_SHA1_2DES,
+    PBE_SHA1_RC2_128,
+    PBE_SHA1_RC2_40,
+    KeyBag,
+    Pkcs8ShroudedKeyBag,
+    CertBag,
+    CrlBag,
+    SecretBag,
+    SafeContentsBag,
+    FriendlyName,
+    LocalKeyID,
+    X509Certificate,
+    SdsiCertificate,
+    X509Crl,
+    PBES2,
+    PBMAC1,
+    HmacWithSha1,
+    ID_QT_CPS,
+    ID_QT_UNOTICE,
+    RC2_64_CBC,
+    SMIMECaps,
+}

Variants

+
Undefined
Rsadsi
Pkcs
MD2
MD4
MD5
RC4
RsaEncryption
RSA_MD2
RSA_MD5
PBE_MD2_DES
X500
x509
CN
C
L
ST
O
OU
RSA
Pkcs7
Pkcs7_data
Pkcs7_signedData
Pkcs7_envelopedData
Pkcs7_signedAndEnvelopedData
Pkcs7_digestData
Pkcs7_encryptedData
Pkcs3
DhKeyAgreement
DES_ECB
DES_CFB
DES_CBC
DES_EDE
DES_EDE3
IDEA_CBC
IDEA_ECB
RC2_CBC
RC2_ECB
RC2_CFB
RC2_OFB
SHA
RSA_SHA
DES_EDE_CBC
DES_EDE3_CBC
DES_OFB
IDEA_OFB
Pkcs9
Email
UnstructuredName
ContentType
MessageDigest
SigningTime
CounterSignature
UnstructuredAddress
ExtendedCertificateAttributes
Netscape
NetscapeCertExtention
NetscapeDatatype
DES_EDE_CFB64
DES_EDE3_CFB64
DES_EDE_OFB64
DES_EDE3_OFB64
SHA1
RSA_SHA1
DSA_SHA
DSA_OLD
PBE_SHA1_RC2_64
PBKDF2
DSA_SHA1_OLD
NetscapeCertType
NetscapeBaseUrl
NetscapeRevocationUrl
NetscapeCARevocationUrl
NetscapeRenewalUrl
NetscapeCAPolicyUrl
NetscapeSSLServerName
NetscapeComment
NetscapeCertSequence
DESX_CBC
ID_CE
SubjectKeyIdentifier
KeyUsage
PrivateKeyUsagePeriod
SubjectAltName
IssuerAltName
BasicConstraints
CrlNumber
CertificatePolicies
AuthorityKeyIdentifier
BF_CBC
BF_ECB
BF_OFB
MDC2
RSA_MDC2
RC4_40
RC2_40_CBC
G
S
I
UID
CrlDistributionPoints
RSA_NP_MD5
SN
T
D
CAST5_CBC
CAST5_ECB
CAST5_CFB
CAST5_OFB
PbeWithMD5AndCast5CBC
DSA_SHA1
MD5_SHA1
RSA_SHA1_2
DSA
RIPEMD160
RSA_RIPEMD160
RC5_CBC
RC5_ECB
RC5_CFB
RC5_OFB
RLE
ZLIB
ExtendedKeyUsage
PKIX
ID_KP
ServerAuth
ClientAuth
CodeSigning
EmailProtection
TimeStamping
MsCodeInd
MsCodeCom
MsCtlSigh
MsSGC
MsEFS
NsSGC
DeltaCRL
CRLReason
InvalidityDate
SXNetID
Pkcs12
PBE_SHA1_RC4_128
PBE_SHA1_RC4_40
PBE_SHA1_3DES
PBE_SHA1_2DES
PBE_SHA1_RC2_128
PBE_SHA1_RC2_40
KeyBag
Pkcs8ShroudedKeyBag
CertBag
CrlBag
SecretBag
SafeContentsBag
FriendlyName
LocalKeyID
X509Certificate
SdsiCertificate
X509Crl
PBES2
PBMAC1
HmacWithSha1
ID_QT_CPS
ID_QT_UNOTICE
RC2_64_CBC
SMIMECaps

Trait Implementations

Derived Implementations

impl Clone for Nid

fn clone(&self) -> Nid

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for Nid

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/nid/index.html b/openssl/nid/index.html new file mode 100644 index 0000000..560e776 --- /dev/null +++ b/openssl/nid/index.html @@ -0,0 +1,110 @@ + + + + + + + + + + openssl::nid - Rust + + + + + + + + + + + + + + + +
+

Module openssl::nid + + [] + + [src]

+

Enums

+ + + + + +
Nid + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/nid/sidebar-items.js b/openssl/nid/sidebar-items.js new file mode 100644 index 0000000..cc1af5c --- /dev/null +++ b/openssl/nid/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["Nid",""]]}); \ No newline at end of file diff --git a/openssl/sidebar-items.js b/openssl/sidebar-items.js new file mode 100644 index 0000000..29ce6c4 --- /dev/null +++ b/openssl/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"mod":[["asn1",""],["bio",""],["bn",""],["crypto",""],["nid",""],["ssl",""],["x509",""]]}); \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_ALL.html b/openssl/ssl/constant.SSL_OP_ALL.html new file mode 100644 index 0000000..5bb062e --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_ALL.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_ALL - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_ALL + + [] + + [src]

+
pub const SSL_OP_ALL: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION.html b/openssl/ssl/constant.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION.html new file mode 100644 index 0000000..cd923aa --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION + + [] + + [src]

+
pub const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_CIPHER_SERVER_PREFERENCE.html b/openssl/ssl/constant.SSL_OP_CIPHER_SERVER_PREFERENCE.html new file mode 100644 index 0000000..439abc3 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_CIPHER_SERVER_PREFERENCE.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_CIPHER_SERVER_PREFERENCE - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_CIPHER_SERVER_PREFERENCE + + [] + + [src]

+
pub const SSL_OP_CIPHER_SERVER_PREFERENCE: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_CISCO_ANYCONNECT.html b/openssl/ssl/constant.SSL_OP_CISCO_ANYCONNECT.html new file mode 100644 index 0000000..615de9e --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_CISCO_ANYCONNECT.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_CISCO_ANYCONNECT - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_CISCO_ANYCONNECT + + [] + + [src]

+
pub const SSL_OP_CISCO_ANYCONNECT: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_COOKIE_EXCHANGE.html b/openssl/ssl/constant.SSL_OP_COOKIE_EXCHANGE.html new file mode 100644 index 0000000..1bcedb6 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_COOKIE_EXCHANGE.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_COOKIE_EXCHANGE - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_COOKIE_EXCHANGE + + [] + + [src]

+
pub const SSL_OP_COOKIE_EXCHANGE: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS.html b/openssl/ssl/constant.SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS.html new file mode 100644 index 0000000..6abbc71 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS + + [] + + [src]

+
pub const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_LEGACY_SERVER_CONNECT.html b/openssl/ssl/constant.SSL_OP_LEGACY_SERVER_CONNECT.html new file mode 100644 index 0000000..b694d40 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_LEGACY_SERVER_CONNECT.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_LEGACY_SERVER_CONNECT - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_LEGACY_SERVER_CONNECT + + [] + + [src]

+
pub const SSL_OP_LEGACY_SERVER_CONNECT: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER.html b/openssl/ssl/constant.SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER.html new file mode 100644 index 0000000..47e8c28 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER + + [] + + [src]

+
pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG.html b/openssl/ssl/constant.SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG.html new file mode 100644 index 0000000..a21f6ed --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG + + [] + + [src]

+
pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_COMPRESSION.html b/openssl/ssl/constant.SSL_OP_NO_COMPRESSION.html new file mode 100644 index 0000000..67840db --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_COMPRESSION.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_COMPRESSION - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_COMPRESSION + + [] + + [src]

+
pub const SSL_OP_NO_COMPRESSION: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_DTLSV1.html b/openssl/ssl/constant.SSL_OP_NO_DTLSV1.html new file mode 100644 index 0000000..b2ead0f --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_DTLSV1.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_DTLSV1 - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_DTLSV1 + + [] + + [src]

+
pub const SSL_OP_NO_DTLSV1: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_DTLSV1_2.html b/openssl/ssl/constant.SSL_OP_NO_DTLSV1_2.html new file mode 100644 index 0000000..2639181 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_DTLSV1_2.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_DTLSV1_2 - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_DTLSV1_2 + + [] + + [src]

+
pub const SSL_OP_NO_DTLSV1_2: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_QUERY_MTU.html b/openssl/ssl/constant.SSL_OP_NO_QUERY_MTU.html new file mode 100644 index 0000000..95390fd --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_QUERY_MTU.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_QUERY_MTU - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_QUERY_MTU + + [] + + [src]

+
pub const SSL_OP_NO_QUERY_MTU: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION.html b/openssl/ssl/constant.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION.html new file mode 100644 index 0000000..b4a912d --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION + + [] + + [src]

+
pub const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_SSLV2.html b/openssl/ssl/constant.SSL_OP_NO_SSLV2.html new file mode 100644 index 0000000..cada27f --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_SSLV2.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_SSLV2 - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_SSLV2 + + [] + + [src]

+
pub const SSL_OP_NO_SSLV2: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_SSLV3.html b/openssl/ssl/constant.SSL_OP_NO_SSLV3.html new file mode 100644 index 0000000..e9b1153 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_SSLV3.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_SSLV3 - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_SSLV3 + + [] + + [src]

+
pub const SSL_OP_NO_SSLV3: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_TICKET.html b/openssl/ssl/constant.SSL_OP_NO_TICKET.html new file mode 100644 index 0000000..c38cbed --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_TICKET.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_TICKET - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_TICKET + + [] + + [src]

+
pub const SSL_OP_NO_TICKET: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_TLSV1.html b/openssl/ssl/constant.SSL_OP_NO_TLSV1.html new file mode 100644 index 0000000..9dea3f5 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_TLSV1.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_TLSV1 - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_TLSV1 + + [] + + [src]

+
pub const SSL_OP_NO_TLSV1: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_TLSV1_1.html b/openssl/ssl/constant.SSL_OP_NO_TLSV1_1.html new file mode 100644 index 0000000..c1b9b93 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_TLSV1_1.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_TLSV1_1 - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_TLSV1_1 + + [] + + [src]

+
pub const SSL_OP_NO_TLSV1_1: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_NO_TLSV1_2.html b/openssl/ssl/constant.SSL_OP_NO_TLSV1_2.html new file mode 100644 index 0000000..d6b8e82 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_NO_TLSV1_2.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_NO_TLSV1_2 - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_NO_TLSV1_2 + + [] + + [src]

+
pub const SSL_OP_NO_TLSV1_2: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_SAFARI_ECDHE_ECDSA_BUG.html b/openssl/ssl/constant.SSL_OP_SAFARI_ECDHE_ECDSA_BUG.html new file mode 100644 index 0000000..3412de8 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_SAFARI_ECDHE_ECDSA_BUG.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_SAFARI_ECDHE_ECDSA_BUG - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_SAFARI_ECDHE_ECDSA_BUG + + [] + + [src]

+
pub const SSL_OP_SAFARI_ECDHE_ECDSA_BUG: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_SINGLE_DH_USE.html b/openssl/ssl/constant.SSL_OP_SINGLE_DH_USE.html new file mode 100644 index 0000000..9df82e2 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_SINGLE_DH_USE.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_SINGLE_DH_USE - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_SINGLE_DH_USE + + [] + + [src]

+
pub const SSL_OP_SINGLE_DH_USE: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_SINGLE_ECDH_USE.html b/openssl/ssl/constant.SSL_OP_SINGLE_ECDH_USE.html new file mode 100644 index 0000000..9793849 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_SINGLE_ECDH_USE.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_SINGLE_ECDH_USE - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_SINGLE_ECDH_USE + + [] + + [src]

+
pub const SSL_OP_SINGLE_ECDH_USE: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_SSLEAY_080_CLIENT_DH_BUG.html b/openssl/ssl/constant.SSL_OP_SSLEAY_080_CLIENT_DH_BUG.html new file mode 100644 index 0000000..763807e --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_SSLEAY_080_CLIENT_DH_BUG.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_SSLEAY_080_CLIENT_DH_BUG - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_SSLEAY_080_CLIENT_DH_BUG + + [] + + [src]

+
pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_TLSEXT_PADDING.html b/openssl/ssl/constant.SSL_OP_TLSEXT_PADDING.html new file mode 100644 index 0000000..47efeee --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_TLSEXT_PADDING.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_TLSEXT_PADDING - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_TLSEXT_PADDING + + [] + + [src]

+
pub const SSL_OP_TLSEXT_PADDING: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_TLS_BLOCK_PADDING_BUG.html b/openssl/ssl/constant.SSL_OP_TLS_BLOCK_PADDING_BUG.html new file mode 100644 index 0000000..ea5aad5 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_TLS_BLOCK_PADDING_BUG.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_TLS_BLOCK_PADDING_BUG - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_TLS_BLOCK_PADDING_BUG + + [] + + [src]

+
pub const SSL_OP_TLS_BLOCK_PADDING_BUG: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_TLS_D5_BUG.html b/openssl/ssl/constant.SSL_OP_TLS_D5_BUG.html new file mode 100644 index 0000000..6a1a359 --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_TLS_D5_BUG.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_TLS_D5_BUG - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_TLS_D5_BUG + + [] + + [src]

+
pub const SSL_OP_TLS_D5_BUG: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_OP_TLS_ROLLBACK_BUG.html b/openssl/ssl/constant.SSL_OP_TLS_ROLLBACK_BUG.html new file mode 100644 index 0000000..a2d167f --- /dev/null +++ b/openssl/ssl/constant.SSL_OP_TLS_ROLLBACK_BUG.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::SSL_OP_TLS_ROLLBACK_BUG - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_OP_TLS_ROLLBACK_BUG + + [] + + [src]

+
pub const SSL_OP_TLS_ROLLBACK_BUG: SslContextOptions = $ BitFlags {
+bits : $ value }
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_VERIFY_FAIL_IF_NO_PEER_CERT.html b/openssl/ssl/constant.SSL_VERIFY_FAIL_IF_NO_PEER_CERT.html new file mode 100644 index 0000000..ca0849d --- /dev/null +++ b/openssl/ssl/constant.SSL_VERIFY_FAIL_IF_NO_PEER_CERT.html @@ -0,0 +1,104 @@ + + + + + + + + + + openssl::ssl::SSL_VERIFY_FAIL_IF_NO_PEER_CERT - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_VERIFY_FAIL_IF_NO_PEER_CERT + + [] + + [src]

+
pub const SSL_VERIFY_FAIL_IF_NO_PEER_CERT: SslVerifyMode = $ BitFlags {
+bits : $ value }

/// Terminate handshake if client did not return a certificate. +/// Use together with SSL_VERIFY_PEER.

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_VERIFY_NONE.html b/openssl/ssl/constant.SSL_VERIFY_NONE.html new file mode 100644 index 0000000..681942f --- /dev/null +++ b/openssl/ssl/constant.SSL_VERIFY_NONE.html @@ -0,0 +1,103 @@ + + + + + + + + + + openssl::ssl::SSL_VERIFY_NONE - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_VERIFY_NONE + + [] + + [src]

+
pub const SSL_VERIFY_NONE: SslVerifyMode = $ BitFlags {
+bits : $ value }

/// Do not verify the server's certificate

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/constant.SSL_VERIFY_PEER.html b/openssl/ssl/constant.SSL_VERIFY_PEER.html new file mode 100644 index 0000000..8dfc675 --- /dev/null +++ b/openssl/ssl/constant.SSL_VERIFY_PEER.html @@ -0,0 +1,103 @@ + + + + + + + + + + openssl::ssl::SSL_VERIFY_PEER - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::SSL_VERIFY_PEER + + [] + + [src]

+
pub const SSL_VERIFY_PEER: SslVerifyMode = $ BitFlags {
+bits : $ value }

/// Verify that the server's certificate is trusted

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/enum.MaybeSslStream.html b/openssl/ssl/enum.MaybeSslStream.html new file mode 100644 index 0000000..99719a1 --- /dev/null +++ b/openssl/ssl/enum.MaybeSslStream.html @@ -0,0 +1,132 @@ + + + + + + + + + + openssl::ssl::MaybeSslStream - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::ssl::MaybeSslStream + + [] + + [src]

+
pub enum MaybeSslStream<S> where S: Read + Write {
+    Ssl(SslStream<S>),
+    Normal(S),
+}

A utility type to help in cases where the use of SSL is decided at runtime.

+

Variants

+
Ssl

A connection using SSL

+
Normal

A connection not using SSL

+

Methods

impl<S> MaybeSslStream<S> where S: Read + Write

fn get_ref(&self) -> &S

+

Returns a reference to the underlying stream.

+

fn get_mut(&mut self) -> &mut S

+

Returns a mutable reference to the underlying stream.

+ +

Warning

+

It is inadvisable to read from or write to the underlying stream.

+

Trait Implementations

impl<S> Read for MaybeSslStream<S> where S: Read + Write

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

+

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

+

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

+

fn by_ref(&mut self) -> &mut Self

+

fn bytes(self) -> Bytes<Self>

+

fn chars(self) -> Chars<Self>

+

fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read

+

fn take(self, limit: u64) -> Take<Self>

+

fn tee<W>(self, out: W) -> Tee<Self, W> where W: Write

+

impl<S> Write for MaybeSslStream<S> where S: Read + Write

fn write(&mut self, buf: &[u8]) -> Result<usize>

+

fn flush(&mut self) -> Result<()>

+

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

+

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

+

fn by_ref(&mut self) -> &mut Self

+

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write

+

Derived Implementations

impl<S: Debug> Debug for MaybeSslStream<S> where S: Read + Write, S: Debug, S: Debug

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/enum.SslMethod.html b/openssl/ssl/enum.SslMethod.html new file mode 100644 index 0000000..941eac8 --- /dev/null +++ b/openssl/ssl/enum.SslMethod.html @@ -0,0 +1,120 @@ + + + + + + + + + + openssl::ssl::SslMethod - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::ssl::SslMethod + + [] + + [src]

+
pub enum SslMethod {
+    Sslv23,
+    Sslv3,
+    Tlsv1,
+}

Determines the SSL method supported

+

Variants

+
Sslv23

Support the SSLv2, SSLv3 and TLSv1 protocols.

+
Sslv3

Only support the SSLv3 protocol.

+
Tlsv1

Only support the TLSv1 protocol.

+

Methods

impl SslMethod

fn is_dtls(&self) -> bool

+

fn is_dtlsv1(&self) -> bool

+

fn is_dtlsv1_2(&self) -> bool

+

Trait Implementations

Derived Implementations

impl Eq for SslMethod

impl PartialEq for SslMethod

fn eq(&self, __arg_0: &SslMethod) -> bool

+

fn ne(&self, __arg_0: &SslMethod) -> bool

+

impl Hash for SslMethod

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

+

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher

+

impl Debug for SslMethod

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+

impl Clone for SslMethod

fn clone(&self) -> SslMethod

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for SslMethod

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/error/enum.OpensslError.html b/openssl/ssl/error/enum.OpensslError.html new file mode 100644 index 0000000..ea81de3 --- /dev/null +++ b/openssl/ssl/error/enum.OpensslError.html @@ -0,0 +1,120 @@ + + + + + + + + + + openssl::ssl::error::OpensslError - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::ssl::error::OpensslError + + [] + + [src]

+
pub enum OpensslError {
+    UnknownError {
+        library: String,
+        function: String,
+        reason: String,
+    },
+}

An error from the OpenSSL library

+

Variants

+
UnknownError

An unknown error

+

Fields

+ +
library

The library reporting the error

+
function

The function reporting the error

+
reason

The reason for the error

+

Trait Implementations

Derived Implementations

impl Eq for OpensslError

impl PartialEq for OpensslError

fn eq(&self, __arg_0: &OpensslError) -> bool

+

fn ne(&self, __arg_0: &OpensslError) -> bool

+

impl Clone for OpensslError

fn clone(&self) -> OpensslError

+

fn clone_from(&mut self, source: &Self)

+

impl Debug for OpensslError

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/error/enum.SslError.html b/openssl/ssl/error/enum.SslError.html new file mode 100644 index 0000000..d201d68 --- /dev/null +++ b/openssl/ssl/error/enum.SslError.html @@ -0,0 +1,119 @@ + + + + + + + + + + openssl::ssl::error::SslError - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::ssl::error::SslError + + [] + + [src]

+
pub enum SslError {
+    StreamError(Error),
+    SslSessionClosed,
+    OpenSslErrors(Vec<OpensslError>),
+}

An SSL error

+

Variants

+
StreamError

The underlying stream reported an error

+
SslSessionClosed

The SSL session has been closed by the other end

+
OpenSslErrors

An error in the OpenSSL library

+

Methods

impl SslError

fn get() -> SslError

+

Creates a new OpenSslErrors with the current contents of the error +stack.

+

fn from_error(err: c_ulong) -> SslError

+

Creates an SslError from the raw numeric error code.

+

Trait Implementations

impl Display for SslError

fn fmt(&self, fmt: &mut Formatter) -> Result

+

impl Error for SslError

fn description(&self) -> &str

+

fn cause(&self) -> Option<&Error>

+

Derived Implementations

impl Debug for SslError

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/error/index.html b/openssl/ssl/error/index.html new file mode 100644 index 0000000..8b80ea3 --- /dev/null +++ b/openssl/ssl/error/index.html @@ -0,0 +1,121 @@ + + + + + + + + + + openssl::ssl::error - Rust + + + + + + + + + + + + + + + +
+

Module openssl::ssl::error + + [] + + [src]

+

Reexports

+
pub use self::SslError::*;
pub use self::OpensslError::*;

Enums

+ + + + + + + + + + +
OpensslError +

An error from the OpenSSL library

+ +
SslError +

An SSL error

+ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/error/sidebar-items.js b/openssl/ssl/error/sidebar-items.js new file mode 100644 index 0000000..df0c1b7 --- /dev/null +++ b/openssl/ssl/error/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["OpensslError","An error from the OpenSSL library"],["SslError","An SSL error"]]}); \ No newline at end of file diff --git a/openssl/ssl/index.html b/openssl/ssl/index.html new file mode 100644 index 0000000..c6441b3 --- /dev/null +++ b/openssl/ssl/index.html @@ -0,0 +1,446 @@ + + + + + + + + + + openssl::ssl - Rust + + + + + + + + + + + + + + + +
+

Module openssl::ssl + + [] + + [src]

+

Modules

+ + + + + +
error + +

Structs

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Ssl + +
SslContext +

An SSL context object

+ +
SslContextOptions + +
SslStream +

A stream wrapper which handles SSL encryption for an underlying stream.

+ +
SslVerifyMode + +

Enums

+ + + + + + + + + + +
MaybeSslStream +

A utility type to help in cases where the use of SSL is decided at runtime.

+ +
SslMethod +

Determines the SSL method supported

+ +

Constants

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SSL_OP_ALL + +
SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION + +
SSL_OP_CIPHER_SERVER_PREFERENCE + +
SSL_OP_CISCO_ANYCONNECT + +
SSL_OP_COOKIE_EXCHANGE + +
SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS + +
SSL_OP_LEGACY_SERVER_CONNECT + +
SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER + +
SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG + +
SSL_OP_NO_COMPRESSION + +
SSL_OP_NO_DTLSV1 + +
SSL_OP_NO_DTLSV1_2 + +
SSL_OP_NO_QUERY_MTU + +
SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION + +
SSL_OP_NO_SSLV2 + +
SSL_OP_NO_SSLV3 + +
SSL_OP_NO_TICKET + +
SSL_OP_NO_TLSV1 + +
SSL_OP_NO_TLSV1_1 + +
SSL_OP_NO_TLSV1_2 + +
SSL_OP_SAFARI_ECDHE_ECDSA_BUG + +
SSL_OP_SINGLE_DH_USE + +
SSL_OP_SINGLE_ECDH_USE + +
SSL_OP_SSLEAY_080_CLIENT_DH_BUG + +
SSL_OP_TLSEXT_PADDING + +
SSL_OP_TLS_BLOCK_PADDING_BUG + +
SSL_OP_TLS_D5_BUG + +
SSL_OP_TLS_ROLLBACK_BUG + +
SSL_VERIFY_FAIL_IF_NO_PEER_CERT +

/// Terminate handshake if client did not return a certificate. +/// Use together with SSL_VERIFY_PEER.

+ +
SSL_VERIFY_NONE +

/// Do not verify the server's certificate

+ +
SSL_VERIFY_PEER +

/// Verify that the server's certificate is trusted

+ +

Type Definitions

+ + + + + + + + + + +
VerifyCallback +

The signature of functions that can be used to manually verify certificates

+ +
VerifyCallbackData +

The signature of functions that can be used to manually verify certificates +when user-data should be carried for all verification process

+ +

Implementations

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/sidebar-items.js b/openssl/ssl/sidebar-items.js new file mode 100644 index 0000000..b5412a6 --- /dev/null +++ b/openssl/ssl/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"constant":[["SSL_OP_ALL",""],["SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION",""],["SSL_OP_CIPHER_SERVER_PREFERENCE",""],["SSL_OP_CISCO_ANYCONNECT",""],["SSL_OP_COOKIE_EXCHANGE",""],["SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS",""],["SSL_OP_LEGACY_SERVER_CONNECT",""],["SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER",""],["SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG",""],["SSL_OP_NO_COMPRESSION",""],["SSL_OP_NO_DTLSV1",""],["SSL_OP_NO_DTLSV1_2",""],["SSL_OP_NO_QUERY_MTU",""],["SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION",""],["SSL_OP_NO_SSLV2",""],["SSL_OP_NO_SSLV3",""],["SSL_OP_NO_TICKET",""],["SSL_OP_NO_TLSV1",""],["SSL_OP_NO_TLSV1_1",""],["SSL_OP_NO_TLSV1_2",""],["SSL_OP_SAFARI_ECDHE_ECDSA_BUG",""],["SSL_OP_SINGLE_DH_USE",""],["SSL_OP_SINGLE_ECDH_USE",""],["SSL_OP_SSLEAY_080_CLIENT_DH_BUG",""],["SSL_OP_TLSEXT_PADDING",""],["SSL_OP_TLS_BLOCK_PADDING_BUG",""],["SSL_OP_TLS_D5_BUG",""],["SSL_OP_TLS_ROLLBACK_BUG",""],["SSL_VERIFY_FAIL_IF_NO_PEER_CERT","/// Terminate handshake if client did not return a certificate. /// Use together with SSL_VERIFY_PEER."],["SSL_VERIFY_NONE","/// Do not verify the server's certificate"],["SSL_VERIFY_PEER","/// Verify that the server's certificate is trusted"]],"enum":[["MaybeSslStream","A utility type to help in cases where the use of SSL is decided at runtime."],["SslMethod","Determines the SSL method supported"]],"mod":[["error",""]],"struct":[["Ssl",""],["SslContext","An SSL context object"],["SslContextOptions",""],["SslStream","A stream wrapper which handles SSL encryption for an underlying stream."],["SslVerifyMode",""]],"type":[["VerifyCallback","The signature of functions that can be used to manually verify certificates"],["VerifyCallbackData","The signature of functions that can be used to manually verify certificates when user-data should be carried for all verification process"]]}); \ No newline at end of file diff --git a/openssl/ssl/struct.Ssl.html b/openssl/ssl/struct.Ssl.html new file mode 100644 index 0000000..336353b --- /dev/null +++ b/openssl/ssl/struct.Ssl.html @@ -0,0 +1,111 @@ + + + + + + + + + + openssl::ssl::Ssl - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::ssl::Ssl + + [] + + [src]

+
pub struct Ssl {
+    // some fields omitted
+}

Methods

impl Ssl

fn new(ctx: &SslContext) -> Result<Ssl, SslError>

+

fn set_hostname(&self, hostname: &str) -> Result<(), SslError>

+

Set the host name to be used with SNI (Server Name Indication).

+

fn get_peer_certificate(&self) -> Option<X509>

+

fn pending(&self) -> usize

+

pending() takes into account only bytes from the TLS/SSL record that is currently being processed (if any).

+

Trait Implementations

impl Send for Ssl

impl Sync for Ssl

impl Debug for Ssl

fn fmt(&self, fmt: &mut Formatter) -> Result

+

impl Drop for Ssl

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/struct.SslContext.html b/openssl/ssl/struct.SslContext.html new file mode 100644 index 0000000..b41db15 --- /dev/null +++ b/openssl/ssl/struct.SslContext.html @@ -0,0 +1,135 @@ + + + + + + + + + + openssl::ssl::SslContext - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::ssl::SslContext + + [] + + [src]

+
pub struct SslContext {
+    // some fields omitted
+}

An SSL context object

+

Methods

impl SslContext

fn new(method: SslMethod) -> Result<SslContext, SslError>

+

Creates a new SSL context.

+

fn set_verify(&mut self, mode: SslVerifyMode, verify: Option<VerifyCallback>)

+

Configures the certificate verification method for new connections.

+

fn set_verify_with_data<T>(&mut self, mode: SslVerifyMode, verify: VerifyCallbackData<T>, data: T) where T: Any + 'static

+

Configures the certificate verification method for new connections also +carrying supplied data.

+

fn set_verify_depth(&mut self, depth: u32)

+

Sets verification depth

+

fn set_read_ahead(&self, m: u32)

+

fn set_CA_file<P: AsRef<Path>>(&mut self, file: P) -> Result<(), SslError>

+

Specifies the file that contains trusted CA certificates.

+

fn set_certificate_file<P: AsRef<Path>>(&mut self, file: P, file_type: X509FileType) -> Result<(), SslError>

+

Specifies the file that contains certificate

+

fn set_certificate(&mut self, cert: &X509) -> Result<(), SslError>

+

Specifies the certificate

+

fn add_extra_chain_cert(&mut self, cert: &X509) -> Result<(), SslError>

+

Adds a certificate to the certificate chain presented together with the +certificate specified using set_certificate()

+

fn set_private_key_file<P: AsRef<Path>>(&mut self, file: P, file_type: X509FileType) -> Result<(), SslError>

+

Specifies the file that contains private key

+

fn set_private_key(&mut self, key: &PKey) -> Result<(), SslError>

+

Specifies the private key

+

fn check_private_key(&mut self) -> Result<(), SslError>

+

Check consistency of private key and certificate

+

fn set_cipher_list(&mut self, cipher_list: &str) -> Result<(), SslError>

+

fn set_options(&mut self, option: SslContextOptions) -> SslContextOptions

+

fn get_options(&mut self) -> SslContextOptions

+

fn clear_options(&mut self, option: SslContextOptions) -> SslContextOptions

+

Trait Implementations

impl Send for SslContext

impl Sync for SslContext

impl Debug for SslContext

fn fmt(&self, fmt: &mut Formatter) -> Result

+

impl Drop for SslContext

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/struct.SslContextOptions.html b/openssl/ssl/struct.SslContextOptions.html new file mode 100644 index 0000000..87b1ea8 --- /dev/null +++ b/openssl/ssl/struct.SslContextOptions.html @@ -0,0 +1,152 @@ + + + + + + + + + + openssl::ssl::SslContextOptions - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::ssl::SslContextOptions + + [] + + [src]

+
pub struct SslContextOptions {
+    // some fields omitted
+}

Methods

impl SslContextOptions

fn empty() -> SslContextOptions

+

Returns an empty set of flags.

+

fn all() -> SslContextOptions

+

Returns the set containing all flags.

+

fn bits(&self) -> c_long

+

Returns the raw value of the flags currently stored.

+

fn from_bits(bits: c_long) -> Option<SslContextOptions>

+

Convert from underlying bit representation, unless that +representation contains bits that do not correspond to a flag.

+

fn from_bits_truncate(bits: c_long) -> SslContextOptions

+

Convert from underlying bit representation, dropping any bits +that do not correspond to flags.

+

fn is_empty(&self) -> bool

+

Returns true if no flags are currently stored.

+

fn is_all(&self) -> bool

+

Returns true if all flags are currently set.

+

fn intersects(&self, other: SslContextOptions) -> bool

+

Returns true if there are flags common to both self and other.

+

fn contains(&self, other: SslContextOptions) -> bool

+

Returns true all of the flags in other are contained within self.

+

fn insert(&mut self, other: SslContextOptions)

+

Inserts the specified flags in-place.

+

fn remove(&mut self, other: SslContextOptions)

+

Removes the specified flags in-place.

+

fn toggle(&mut self, other: SslContextOptions)

+

Toggles the specified flags in-place.

+

Trait Implementations

impl Debug for SslContextOptions

fn fmt(&self, f: &mut Formatter) -> Result

+

impl BitOr for SslContextOptions

type Output = SslContextOptions

+

fn bitor(self, other: SslContextOptions) -> SslContextOptions

+

impl BitXor for SslContextOptions

type Output = SslContextOptions

+

fn bitxor(self, other: SslContextOptions) -> SslContextOptions

+

impl BitAnd for SslContextOptions

type Output = SslContextOptions

+

fn bitand(self, other: SslContextOptions) -> SslContextOptions

+

impl Sub for SslContextOptions

type Output = SslContextOptions

+

fn sub(self, other: SslContextOptions) -> SslContextOptions

+

impl Not for SslContextOptions

type Output = SslContextOptions

+

fn not(self) -> SslContextOptions

+

Derived Implementations

impl Hash for SslContextOptions

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

+

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher

+

impl Ord for SslContextOptions

fn cmp(&self, __arg_0: &SslContextOptions) -> Ordering

+

impl PartialOrd for SslContextOptions

fn partial_cmp(&self, __arg_0: &SslContextOptions) -> Option<Ordering>

+

fn lt(&self, __arg_0: &SslContextOptions) -> bool

+

fn le(&self, __arg_0: &SslContextOptions) -> bool

+

fn gt(&self, __arg_0: &SslContextOptions) -> bool

+

fn ge(&self, __arg_0: &SslContextOptions) -> bool

+

impl Clone for SslContextOptions

fn clone(&self) -> SslContextOptions

+

fn clone_from(&mut self, source: &Self)

+

impl Eq for SslContextOptions

impl PartialEq for SslContextOptions

fn eq(&self, __arg_0: &SslContextOptions) -> bool

+

fn ne(&self, __arg_0: &SslContextOptions) -> bool

+

impl Copy for SslContextOptions

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/struct.SslStream.html b/openssl/ssl/struct.SslStream.html new file mode 100644 index 0000000..6e31889 --- /dev/null +++ b/openssl/ssl/struct.SslStream.html @@ -0,0 +1,148 @@ + + + + + + + + + + openssl::ssl::SslStream - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::ssl::SslStream + + [] + + [src]

+
pub struct SslStream<S> {
+    // some fields omitted
+}

A stream wrapper which handles SSL encryption for an underlying stream.

+

Methods

impl SslStream<TcpStream>

fn try_clone(&self) -> Result<SslStream<TcpStream>>

+

Create a new independently owned handle to the underlying socket.

+

impl<S: Read + Write> SslStream<S>

fn new_server_from(ssl: Ssl, stream: S) -> Result<SslStream<S>, SslError>

+

fn new_from(ssl: Ssl, stream: S) -> Result<SslStream<S>, SslError>

+

Attempts to create a new SSL stream from a given Ssl instance.

+

fn new(ctx: &SslContext, stream: S) -> Result<SslStream<S>, SslError>

+

Creates a new SSL stream

+

fn new_server(ctx: &SslContext, stream: S) -> Result<SslStream<S>, SslError>

+

Creates a new SSL server stream

+

fn get_ref(&self) -> &S

+

Returns a reference to the underlying stream.

+

fn get_peer_certificate(&self) -> Option<X509>

+

Return the certificate of the peer

+

fn get_mut(&mut self) -> &mut S

+

Returns a mutable reference to the underlying stream.

+ +

Warning

+

It is inadvisable to read from or write to the underlying stream as it +will most likely desynchronize the SSL session.

+

fn get_compression(&self) -> Option<String>

+

Get the compression currently in use. The result will be +either None, indicating no compression is in use, or a string +with the compression name.

+

fn pending(&self) -> usize

+

pending() takes into account only bytes from the TLS/SSL record that is currently being processed (if any).

+

Trait Implementations

impl<S> Debug for SslStream<S> where S: Debug

fn fmt(&self, fmt: &mut Formatter) -> Result

+

impl<S: Read + Write> Read for SslStream<S>

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

+

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

+

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

+

fn by_ref(&mut self) -> &mut Self

+

fn bytes(self) -> Bytes<Self>

+

fn chars(self) -> Chars<Self>

+

fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read

+

fn take(self, limit: u64) -> Take<Self>

+

fn tee<W>(self, out: W) -> Tee<Self, W> where W: Write

+

impl<S: Read + Write> Write for SslStream<S>

fn write(&mut self, buf: &[u8]) -> Result<usize>

+

fn flush(&mut self) -> Result<()>

+

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

+

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

+

fn by_ref(&mut self) -> &mut Self

+

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write

+

Derived Implementations

impl<S: Clone> Clone for SslStream<S> where S: Clone

fn clone(&self) -> SslStream<S>

+

fn clone_from(&mut self, source: &Self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/struct.SslVerifyMode.html b/openssl/ssl/struct.SslVerifyMode.html new file mode 100644 index 0000000..075559f --- /dev/null +++ b/openssl/ssl/struct.SslVerifyMode.html @@ -0,0 +1,152 @@ + + + + + + + + + + openssl::ssl::SslVerifyMode - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::ssl::SslVerifyMode + + [] + + [src]

+
pub struct SslVerifyMode {
+    // some fields omitted
+}

Methods

impl SslVerifyMode

fn empty() -> SslVerifyMode

+

Returns an empty set of flags.

+

fn all() -> SslVerifyMode

+

Returns the set containing all flags.

+

fn bits(&self) -> i32

+

Returns the raw value of the flags currently stored.

+

fn from_bits(bits: i32) -> Option<SslVerifyMode>

+

Convert from underlying bit representation, unless that +representation contains bits that do not correspond to a flag.

+

fn from_bits_truncate(bits: i32) -> SslVerifyMode

+

Convert from underlying bit representation, dropping any bits +that do not correspond to flags.

+

fn is_empty(&self) -> bool

+

Returns true if no flags are currently stored.

+

fn is_all(&self) -> bool

+

Returns true if all flags are currently set.

+

fn intersects(&self, other: SslVerifyMode) -> bool

+

Returns true if there are flags common to both self and other.

+

fn contains(&self, other: SslVerifyMode) -> bool

+

Returns true all of the flags in other are contained within self.

+

fn insert(&mut self, other: SslVerifyMode)

+

Inserts the specified flags in-place.

+

fn remove(&mut self, other: SslVerifyMode)

+

Removes the specified flags in-place.

+

fn toggle(&mut self, other: SslVerifyMode)

+

Toggles the specified flags in-place.

+

Trait Implementations

impl Debug for SslVerifyMode

fn fmt(&self, f: &mut Formatter) -> Result

+

impl BitOr for SslVerifyMode

type Output = SslVerifyMode

+

fn bitor(self, other: SslVerifyMode) -> SslVerifyMode

+

impl BitXor for SslVerifyMode

type Output = SslVerifyMode

+

fn bitxor(self, other: SslVerifyMode) -> SslVerifyMode

+

impl BitAnd for SslVerifyMode

type Output = SslVerifyMode

+

fn bitand(self, other: SslVerifyMode) -> SslVerifyMode

+

impl Sub for SslVerifyMode

type Output = SslVerifyMode

+

fn sub(self, other: SslVerifyMode) -> SslVerifyMode

+

impl Not for SslVerifyMode

type Output = SslVerifyMode

+

fn not(self) -> SslVerifyMode

+

Derived Implementations

impl Hash for SslVerifyMode

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

+

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher

+

impl Ord for SslVerifyMode

fn cmp(&self, __arg_0: &SslVerifyMode) -> Ordering

+

impl PartialOrd for SslVerifyMode

fn partial_cmp(&self, __arg_0: &SslVerifyMode) -> Option<Ordering>

+

fn lt(&self, __arg_0: &SslVerifyMode) -> bool

+

fn le(&self, __arg_0: &SslVerifyMode) -> bool

+

fn gt(&self, __arg_0: &SslVerifyMode) -> bool

+

fn ge(&self, __arg_0: &SslVerifyMode) -> bool

+

impl Clone for SslVerifyMode

fn clone(&self) -> SslVerifyMode

+

fn clone_from(&mut self, source: &Self)

+

impl Eq for SslVerifyMode

impl PartialEq for SslVerifyMode

fn eq(&self, __arg_0: &SslVerifyMode) -> bool

+

fn ne(&self, __arg_0: &SslVerifyMode) -> bool

+

impl Copy for SslVerifyMode

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/type.VerifyCallback.html b/openssl/ssl/type.VerifyCallback.html new file mode 100644 index 0000000..8319a1a --- /dev/null +++ b/openssl/ssl/type.VerifyCallback.html @@ -0,0 +1,102 @@ + + + + + + + + + + openssl::ssl::VerifyCallback - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::VerifyCallback + + [] + + [src]

+
type VerifyCallback = fn(preverify_ok: bool, x509_ctx: &X509StoreContext) -> bool;

The signature of functions that can be used to manually verify certificates

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/ssl/type.VerifyCallbackData.html b/openssl/ssl/type.VerifyCallbackData.html new file mode 100644 index 0000000..7ca96c4 --- /dev/null +++ b/openssl/ssl/type.VerifyCallbackData.html @@ -0,0 +1,103 @@ + + + + + + + + + + openssl::ssl::VerifyCallbackData - Rust + + + + + + + + + + + + + + + +
+

openssl::ssl::VerifyCallbackData + + [] + + [src]

+
type VerifyCallbackData<T> = fn(preverify_ok: bool, x509_ctx: &X509StoreContext, data: &T) -> bool;

The signature of functions that can be used to manually verify certificates +when user-data should be carried for all verification process

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/enum.ExtKeyUsage.html b/openssl/x509/enum.ExtKeyUsage.html new file mode 100644 index 0000000..de0467c --- /dev/null +++ b/openssl/x509/enum.ExtKeyUsage.html @@ -0,0 +1,116 @@ + + + + + + + + + + openssl::x509::ExtKeyUsage - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::x509::ExtKeyUsage + + [] + + [src]

+
pub enum ExtKeyUsage {
+    ServerAuth,
+    ClientAuth,
+    CodeSigning,
+    EmailProtection,
+    TimeStamping,
+    MsCodeInd,
+    MsCodeCom,
+    MsCtlSign,
+    MsSgc,
+    MsEfs,
+    NsSgc,
+}

Variants

+
ServerAuth
ClientAuth
CodeSigning
EmailProtection
TimeStamping
MsCodeInd
MsCodeCom
MsCtlSign
MsSgc
MsEfs
NsSgc

Trait Implementations

Derived Implementations

impl Copy for ExtKeyUsage

impl Clone for ExtKeyUsage

fn clone(&self) -> ExtKeyUsage

+

fn clone_from(&mut self, source: &Self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/enum.KeyUsage.html b/openssl/x509/enum.KeyUsage.html new file mode 100644 index 0000000..2e81a7f --- /dev/null +++ b/openssl/x509/enum.KeyUsage.html @@ -0,0 +1,114 @@ + + + + + + + + + + openssl::x509::KeyUsage - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::x509::KeyUsage + + [] + + [src]

+
pub enum KeyUsage {
+    DigitalSignature,
+    NonRepudiation,
+    KeyEncipherment,
+    DataEncipherment,
+    KeyAgreement,
+    KeyCertSign,
+    CRLSign,
+    EncipherOnly,
+    DecipherOnly,
+}

Variants

+
DigitalSignature
NonRepudiation
KeyEncipherment
DataEncipherment
KeyAgreement
KeyCertSign
CRLSign
EncipherOnly
DecipherOnly

Trait Implementations

Derived Implementations

impl Copy for KeyUsage

impl Clone for KeyUsage

fn clone(&self) -> KeyUsage

+

fn clone_from(&mut self, source: &Self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/enum.X509FileType.html b/openssl/x509/enum.X509FileType.html new file mode 100644 index 0000000..b740b38 --- /dev/null +++ b/openssl/x509/enum.X509FileType.html @@ -0,0 +1,108 @@ + + + + + + + + + + openssl::x509::X509FileType - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::x509::X509FileType + + [] + + [src]

+
pub enum X509FileType {
+    PEM,
+    ASN1,
+    Default,
+}

Variants

+
PEM
ASN1
Default

Trait Implementations

Derived Implementations

impl Clone for X509FileType

fn clone(&self) -> X509FileType

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for X509FileType

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/enum.X509ValidationError.html b/openssl/x509/enum.X509ValidationError.html new file mode 100644 index 0000000..785ee0c --- /dev/null +++ b/openssl/x509/enum.X509ValidationError.html @@ -0,0 +1,159 @@ + + + + + + + + + + openssl::x509::X509ValidationError - Rust + + + + + + + + + + + + + + + +
+

Enum openssl::x509::X509ValidationError + + [] + + [src]

+
pub enum X509ValidationError {
+    X509UnableToGetIssuerCert,
+    X509UnableToGetCrl,
+    X509UnableToDecryptCertSignature,
+    X509UnableToDecryptCrlSignature,
+    X509UnableToDecodeIssuerPublicKey,
+    X509CertSignatureFailure,
+    X509CrlSignatureFailure,
+    X509CertNotYetValid,
+    X509CertHasExpired,
+    X509CrlNotYetValid,
+    X509CrlHasExpired,
+    X509ErrorInCertNotBeforeField,
+    X509ErrorInCertNotAfterField,
+    X509ErrorInCrlLastUpdateField,
+    X509ErrorInCrlNextUpdateField,
+    X509OutOfMem,
+    X509DepthZeroSelfSignedCert,
+    X509SelfSignedCertInChain,
+    X509UnableToGetIssuerCertLocally,
+    X509UnableToVerifyLeafSignature,
+    X509CertChainTooLong,
+    X509CertRevoked,
+    X509InvalidCA,
+    X509PathLengthExceeded,
+    X509InvalidPurpose,
+    X509CertUntrusted,
+    X509CertRejected,
+    X509SubjectIssuerMismatch,
+    X509AkidSkidMismatch,
+    X509AkidIssuerSerialMismatch,
+    X509KeyusageNoCertsign,
+    X509UnableToGetCrlIssuer,
+    X509UnhandledCriticalExtension,
+    X509KeyusageNoCrlSign,
+    X509UnhandledCriticalCrlExtension,
+    X509InvalidNonCA,
+    X509ProxyPathLengthExceeded,
+    X509KeyusageNoDigitalSignature,
+    X509ProxyCertificatesNotAllowed,
+    X509InvalidExtension,
+    X509InavlidPolicyExtension,
+    X509NoExplicitPolicy,
+    X509DifferentCrlScope,
+    X509UnsupportedExtensionFeature,
+    X509UnnestedResource,
+    X509PermittedVolation,
+    X509ExcludedViolation,
+    X509SubtreeMinmax,
+    X509UnsupportedConstraintType,
+    X509UnsupportedConstraintSyntax,
+    X509UnsupportedNameSyntax,
+    X509CrlPathValidationError,
+    X509ApplicationVerification,
+    X509UnknownError(c_int),
+}

Variants

+
X509UnableToGetIssuerCert
X509UnableToGetCrl
X509UnableToDecryptCertSignature
X509UnableToDecryptCrlSignature
X509UnableToDecodeIssuerPublicKey
X509CertSignatureFailure
X509CrlSignatureFailure
X509CertNotYetValid
X509CertHasExpired
X509CrlNotYetValid
X509CrlHasExpired
X509ErrorInCertNotBeforeField
X509ErrorInCertNotAfterField
X509ErrorInCrlLastUpdateField
X509ErrorInCrlNextUpdateField
X509OutOfMem
X509DepthZeroSelfSignedCert
X509SelfSignedCertInChain
X509UnableToGetIssuerCertLocally
X509UnableToVerifyLeafSignature
X509CertChainTooLong
X509CertRevoked
X509InvalidCA
X509PathLengthExceeded
X509InvalidPurpose
X509CertUntrusted
X509CertRejected
X509SubjectIssuerMismatch
X509AkidSkidMismatch
X509AkidIssuerSerialMismatch
X509KeyusageNoCertsign
X509UnableToGetCrlIssuer
X509UnhandledCriticalExtension
X509KeyusageNoCrlSign
X509UnhandledCriticalCrlExtension
X509InvalidNonCA
X509ProxyPathLengthExceeded
X509KeyusageNoDigitalSignature
X509ProxyCertificatesNotAllowed
X509InvalidExtension
X509InavlidPolicyExtension
X509NoExplicitPolicy
X509DifferentCrlScope
X509UnsupportedExtensionFeature
X509UnnestedResource
X509PermittedVolation
X509ExcludedViolation
X509SubtreeMinmax
X509UnsupportedConstraintType
X509UnsupportedConstraintSyntax
X509UnsupportedNameSyntax
X509CrlPathValidationError
X509ApplicationVerification
X509UnknownError

Trait Implementations

Derived Implementations

impl Clone for X509ValidationError

fn clone(&self) -> X509ValidationError

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for X509ValidationError

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/index.html b/openssl/x509/index.html new file mode 100644 index 0000000..c8949af --- /dev/null +++ b/openssl/x509/index.html @@ -0,0 +1,194 @@ + + + + + + + + + + openssl::x509 - Rust + + + + + + + + + + + + + + + +
+

Module openssl::x509 + + [] + + [src]

+

Structs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SslString + +
X509 +

A public key certificate

+ +
X509Generator +

Generator of private key/certificate pairs

+ +
X509Name + +
X509NameEntry + +
X509Req +

A certificate signing request

+ +
X509StoreContext + +

Enums

+ + + + + + + + + + + + + + + + + + + + +
ExtKeyUsage + +
KeyUsage + +
X509FileType + +
X509ValidationError + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/sidebar-items.js b/openssl/x509/sidebar-items.js new file mode 100644 index 0000000..de3d235 --- /dev/null +++ b/openssl/x509/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["ExtKeyUsage",""],["KeyUsage",""],["X509FileType",""],["X509ValidationError",""]],"struct":[["SslString",""],["X509","A public key certificate"],["X509Generator","Generator of private key/certificate pairs"],["X509Name",""],["X509NameEntry",""],["X509Req","A certificate signing request"],["X509StoreContext",""]]}); \ No newline at end of file diff --git a/openssl/x509/struct.SslString.html b/openssl/x509/struct.SslString.html new file mode 100644 index 0000000..7d907a3 --- /dev/null +++ b/openssl/x509/struct.SslString.html @@ -0,0 +1,1170 @@ + + + + + + + + + + openssl::x509::SslString - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::x509::SslString + + [] + + [src]

+
pub struct SslString {
+    // some fields omitted
+}

Methods from Deref<Target=str>

fn len(&self) -> usize

+

Returns the length of self in bytes.

+ +

Examples

+assert_eq!("foo".len(), 3);
+assert_eq!("ƒoo".len(), 4); // fancy f!
+
+

fn is_empty(&self) -> bool

+

Returns true if this slice has a length of zero bytes.

+ +

Examples

+assert!("".is_empty());
+
+

fn width(&self, is_cjk: bool) -> usize

+
Deprecated since 1.0.0

: use the crates.io unicode-width library instead

+

Returns a string's displayed width in columns.

+ +

Control characters have zero width.

+ +

is_cjk determines behavior for characters in the Ambiguous category: +if is_cjk is +true, these are 2 columns wide; otherwise, they are 1. +In CJK locales, is_cjk should be +true, else it should be false. +Unicode Standard Annex #11 +recommends that these +characters be treated as 1 column (i.e., is_cjk = false) if the +locale is unknown.

+

fn is_char_boundary(&self, index: usize) -> bool

+
Unstable

: it is unclear whether this method pulls its weight with the existence of the char_indices iterator or this method may want to be replaced with checked slicing

+

Checks that index-th byte lies at the start and/or end of a +UTF-8 code point sequence.

+ +

The start and end of the string (when index == self.len()) are +considered to be +boundaries.

+ +

Panics

+

Panics if index is greater than self.len().

+ +

Examples

+let s = "Löwe 老虎 Léopard";
+assert!(s.is_char_boundary(0));
+// start of `老`
+assert!(s.is_char_boundary(6));
+assert!(s.is_char_boundary(s.len()));
+
+// second byte of `ö`
+assert!(!s.is_char_boundary(2));
+
+// third byte of `老`
+assert!(!s.is_char_boundary(8));
+
+

fn as_bytes(&self) -> &[u8]

+

Converts self to a byte slice.

+ +

Examples

+assert_eq!("bors".as_bytes(), b"bors");
+
+

fn as_ptr(&self) -> *const u8

+

Returns a raw pointer to the &str's buffer.

+ +

The caller must ensure that the string outlives this pointer, and +that it is not +reallocated (e.g. by pushing to the string).

+ +

Examples

+let s = "Hello";
+let p = s.as_ptr();
+
+

unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

+

Takes a bytewise slice from a string.

+ +

Returns the substring from [begin..end).

+ +

Unsafety

+

Caller must check both UTF-8 character boundaries and the boundaries +of the entire slice as +well.

+ +

Examples

+let s = "Löwe 老虎 Léopard";
+
+unsafe {
+    assert_eq!(s.slice_unchecked(0, 21), "Löwe 老虎 Léopard");
+}
+
+

fn slice_chars(&self, begin: usize, end: usize) -> &str

+
Unstable

: may have yet to prove its worth

+

Returns a slice of the string from the character range [begin..end).

+ +

That is, start at the begin-th code point of the string and continue +to the end-th code point. This does not detect or handle edge cases +such as leaving a combining character as the first code point of the +string.

+ +

Due to the design of UTF-8, this operation is O(end). Use slicing +syntax if you want to use byte indices rather than codepoint indices.

+ +

Panics

+

Panics if begin > end or the either begin or end are beyond the +last character of the string.

+ +

Examples

+let s = "Löwe 老虎 Léopard";
+
+assert_eq!(s.slice_chars(0, 4), "Löwe");
+assert_eq!(s.slice_chars(5, 7), "老虎");
+
+

fn char_range_at(&self, start: usize) -> CharRange

+
Unstable

: often replaced by char_indices, this method may be removed in favor of just char_at() or eventually removed altogether

+

Given a byte position, return the next char and its index.

+ +

This can be used to iterate over the Unicode characters of a string.

+ +

Panics

+

If i is greater than or equal to the length of the string. +If i is not the index of the beginning of a valid UTF-8 character.

+ +

Examples

+

This example manually iterates through the characters of a string; +this should normally be +done by .chars() or .char_indices().

+
+use std::str::CharRange;
+
+let s = "中华Việt Nam";
+let mut i = 0;
+while i < s.len() {
+    let CharRange {ch, next} = s.char_range_at(i);
+    println!("{}: {}", i, ch);
+    i = next;
+}
+
+ +

This outputs:

+ +
0: 中
+3: 华
+6: V
+7: i
+8: ệ
+11: t
+12:
+13: N
+14: a
+15: m
+
+

fn char_range_at_reverse(&self, start: usize) -> CharRange

+
Unstable

: often replaced by char_indices, this method may be removed in favor of just char_at_reverse() or eventually removed altogether

+

Given a byte position, return the previous char and its position.

+ +

This function can be used to iterate over a Unicode string in reverse.

+ +

Returns 0 for next index if called on start index 0.

+ +

Panics

+

If i is greater than the length of the string. +If i is not an index following a valid UTF-8 character.

+ +

Examples

+

This example manually iterates through the characters of a string; +this should normally be +done by .chars().rev() or .char_indices().

+
+use std::str::CharRange;
+
+let s = "中华Việt Nam";
+let mut i = s.len();
+while i > 0 {
+    let CharRange {ch, next} = s.char_range_at_reverse(i);
+    println!("{}: {}", i, ch);
+    i = next;
+}
+
+ +

This outputs:

+ +
16: m
+15: a
+14: N
+13:
+12: t
+11: ệ
+8: i
+7: V
+6: 华
+3: 中
+
+

fn char_at(&self, i: usize) -> char

+
Unstable

: frequently replaced by the chars() iterator, this method may be removed or possibly renamed in the future; it is normally replaced by chars/char_indices iterators or by getting the first char from a subslice

+

Given a byte position, return the char at that position.

+ +

Panics

+

If i is greater than or equal to the length of the string. +If i is not the index of the beginning of a valid UTF-8 character.

+ +

Examples

+let s = "abπc";
+assert_eq!(s.char_at(1), 'b');
+assert_eq!(s.char_at(2), 'π');
+
+

fn char_at_reverse(&self, i: usize) -> char

+
Unstable

: see char_at for more details, but reverse semantics are also somewhat unclear, especially with which cases generate panics

+

Given a byte position, return the char at that position, counting +from the end.

+ +

Panics

+

If i is greater than the length of the string. +If i is not an index following a valid UTF-8 character.

+ +

Examples

+let s = "abπc";
+assert_eq!(s.char_at_reverse(1), 'a');
+assert_eq!(s.char_at_reverse(2), 'b');
+
+

fn slice_shift_char(&self) -> Option<(char, &str)>

+
Unstable

: awaiting conventions about shifting and slices and may not be warranted with the existence of the chars and/or char_indices iterators

+

Retrieves the first character from a &str and returns it.

+ +

This does not allocate a new string; instead, it returns a slice that +points one character +beyond the character that was shifted.

+ +

If the slice does not contain any characters, None is returned instead.

+ +

Examples

+let s = "Löwe 老虎 Léopard";
+let (c, s1) = s.slice_shift_char().unwrap();
+
+assert_eq!(c, 'L');
+assert_eq!(s1, "öwe 老虎 Léopard");
+
+let (c, s2) = s1.slice_shift_char().unwrap();
+
+assert_eq!(c, 'ö');
+assert_eq!(s2, "we 老虎 Léopard");
+
+

fn split_at(&self, mid: usize) -> (&str, &str)

+
Unstable

: library is unlikely to be stabilized with the current layout and name, use std::collections instead

+

Divide one string slice into two at an index.

+ +

The index mid is a byte offset from the start of the string +that must be on a character boundary.

+ +

Return slices &self[..mid] and &self[mid..].

+ +

Panics

+

Panics if mid is beyond the last character of the string, +or if it is not on a character boundary.

+ +

Examples

+let s = "Löwe 老虎 Léopard";
+let first_space = s.find(' ').unwrap_or(s.len());
+let (a, b) = s.split_at(first_space);
+
+assert_eq!(a, "Löwe");
+assert_eq!(b, " 老虎 Léopard");
+
+

fn chars(&self) -> Chars

+

An iterator over the codepoints of self.

+ +

Examples

+let v: Vec<char> = "abc åäö".chars().collect();
+
+assert_eq!(v, ['a', 'b', 'c', ' ', 'å', 'ä', 'ö']);
+
+

fn char_indices(&self) -> CharIndices

+

An iterator over the characters of self and their byte offsets.

+ +

Examples

+let v: Vec<(usize, char)> = "abc".char_indices().collect();
+let b = vec![(0, 'a'), (1, 'b'), (2, 'c')];
+
+assert_eq!(v, b);
+
+

fn bytes(&self) -> Bytes

+

An iterator over the bytes of self.

+ +

Examples

+let v: Vec<u8> = "bors".bytes().collect();
+
+assert_eq!(v, b"bors".to_vec());
+
+

fn split_whitespace(&self) -> SplitWhitespace

+

An iterator over the non-empty substrings of self which contain no whitespace, +and which are separated by any amount of whitespace.

+ +

Examples

+let some_words = " Mary   had\ta little  \n\t lamb";
+let v: Vec<&str> = some_words.split_whitespace().collect();
+
+assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
+
+

fn words(&self) -> SplitWhitespace

+
Deprecated since 1.1.0

: words() will be removed. Use split_whitespace() instead

+

An iterator over the non-empty substrings of self which contain no whitespace, +and which are separated by any amount of whitespace.

+ +

Examples

+let some_words = " Mary   had\ta little  \n\t lamb";
+let v: Vec<&str> = some_words.words().collect();
+
+assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
+
+

fn lines(&self) -> Lines

+

An iterator over the lines of a string, separated by \n.

+ +

This does not include the empty string after a trailing \n.

+ +

Examples

+let four_lines = "foo\nbar\n\nbaz";
+let v: Vec<&str> = four_lines.lines().collect();
+
+assert_eq!(v, ["foo", "bar", "", "baz"]);
+
+ +

Leaving off the trailing character:

+
+let four_lines = "foo\nbar\n\nbaz\n";
+let v: Vec<&str> = four_lines.lines().collect();
+
+assert_eq!(v, ["foo", "bar", "", "baz"]);
+
+

fn lines_any(&self) -> LinesAny

+

An iterator over the lines of a string, separated by either +\n or \r\n.

+ +

As with .lines(), this does not include an empty trailing line.

+ +

Examples

+let four_lines = "foo\r\nbar\n\r\nbaz";
+let v: Vec<&str> = four_lines.lines_any().collect();
+
+assert_eq!(v, ["foo", "bar", "", "baz"]);
+
+ +

Leaving off the trailing character:

+
+let four_lines = "foo\r\nbar\n\r\nbaz\n";
+let v: Vec<&str> = four_lines.lines_any().collect();
+
+assert_eq!(v, ["foo", "bar", "", "baz"]);
+
+

fn nfd_chars(&self) -> Decompositions

+
Deprecated since 1.0.0

: use the crates.io unicode-normalization library instead

+

Returns an iterator over the string in Unicode Normalization Form D +(canonical decomposition).

+

fn nfkd_chars(&self) -> Decompositions

+
Deprecated since 1.0.0

: use the crates.io unicode-normalization library instead

+

Returns an iterator over the string in Unicode Normalization Form KD +(compatibility decomposition).

+

fn nfc_chars(&self) -> Recompositions

+
Deprecated since 1.0.0

: use the crates.io unicode-normalization library instead

+

An Iterator over the string in Unicode Normalization Form C +(canonical decomposition followed by canonical composition).

+

fn nfkc_chars(&self) -> Recompositions

+
Deprecated since 1.0.0

: use the crates.io unicode-normalization library instead

+

An Iterator over the string in Unicode Normalization Form KC +(compatibility decomposition followed by canonical composition).

+

fn graphemes(&self, is_extended: bool) -> Graphemes

+
Deprecated since 1.0.0

: use the crates.io unicode-segmentation library instead

+

Returns an iterator over the grapheme clusters of self.

+ +

If is_extended is true, the iterator is over the +extended grapheme clusters; +otherwise, the iterator is over the legacy grapheme clusters. +UAX#29 +recommends extended grapheme cluster boundaries for general processing.

+ +

Examples

+let gr1 = "a\u{310}e\u{301}o\u{308}\u{332}".graphemes(true).collect::<Vec<&str>>();
+let b: &[_] = &["a\u{310}", "e\u{301}", "o\u{308}\u{332}"];
+
+assert_eq!(&gr1[..], b);
+
+let gr2 = "a\r\nb🇷🇺🇸🇹".graphemes(true).collect::<Vec<&str>>();
+let b: &[_] = &["a", "\r\n", "b", "🇷🇺🇸🇹"];
+
+assert_eq!(&gr2[..], b);
+
+

fn grapheme_indices(&self, is_extended: bool) -> GraphemeIndices

+
Deprecated since 1.0.0

: use the crates.io unicode-segmentation library instead

+

Returns an iterator over the grapheme clusters of self and their +byte offsets. See +graphemes() for more information.

+ +

Examples

+let gr_inds = "a̐éö̲\r\n".grapheme_indices(true).collect::<Vec<(usize, &str)>>();
+let b: &[_] = &[(0, "a̐"), (3, "é"), (6, "ö̲"), (11, "\r\n")];
+
+assert_eq!(&gr_inds[..], b);
+
+

fn utf16_units(&self) -> Utf16Units

+
Unstable

: this functionality may only be provided by libunicode

+

Returns an iterator of u16 over the string encoded as UTF-16.

+

fn contains<'a, P>(&'a self, pat: P) -> bool where P: Pattern<'a>

+

Returns true if self contains another &str.

+ +

Examples

+assert!("bananas".contains("nana"));
+
+assert!(!"bananas".contains("foobar"));
+
+

fn starts_with<'a, P>(&'a self, pat: P) -> bool where P: Pattern<'a>

+

Returns true if the given &str is a prefix of the string.

+ +

Examples

+assert!("banana".starts_with("ba"));
+
+

fn ends_with<'a, P>(&'a self, pat: P) -> bool where P: Pattern<'a>, P::Searcher: ReverseSearcher<'a>

+

Returns true if the given &str is a suffix of the string.

+ +

Examples

+assert!("banana".ends_with("nana"));
+
+

fn find<'a, P>(&'a self, pat: P) -> Option<usize> where P: Pattern<'a>

+

Returns the byte index of the first character of self that matches +the pattern, if it +exists.

+ +

Returns None if it doesn't exist.

+ +

The pattern can be a simple &str, char, or a closure that +determines the +split.

+ +

Examples

+

Simple patterns:

+
+let s = "Löwe 老虎 Léopard";
+
+assert_eq!(s.find('L'), Some(0));
+assert_eq!(s.find('é'), Some(14));
+assert_eq!(s.find("Léopard"), Some(13));
+
+ +

More complex patterns with closures:

+
+let s = "Löwe 老虎 Léopard";
+
+assert_eq!(s.find(char::is_whitespace), Some(5));
+assert_eq!(s.find(char::is_lowercase), Some(1));
+
+ +

Not finding the pattern:

+
+let s = "Löwe 老虎 Léopard";
+let x: &[_] = &['1', '2'];
+
+assert_eq!(s.find(x), None);
+
+

fn rfind<'a, P>(&'a self, pat: P) -> Option<usize> where P: Pattern<'a>, P::Searcher: ReverseSearcher<'a>

+

Returns the byte index of the last character of self that +matches the pattern, if it +exists.

+ +

Returns None if it doesn't exist.

+ +

The pattern can be a simple &str, char, +or a closure that determines the split.

+ +

Examples

+

Simple patterns:

+
+let s = "Löwe 老虎 Léopard";
+
+assert_eq!(s.rfind('L'), Some(13));
+assert_eq!(s.rfind('é'), Some(14));
+
+ +

More complex patterns with closures:

+
+let s = "Löwe 老虎 Léopard";
+
+assert_eq!(s.rfind(char::is_whitespace), Some(12));
+assert_eq!(s.rfind(char::is_lowercase), Some(20));
+
+ +

Not finding the pattern:

+
+let s = "Löwe 老虎 Léopard";
+let x: &[_] = &['1', '2'];
+
+assert_eq!(s.rfind(x), None);
+
+

fn split<'a, P>(&'a self, pat: P) -> Split<'a, P> where P: Pattern<'a>

+

An iterator over substrings of self, separated by characters +matched by a pattern.

+ +

The pattern can be a simple &str, char, or a closure that +determines the split. Additional libraries might provide more complex +patterns like regular expressions.

+ +

Iterator behavior

+

The returned iterator will be double ended if the pattern allows a +reverse search and forward/reverse search yields the same elements. +This is true for, eg, char but not +for &str.

+ +

If the pattern allows a reverse search but its results might differ +from a forward search, rsplit() can be used.

+ +

Examples

+

Simple patterns:

+
+let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
+assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
+
+let v: Vec<&str> = "".split('X').collect();
+assert_eq!(v, [""]);
+
+let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
+assert_eq!(v, ["lion", "", "tiger", "leopard"]);
+
+let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
+assert_eq!(v, ["lion", "tiger", "leopard"]);
+
+let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
+assert_eq!(v, ["abc", "def", "ghi"]);
+
+let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
+assert_eq!(v, ["lion", "tiger", "leopard"]);
+
+ +

A more complex pattern, using a closure:

+
+let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
+assert_eq!(v, ["abc", "def", "ghi"]);
+
+ +

If a string contains multiple contiguous separators, you will end up +with empty strings in the output:

+
+let x = "||||a||b|c".to_string();
+let d: Vec<_> = x.split('|').collect();
+
+assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
+
+ +

This can lead to possibly surprising behavior when whitespace is used +as the separator. This code is correct:

+
+let x = "    a  b c".to_string();
+let d: Vec<_> = x.split(' ').collect();
+
+assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
+
+ +

It does not give you:

+
+assert_eq!(d, &["a", "b", "c"]);
+
+

fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P> where P: Pattern<'a>, P::Searcher: ReverseSearcher<'a>

+

An iterator over substrings of self, separated by characters +matched by a pattern and yielded in reverse order.

+ +

The pattern can be a simple &str, char, or a closure that +determines the split. +Additional libraries might provide more complex patterns like +regular expressions.

+ +

Iterator behavior

+

The returned iterator requires that the pattern supports a +reverse search, +and it will be double ended if a forward/reverse search yields +the same elements.

+ +

For iterating from the front, split() can be used.

+ +

Examples

+

Simple patterns:

+
+let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
+assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
+
+let v: Vec<&str> = "".rsplit('X').collect();
+assert_eq!(v, [""]);
+
+let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
+assert_eq!(v, ["leopard", "tiger", "", "lion"]);
+
+let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
+assert_eq!(v, ["leopard", "tiger", "lion"]);
+
+ +

A more complex pattern, using a closure:

+
+let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
+assert_eq!(v, ["ghi", "def", "abc"]);
+
+

fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P> where P: Pattern<'a>

+

An iterator over substrings of self, separated by characters +matched by a pattern.

+ +

The pattern can be a simple &str, char, or a closure that +determines the split. +Additional libraries might provide more complex patterns +like regular expressions.

+ +

Equivalent to split, except that the trailing substring +is skipped if empty.

+ +

This method can be used for string data that is terminated, +rather than separated by a pattern.

+ +

Iterator behavior

+

The returned iterator will be double ended if the pattern allows a +reverse search +and forward/reverse search yields the same elements. This is true +for, eg, char but not for &str.

+ +

If the pattern allows a reverse search but its results might differ +from a forward search, rsplit_terminator() can be used.

+ +

Examples

+let v: Vec<&str> = "A.B.".split_terminator('.').collect();
+assert_eq!(v, ["A", "B"]);
+
+let v: Vec<&str> = "A..B..".split_terminator(".").collect();
+assert_eq!(v, ["A", "", "B", ""]);
+
+

fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P> where P: Pattern<'a>, P::Searcher: ReverseSearcher<'a>

+

An iterator over substrings of self, separated by characters +matched by a pattern and yielded in reverse order.

+ +

The pattern can be a simple &str, char, or a closure that +determines the split. +Additional libraries might provide more complex patterns like +regular expressions.

+ +

Equivalent to split, except that the trailing substring is +skipped if empty.

+ +

This method can be used for string data that is terminated, +rather than separated by a pattern.

+ +

Iterator behavior

+

The returned iterator requires that the pattern supports a +reverse search, and it will be double ended if a forward/reverse +search yields the same elements.

+ +

For iterating from the front, split_terminator() can be used.

+ +

Examples

+let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
+assert_eq!(v, ["B", "A"]);
+
+let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
+assert_eq!(v, ["", "B", "", "A"]);
+
+

fn splitn<'a, P>(&'a self, count: usize, pat: P) -> SplitN<'a, P> where P: Pattern<'a>

+

An iterator over substrings of self, separated by a pattern, +restricted to returning +at most count items.

+ +

The last element returned, if any, will contain the remainder of the +string. +The pattern can be a simple &str, char, or a closure that +determines the split. +Additional libraries might provide more complex patterns like +regular expressions.

+ +

Iterator behavior

+

The returned iterator will not be double ended, because it is +not efficient to support.

+ +

If the pattern allows a reverse search, rsplitn() can be used.

+ +

Examples

+

Simple patterns:

+
+let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
+assert_eq!(v, ["Mary", "had", "a little lambda"]);
+
+let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
+assert_eq!(v, ["lion", "", "tigerXleopard"]);
+
+let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
+assert_eq!(v, ["abcXdef"]);
+
+let v: Vec<&str> = "".splitn(1, 'X').collect();
+assert_eq!(v, [""]);
+
+ +

A more complex pattern, using a closure:

+
+let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
+assert_eq!(v, ["abc", "defXghi"]);
+
+

fn rsplitn<'a, P>(&'a self, count: usize, pat: P) -> RSplitN<'a, P> where P: Pattern<'a>, P::Searcher: ReverseSearcher<'a>

+

An iterator over substrings of self, separated by a pattern, +starting from the end of the string, restricted to returning +at most count items.

+ +

The last element returned, if any, will contain the remainder of the +string.

+ +

The pattern can be a simple &str, char, or a closure that +determines the split. +Additional libraries might provide more complex patterns like +regular expressions.

+ +

Iterator behavior

+

The returned iterator will not be double ended, because it is not +efficient to support.

+ +

splitn() can be used for splitting from the front.

+ +

Examples

+

Simple patterns:

+
+let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
+assert_eq!(v, ["lamb", "little", "Mary had a"]);
+
+let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
+assert_eq!(v, ["leopard", "tiger", "lionX"]);
+
+let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
+assert_eq!(v, ["leopard", "lion::tiger"]);
+
+ +

A more complex pattern, using a closure:

+
+let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
+assert_eq!(v, ["ghi", "abc1def"]);
+
+

fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P> where P: Pattern<'a>

+

An iterator over the matches of a pattern within self.

+ +

The pattern can be a simple &str, char, or a closure that +determines the split. +Additional libraries might provide more complex patterns like +regular expressions.

+ +

Iterator behavior

+

The returned iterator will be double ended if the pattern allows +a reverse search +and forward/reverse search yields the same elements. This is true +for, eg, char but not +for &str.

+ +

If the pattern allows a reverse search but its results might differ +from a forward search, rmatches() can be used.

+ +

Examples

+let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
+assert_eq!(v, ["abc", "abc", "abc"]);
+
+let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
+assert_eq!(v, ["1", "2", "3"]);
+
+

fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P> where P: Pattern<'a>, P::Searcher: ReverseSearcher<'a>

+

An iterator over the matches of a pattern within self, yielded in +reverse order.

+ +

The pattern can be a simple &str, char, or a closure that +determines the split. +Additional libraries might provide more complex patterns like +regular expressions.

+ +

Iterator behavior

+

The returned iterator requires that the pattern supports a +reverse search, +and it will be double ended if a forward/reverse search yields +the same elements.

+ +

For iterating from the front, matches() can be used.

+ +

Examples

+let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
+assert_eq!(v, ["abc", "abc", "abc"]);
+
+let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
+assert_eq!(v, ["3", "2", "1"]);
+
+

fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P> where P: Pattern<'a>

+
Unstable

: might have its iterator type changed

+

An iterator over the start and end indices of the disjoint matches +of a pattern within self.

+ +

For matches of pat within self that overlap, only the indices +corresponding to the first +match are returned.

+ +

The pattern can be a simple &str, char, or a closure that +determines +the split. +Additional libraries might provide more complex patterns like +regular expressions.

+ +

Iterator behavior

+

The returned iterator will be double ended if the pattern allows a +reverse search +and forward/reverse search yields the same elements. This is true for, +eg, char but not +for &str.

+ +

If the pattern allows a reverse search but its results might differ +from a forward search, rmatch_indices() can be used.

+ +

Examples

+let v: Vec<(usize, usize)> = "abcXXXabcYYYabc".match_indices("abc").collect();
+assert_eq!(v, [(0, 3), (6, 9), (12, 15)]);
+
+let v: Vec<(usize, usize)> = "1abcabc2".match_indices("abc").collect();
+assert_eq!(v, [(1, 4), (4, 7)]);
+
+let v: Vec<(usize, usize)> = "ababa".match_indices("aba").collect();
+assert_eq!(v, [(0, 3)]); // only the first `aba`
+
+

fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P> where P: Pattern<'a>, P::Searcher: ReverseSearcher<'a>

+
Unstable

: might have its iterator type changed

+

An iterator over the start and end indices of the disjoint matches of +a pattern within +self, yielded in reverse order.

+ +

For matches of pat within self that overlap, only the indices +corresponding to the last +match are returned.

+ +

The pattern can be a simple &str, char, or a closure that +determines +the split. +Additional libraries might provide more complex patterns like +regular expressions.

+ +

Iterator behavior

+

The returned iterator requires that the pattern supports a +reverse search, +and it will be double ended if a forward/reverse search yields +the same elements.

+ +

For iterating from the front, match_indices() can be used.

+ +

Examples

+let v: Vec<(usize, usize)> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
+assert_eq!(v, [(12, 15), (6, 9), (0, 3)]);
+
+let v: Vec<(usize, usize)> = "1abcabc2".rmatch_indices("abc").collect();
+assert_eq!(v, [(4, 7), (1, 4)]);
+
+let v: Vec<(usize, usize)> = "ababa".rmatch_indices("aba").collect();
+assert_eq!(v, [(2, 5)]); // only the last `aba`
+
+

fn subslice_offset(&self, inner: &str) -> usize

+
Unstable

: awaiting convention about comparability of arbitrary slices

+

Returns the byte offset of an inner slice relative to an enclosing +outer slice.

+ +

Panics

+

Panics if inner is not a direct slice contained within self.

+ +

Examples

+let string = "a\nb\nc";
+let lines: Vec<&str> = string.lines().collect();
+
+assert!(string.subslice_offset(lines[0]) == 0); // &"a"
+assert!(string.subslice_offset(lines[1]) == 2); // &"b"
+assert!(string.subslice_offset(lines[2]) == 4); // &"c"
+
+

fn trim(&self) -> &str

+

Returns a &str with leading and trailing whitespace removed.

+ +

Examples

+let s = " Hello\tworld\t";
+assert_eq!(s.trim(), "Hello\tworld");
+
+

fn trim_left(&self) -> &str

+

Returns a &str with leading whitespace removed.

+ +

Examples

+let s = " Hello\tworld\t";
+assert_eq!(s.trim_left(), "Hello\tworld\t");
+
+

fn trim_right(&self) -> &str

+

Returns a &str with trailing whitespace removed.

+ +

Examples

+let s = " Hello\tworld\t";
+assert_eq!(s.trim_right(), " Hello\tworld");
+
+

fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str where P: Pattern<'a>, P::Searcher: DoubleEndedSearcher<'a>

+

Returns a string with all pre- and suffixes that match a pattern +repeatedly removed.

+ +

The pattern can be a simple char, or a closure that determines +the split.

+ +

Examples

+

Simple patterns:

+
+assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
+assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
+
+let x: &[_] = &['1', '2'];
+assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
+
+ +

A more complex pattern, using a closure:

+
+assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
+
+

fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str where P: Pattern<'a>

+

Returns a string with all prefixes that match a pattern +repeatedly removed.

+ +

The pattern can be a simple &str, char, or a closure that +determines the split.

+ +

Examples

+assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
+assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
+
+let x: &[_] = &['1', '2'];
+assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
+
+

fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str where P: Pattern<'a>, P::Searcher: ReverseSearcher<'a>

+

Returns a string with all suffixes that match a pattern +repeatedly removed.

+ +

The pattern can be a simple &str, char, or a closure that +determines the split.

+ +

Examples

+

Simple patterns:

+
+assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
+assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
+
+let x: &[_] = &['1', '2'];
+assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
+
+ +

A more complex pattern, using a closure:

+
+assert_eq!("1fooX".trim_left_matches(|c| c == '1' || c == 'X'), "fooX");
+
+

fn parse<F>(&self) -> Result<F, F::Err> where F: FromStr

+

Parses self into the specified type.

+ +

Failure

+

Will return Err if it's not possible to parse self into the type.

+ +

Example

+assert_eq!("4".parse::<u32>(), Ok(4));
+
+ +

Failing:

+
+assert!("j".parse::<u32>().is_err());
+
+

fn replace(&self, from: &str, to: &str) -> String

+

Replaces all occurrences of one string with another.

+ +

replace takes two arguments, a sub-&str to find in self, and a +second &str to +replace it with. If the original &str isn't found, no change occurs.

+ +

Examples

+let s = "this is old";
+
+assert_eq!(s.replace("old", "new"), "this is new");
+
+ +

When a &str isn't found:

+
+let s = "this is old";
+assert_eq!(s.replace("cookie monster", "little lamb"), s);
+
+

fn to_lowercase(&self) -> String

+

Returns the lowercase equivalent of this string.

+ +

Examples

+#![feature(str_casing)]
+
+let s = "HELLO";
+assert_eq!(s.to_lowercase(), "hello");
+
+

fn to_uppercase(&self) -> String

+

Returns the uppercase equivalent of this string.

+ +

Examples

+#![feature(str_casing)]
+
+let s = "hello";
+assert_eq!(s.to_uppercase(), "HELLO");
+
+

fn escape_default(&self) -> String

+
Unstable

: return type may change to be an iterator

+

Escapes each char in s with char::escape_default.

+

fn escape_unicode(&self) -> String

+
Unstable

: return type may change to be an iterator

+

Escapes each char in s with char::escape_unicode.

+

Trait Implementations

impl<'s> Drop for SslString

fn drop(&mut self)

+

impl Deref for SslString

type Target = str

+

fn deref(&self) -> &str

+

impl Display for SslString

fn fmt(&self, f: &mut Formatter) -> Result

+

impl Debug for SslString

fn fmt(&self, f: &mut Formatter) -> Result

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/struct.X509.html b/openssl/x509/struct.X509.html new file mode 100644 index 0000000..3bca23d --- /dev/null +++ b/openssl/x509/struct.X509.html @@ -0,0 +1,119 @@ + + + + + + + + + + openssl::x509::X509 - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::x509::X509 + + [] + + [src]

+
pub struct X509<'ctx> {
+    // some fields omitted
+}

A public key certificate

+

Methods

impl<'ctx> X509<'ctx>

fn new(handle: *mut X509, owned: bool) -> X509<'ctx>

+

Creates new from handle with desired ownership.

+

fn new_in_ctx(handle: *mut X509, ctx: &'ctx X509StoreContext) -> X509<'ctx>

+

Creates a new certificate from context. Doesn't take ownership +of handle.

+

fn from_pem<R>(reader: &mut R) -> Result<X509<'ctx>, SslError> where R: Read

+

Reads certificate from PEM, takes ownership of handle

+

fn get_handle(&self) -> *mut X509

+

fn subject_name<'a>(&'a self) -> X509Name<'a>

+

fn public_key(&self) -> PKey

+

fn fingerprint(&self, hash_type: Type) -> Option<Vec<u8>>

+

Returns certificate fingerprint calculated using provided hash

+

fn write_pem<W>(&self, writer: &mut W) -> Result<(), SslError> where W: Write

+

Writes certificate as PEM

+

Trait Implementations

impl<'ctx> Drop for X509<'ctx>

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/struct.X509Generator.html b/openssl/x509/struct.X509Generator.html new file mode 100644 index 0000000..c60f452 --- /dev/null +++ b/openssl/x509/struct.X509Generator.html @@ -0,0 +1,160 @@ + + + + + + + + + + openssl::x509::X509Generator - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::x509::X509Generator + + [] + + [src]

+
pub struct X509Generator {
+    // some fields omitted
+}

Generator of private key/certificate pairs

+ +

Example

+use std::fs;
+use std::fs::File;
+use std::io::prelude::*;
+use std::path::Path;
+
+use openssl::crypto::hash::Type;
+use openssl::x509::{KeyUsage, X509Generator};
+
+let gen = X509Generator::new()
+       .set_bitlength(2048)
+       .set_valid_period(365*2)
+       .set_CN("SuperMegaCorp Inc.")
+       .set_sign_hash(Type::SHA256)
+       .set_usage(&[KeyUsage::DigitalSignature]);
+
+let (cert, pkey) = gen.generate().unwrap();
+
+let cert_path = "doc_cert.pem";
+let mut file = File::create(cert_path).unwrap();
+assert!(cert.write_pem(&mut file).is_ok());
+
+let pkey_path = "doc_key.pem";
+let mut file = File::create(pkey_path).unwrap();
+assert!(pkey.write_pem(&mut file).is_ok());
+
+

Methods

impl X509Generator

fn new() -> X509Generator

+

Creates a new generator with the following defaults:

+ +

bit length: 1024

+ +

validity period: 365 days

+ +

CN: "rust-openssl"

+ +

hash: SHA1

+

fn set_bitlength(self, bits: u32) -> X509Generator

+

Sets desired bit length

+

fn set_valid_period(self, days: u32) -> X509Generator

+

Sets certificate validity period in days since today

+

fn set_CN(self, CN: &str) -> X509Generator

+

Sets Common Name of certificate

+

fn set_usage(self, purposes: &[KeyUsage]) -> X509Generator

+

Sets what for certificate could be used

+

fn set_ext_usage(self, purposes: &[ExtKeyUsage]) -> X509Generator

+

Sets allowed extended usage of certificate

+

fn set_sign_hash(self, hash_type: Type) -> X509Generator

+

fn generate<'a>(&self) -> Result<(X509<'a>, PKey), SslError>

+

Generates a private key and a self-signed certificate and returns them

+

fn sign<'a>(&self, p_key: &PKey) -> Result<X509<'a>, SslError>

+

Sets the certificate public-key, then self-sign and return it +Note: That the bit-length of the private key is used (set_bitlength is ignored)

+

fn request(&self, p_key: &PKey) -> Result<X509Req, SslError>

+

Obtain a certificate signing request (CSR)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/struct.X509Name.html b/openssl/x509/struct.X509Name.html new file mode 100644 index 0000000..83222b9 --- /dev/null +++ b/openssl/x509/struct.X509Name.html @@ -0,0 +1,104 @@ + + + + + + + + + + openssl::x509::X509Name - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::x509::X509Name + + [] + + [src]

+
pub struct X509Name<'x> {
+    // some fields omitted
+}

Methods

impl<'x> X509Name<'x>

fn text_by_nid(&self, nid: Nid) -> Option<SslString>

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/struct.X509NameEntry.html b/openssl/x509/struct.X509NameEntry.html new file mode 100644 index 0000000..cce4c0b --- /dev/null +++ b/openssl/x509/struct.X509NameEntry.html @@ -0,0 +1,103 @@ + + + + + + + + + + openssl::x509::X509NameEntry - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::x509::X509NameEntry + + [] + + [src]

+
pub struct X509NameEntry<'x> {
+    // some fields omitted
+}
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/struct.X509Req.html b/openssl/x509/struct.X509Req.html new file mode 100644 index 0000000..1b3719d --- /dev/null +++ b/openssl/x509/struct.X509Req.html @@ -0,0 +1,111 @@ + + + + + + + + + + openssl::x509::X509Req - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::x509::X509Req + + [] + + [src]

+
pub struct X509Req {
+    // some fields omitted
+}

A certificate signing request

+

Methods

impl X509Req

fn new(handle: *mut X509_REQ) -> X509Req

+

Creates new from handle

+

fn from_pem<R>(reader: &mut R) -> Result<X509Req, SslError> where R: Read

+

Reads CSR from PEM

+

fn write_pem<W>(&self, writer: &mut W) -> Result<(), SslError> where W: Write

+

Writes CSR as PEM

+

Trait Implementations

impl Drop for X509Req

fn drop(&mut self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openssl/x509/struct.X509StoreContext.html b/openssl/x509/struct.X509StoreContext.html new file mode 100644 index 0000000..e5722df --- /dev/null +++ b/openssl/x509/struct.X509StoreContext.html @@ -0,0 +1,106 @@ + + + + + + + + + + openssl::x509::X509StoreContext - Rust + + + + + + + + + + + + + + + +
+

Struct openssl::x509::X509StoreContext + + [] + + [src]

+
pub struct X509StoreContext {
+    // some fields omitted
+}

Methods

impl X509StoreContext

fn new(ctx: *mut X509_STORE_CTX) -> X509StoreContext

+

fn get_error(&self) -> Option<X509ValidationError>

+

fn get_current_cert<'a>(&'a self) -> Option<X509<'a>>

+
+ + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3