aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Add BIO type definitionsSteven Fackler2015-12-071-3/+54
| |/ |/|
* | Release v0.7.1Steven Fackler2015-11-281-1/+1
|/
* Fix a leak when using `EVP_PKEY_get1_RSA`.Overmind JIANG2015-11-181-0/+1
| | | | | | `EVP_PKEY_get1_RSA` returns a RSA structure with its reference count increased by 1 and therefore we need to call `RSA_free` after finishing using that value.
* Release v0.7.0Steven Fackler2015-11-161-1/+1
|
* Move HMAC_CTX_copy to sys-extrasSteven Fackler2015-11-161-1/+0
|
* Split stuff requiring a shim out to a separate crateSteven Fackler2015-11-161-75/+22
|
* Provide public_decrypt, private_encrypt for PKEYThom May2015-10-281-0/+4
|
* Nonblocking streams support.Jamie Turner2015-10-201-0/+2
|
* Expose RSA_generate_key_ex.Jimmy Cuadra2015-10-151-0/+1
|
* Release v0.6.7Steven Fackler2015-10-141-1/+1
|
* Merge pull request #286 from jedisct1/use_certificate_chainSteven Fackler2015-10-131-0/+1
|\ | | | | Add set_certificate_chain_file()
| * Add set_certificate_chain_file()Frank Denis2015-10-121-0/+1
| | | | | | | | | | | | | | | | SSL_CTX_use_certificate_chain_file() is preferred over SSL_CTX_use_certificate_file(). It allows the use of complete certificate chains instead of loading only the first certificate in a PEM file.
* | Merge pull request #284 from bheart/cfb-modeSteven Fackler2015-10-121-0/+6
|\ \ | |/ |/| AES CFB-mode feature
| * AES CFB{1,8,128} mode supportWill Tange2015-10-111-0/+6
| |
* | Merge pull request #277 from nixpulvis/read_public_pemSteven Fackler2015-10-101-0/+2
|\ \ | |/ |/| Add public key PEM read function.
| * Add public key PEM read function.Nathan Lilienthal2015-10-011-0/+2
| |
* | Release v0.6.6Steven Fackler2015-10-051-1/+1
| |
* | Clean up init stuffSteven Fackler2015-10-051-6/+6
| |
* | Set threadid_func on linux/osx (fixes #281)Manish Goregaokar2015-10-051-0/+2
|/
* Add SSL::set_ecdh_auto()Frank Denis2015-09-251-0/+3
| | | | | This sets automatic curve selection and enables ECDH support. Requires LibreSSL or OpenSSL >= 1.0.2, so behind a feature gate.
* Merge pull request #266 from jmesmon/alpnSteven Fackler2015-09-161-3/+3
|\ | | | | ssl/npn+alpn: adjust protocol selection to fail if no protocols match
| * ssl/npn+alpn: adjust protocol selection to fail if no protocols matchCody P Schafer2015-09-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current behavior causes a server written using rust-openssl to (if it cannot negotiate a protocol) fallback to the first protocol it has avaliable. This makes it impossible to detect protocol mismatches. This updates our selection to be more similar to how openssl's s_server behaves: non-matching protocols are not supplied with a fallback. Note that some setups may actually want a fallback protocol supplied via ALPN. To support those cases, we should consider adding a generic callback that allows protocol selection to be entirely controlled by the programmer. For the purposes of having a sane default, however, not supplying a default (and mimicing s_server's behavior) is the best choice.
* | Add DH::from_pem() to load DH parameters from a fileFrank Denis2015-09-131-1/+2
|/
* Merge pull request #259 from jedisct1/dhSteven Fackler2015-09-011-0/+14
|\ | | | | Add support for DHE for forward secrecy
| * Add support for set_tmp_dh() and RFC5114 DH parameters for forward secrecy.Frank Denis2015-08-311-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rust-openssl didn't support forward secrecy at all. This adds support for DHE, by exposing set_tmp_dh() as well as the RFC5114 parameters, which are conveniently exposed since OpenSSL 1.0.2. With OpenSSL >= 1.0.2, and the rfc5114 feature gate, enabling DHE is as simple as (here for 2048-bit MODP group with 256-bit prime order subgroup): use openssl::dh::DH; let dh = DH::get_2048_256().unwrap(); ctx.set_tmp_dh(dh).unwrap(); With OpenSSL < 1.0.2, DH::from_params() can be used to manually specify the DH parameters (here for 2048-bit MODP group with 256-bit prime order subgroup): use openssl::bn::BigNum; use openssl::dh::DH; let p = BigNum::from_hex_str("87A8E61DB4B6663CFFBBD19C651959998CEEF608660DD0F25D2CEED4435E3B00E00DF8F1D61957D4FAF7DF4561B2AA3016C3D91134096FAA3BF4296D830E9A7C209E0C6497517ABD5A8A9D306BCF67ED91F9E6725B4758C022E0B1EF4275BF7B6C5BFC11D45F9088B941F54EB1E59BB8BC39A0BF12307F5C4FDB70C581B23F76B63ACAE1CAA6B7902D52526735488A0EF13C6D9A51BFA4AB3AD8347796524D8EF6A167B5A41825D967E144E5140564251CCACB83E6B486F6B3CA3F7971506026C0B857F689962856DED4010ABD0BE621C3A3960A54E710C375F26375D7014103A4B54330C198AF126116D2276E11715F693877FAD7EF09CADB094AE91E1A1597").unwrap(); let g = BigNum::from_hex_str("3FB32C9B73134D0B2E77506660EDBD484CA7B18F21EF205407F4793A1A0BA12510DBC15077BE463FFF4FED4AAC0BB555BE3A6C1B0C6B47B1BC3773BF7E8C6F62901228F8C28CBB18A55AE31341000A650196F931C77A57F2DDF463E5E9EC144B777DE62AAAB8A8628AC376D282D6ED3864E67982428EBC831D14348F6F2F9193B5045AF2767164E1DFC967C1FB3F2E55A4BD1BFFE83B9C80D052B985D182EA0ADB2A3B7313D3FE14C8484B1E052588B9B7D2BBD2DF016199ECD06E1557CD0915B3353BBB64E0EC377FD028370DF92B52C7891428CDC67EB6184B523D1DB246C32F63078490F00EF8D647D148D47954515E2327CFEF98C582664B4C0F6CC41659").unwrap(); let q = BigNum::from_hex_str("8CF83642A709A097B447997640129DA299B1A47D1EB3750BA308B0FE64F5FBD3").unwrap(); let dh = DH::from_params(p, g, q).unwrap(); ctx.set_tmp_dh(dh).unwrap();
* | Release v0.6.5Steven Fackler2015-08-311-1/+1
|/
* Merge pull request #251 from ebarnard/evp_bytestokeySteven Fackler2015-08-231-0/+6
|\ | | | | Expose EVP_BytesToKey
| * Expose EVP_BytesToKeyEdward Barnard2015-08-231-0/+6
| | | | | | | | | | This is based on work by pyrho. Closes #88
* | Merge pull request #253 from manuels/masterSteven Fackler2015-08-191-0/+2
|\ \ | | | | | | Add get_state_string()
| * | Add get_state_string()Manuel Schölling2015-08-171-0/+2
| |/
* | Merge pull request #240 from jethrogb/topic/x509_req_extensionSteven Fackler2015-08-151-0/+6
|\ \ | |/ |/| Implement certificate extensions for certificate requests
| * Implement certificate extensions for certificate requestsJethro Beekman2015-07-081-0/+6
| |
* | Merge pull request #243 from manuels/masterSteven Fackler2015-08-021-0/+1
|\ \ | | | | | | Fix probelms with DTLS when no packets are pending.
| * | Fix probelms with DTLS when no packets are pending.Manuel Schölling2015-07-181-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | When using DTLS you might run into the situation where no packets are pending, so SSL_read returns len=0. On a TLS connection this means that the connection was closed, but on DTLS it does not (a DTLS connection cannot be closed in the usual sense). This commit fixes a bug introduced by c8d23f3. Conflicts: openssl/src/ssl/mod.rs
* | Merge pull request #242 from awelkie/masterSteven Fackler2015-08-021-2/+4
|\ \ | | | | | | Added AES CTR-mode under feature flag.
| * | Added AES CTR-mode under feature flag.Allen Welkie2015-07-151-2/+4
| |/
* / Add function to write RSA public key as PEMAndrew Dunham2015-07-231-0/+1
|/
* Merge pull request #221 from jethrogb/topic/ssl_optionsSteven Fackler2015-07-081-6/+26
|\ | | | | Several SSL option fixes
| * Decouple C SSL Option bit flags from Rust versionJethro Beekman2015-07-011-6/+26
| | | | | | | | | | | | | | The OpenSSL "SSL_OP_*" flags are in constant flux between different OpenSSL versions. To avoid having to change the Rust definitions, we implement our own numbering system in Rust, and use an automatically-generated C shim to convert the bitflags at runtime.
* | Merge pull request #233 from jethrogb/topic/x509_extensionSteven Fackler2015-07-081-0/+1
|\ \ | | | | | | Allow setting of arbitrary X509 extensions
| * | Add arbitrary X509 extensions by OID stringJethro Beekman2015-07-011-0/+1
| |/
* / Release v0.6.4Steven Fackler2015-07-061-1/+1
|/
* ssl: support ALPNCody P Schafer2015-06-291-1/+19
| | | | | | | | | | Heavily based on the existing NPN wrapping code. Naming of public functions is identical to the NPN ones with `s/npn/alpn/` applied to prevent devs from needing to remember 2 names (and to let my copy the npn tests and perform the subistution to generate the apln tests). It might make sense to (at some point) use macros or a trait to cut down the duplication.
* Reduce SslStream constructor duplicationSteven Fackler2015-06-271-0/+1
|
* Fix set_hostnameSteven Fackler2015-06-271-0/+2
| | | | | | It was previously failing to null terminate the hostname string (was anyone actually using this?). Also move the macro expansion to the C shim.
* Import shim'd HMAC stuff with the original nameSteven Fackler2015-06-271-0/+10
|
* Move macro replicas into C shimSteven Fackler2015-06-271-30/+16
|
* Release v0.6.3Steven Fackler2015-06-251-1/+1
|
* Fix EOF handling in retry wrapperSteven Fackler2015-06-251-0/+5
|
* Implement limited X509_REQ functionalityJethro Beekman2015-05-281-0/+5
|