Commit Graph

795 Commits

Author SHA1 Message Date
Noah 8cfb59b9ea
Add a way to get the certificates stored in an X509Store 2020-03-22 23:20:59 -05:00
Michael Neumann 6254c1881b Fix build on DragonFly
DragonFly has libressl/openssl in ports (/usr/local). With this commit,
rust-openssl builds out of the box given that either libressl or openssl is
installed (which is usually the case).

Tested on DragonFly 5.9-DEVELOPMENT with libressl-3.0.2.
2020-03-21 12:46:59 +01:00
Jim McGrath 03b8b29e4c use library names supplied by vcpkg 2020-02-26 00:04:16 -06:00
Nipunn Koorapati 4898f60e52 Attach cfg[allow_deprecated] to methods w/ uninitialized functionality
Additionally - update usage of ONCE_INIT
2020-02-10 12:53:51 -08:00
Steven Fackler e02d85c799 Fix changelog 2020-01-29 15:37:46 -08:00
Steven Fackler 216ffd0791 Release openssl-sys v0.9.54 2020-01-29 15:36:49 -08:00
Hiroki Noda 9189b67326 Add NO RENEGOTIATION option
SSL_OP_NO_RENEGOTIATION was added in OpenSSLv1.1.1 and backported to
v1.1.0h.
2020-01-28 04:07:38 +09:00
Hiroki Noda 78c1e2409d Add EVP_EncryptInit_ex/EVP_EncryptFinish_ex, and the equivalently named
decrypt functions

Some functions including low level AES functions would be deprecated
in next OpenSSL version(3.0).
OpenSSL team says that application should use the high level EVP APIs,
so I added these functions.

See also:
https://github.com/openssl/openssl/pull/10580
https://github.com/openssl/openssl/pull/10740
2020-01-25 00:49:47 +09:00
Steven Fackler ad37e7e07d
Merge pull request #1160 from HyeonuPark/set-dtls-mtu
Add ssl::set_dtls_mtu_size(usize)
2020-01-13 12:53:23 -05:00
Alex Gaynor 9e6e36417d
Update to autocfg 1.0 2020-01-09 23:12:01 -05:00
Hyeonu Park 4d5e5e1787 add SslStreamBuilder::set_dtls_mtu_size(usize) 2019-12-29 04:17:00 +09:00
oberien 9f4c489588 Use d2i_PKCS8_PRIV_KEY_INFO instead of *_bio 2019-12-04 02:02:33 +01:00
oberien fc529b6c81 Pkey::private_key_from_pkcs8 free p8inf 2019-12-03 03:05:05 +01:00
oberien 4b2d46c252 Fix pointer constness correctly 2019-12-01 03:38:31 +01:00
oberien a042edd134 Change *const to *mut to try if it fixes tests 2019-12-01 03:29:57 +01:00
oberien 4218e121d0 move EVP_PKCS82PKEY into evp module 2019-12-01 03:15:52 +01:00
oberien a7fa260331 Support for PKCS#8 unencrypted private key deserialization 2019-12-01 03:02:01 +01:00
Steven Fackler 454cb6f9bc
Merge pull request #1192 from fengyc/master
Add EVP_md_null() and MessageDigest::md_null()
2019-11-23 10:17:07 -05:00
Steven Fackler a5c757f164 Release openssl-sys v0.9.53 2019-11-22 15:29:03 -08:00
fengyingcai 288b189de0 Add EVP_md_null() and MessageDigest::md_null() 2019-11-22 16:33:15 +08:00
Steven Fackler 56335d12fc
Merge pull request #1183 from adamreichold/base64
Expose OpenSSL interfaces for base64 coding.
2019-11-21 20:04:18 -05:00
Steven Fackler f85d631fcf
Merge pull request #1184 from Atul9/cargo-fmt
Format code using 'cargo fmt'
2019-11-21 20:01:39 -05:00
Steven Fackler 0fb1e55a98 Allow configuration of EC groups and signature algorithms
Closes #1186
2019-11-16 10:54:27 -08:00
Atul Bhosale 784978bad0
Format code using 'cargo fmt' 2019-11-14 21:00:53 +05:30
Adam Reichold bcbebbcace Expose EVP_{Encode,Decode}Block interfaces for base64 coding 2019-11-14 10:06:24 +01:00
Steven Fackler 34c2b69118
Merge pull request #1180 from PrismaPhonic/master
Added clonability for sha hash state.  Useful for incremental hashing
2019-11-11 21:01:19 -05:00
Peter Farr 8fae1115a4 Changed all sha objects to be clonable per PR review suggestion. 2019-11-11 16:31:47 -08:00
Lukas Lihotzki 258c49a581 Add #[cfg(ossl110)] 2019-11-11 23:03:40 +01:00
Lukas Lihotzki 6d6429237d Add EC_GROUP_order_bits 2019-11-11 22:04:14 +01:00
Peter Farr 22f029064a Added clonability for sha hash state. Useful for incremental hashing 2019-11-11 11:09:49 -08:00
Steven Fackler dc72a8e2c4
Merge pull request #1173 from griff/rework-673
Add methods for comparing Asn1TimeRef and creating Asn1Time from Unix time
2019-10-21 20:37:41 -04:00
Steven Fackler 0e72e5d27f Release openssl-sys v0.9.52 2019-10-19 07:35:52 -07:00
Charlie Li f66c860fce Support LibreSSL 3.0.2
3.0.2 is the first stable release, so support the rest of the series.
2019-10-19 09:56:56 -04:00
Brian Olsen 80e0dd03ba
Add method to create Asn1Time from time_t value
This is mostly just a rework of the earlier work done by @illegalprime
in his PR #673 and credit should go to him.
2019-10-13 23:10:16 +02:00
Brian Olsen 14a6a98ebf
Add diff method and comparisons to Asn1TimeRef
This implements a `diff` method on `Asn1TimeRef` using `ASN1_TIME_diff`
and uses this new method to implement combinations of `PartialEq` and
`PartialOrd` for `Asn1Time` and `Asn1TimeRef`.

This is mostly just a rework of the earlier work done by @illegalprime
in his PR #673 and credit should go to him.
2019-10-13 23:09:12 +02:00
Steven Fackler ff14649daf Fix changelog links 2019-10-09 18:04:54 -07:00
Steven Fackler 79fd645c75 Release openssl-sys v0.9.51 2019-10-09 18:03:13 -07:00
Matt Vertescher b771738a3a Fix rustc warnings
- Use `..=` for inclusive ranges
- Add the `dyn` keyword for trait objects
- Switch from `ONCE_INIT` to `std::sync::Once::new()`
2019-10-08 08:35:35 -04:00
Charlie Li e2b51a8705 Support LibreSSL 3.0.1 2019-10-03 09:21:11 -04:00
Steven Fackler 02c3262be8 Release openssl-sys v0.9.50 2019-10-02 17:46:57 -07:00
Steven Fackler 7ce0835b74 Implement Clone for PKey 2019-10-01 18:45:10 -07:00
Sebastian Sturm bdede43afe Added support for Ed25519 and Ed448 signatures 2019-08-16 11:15:04 +02:00
Steven Fackler 8b2c370b86 Release openssl-sys v0.9.49 2019-08-15 22:19:46 -04:00
Steven Fackler 8d521bacbb Support LibreSSL 3.0.0
Closes #1121
2019-08-06 18:36:04 -07:00
Steven Fackler 45c83e2772 Release openssl-sys v0.9.48 2019-07-19 07:30:11 -07:00
Leo 88c5bd81c7 Add AES-192 and OFB mode 2019-07-06 17:11:37 +08:00
Mike Belopuhov aef0517dcf Expose EC_POINT_dup as EcPoint::to_owned 2019-06-19 21:34:48 +02:00
Mike Belopuhov e8fc907da3 Expose EC_GROUP_get_cofactor as EcGroup::cofactor 2019-06-14 16:41:47 +02:00
Mike Belopuhov 390d71f1e5 Expose EC_GROUP_get0_generator as EcGroup::generator 2019-06-13 03:09:45 +02:00
Daniel Abramov fab6ea4727 Conditionally compile PEM functions for CMS
Apparently libressl does not quite support all CMS functions (well, at
least the bindings for CMS are currently compile-time guarded), so CI
checks inside the systest fail during the verification on libressl.
This is an attempt to fix it.
2019-06-12 16:48:16 +02:00
Daniel Abramov 124c05d058 Add `CmsContentInfo` <-> PEM bindings 2019-06-12 10:23:48 +02:00
Russell Greene b9341856b1 Add AES_wrap_key and AES_unwrap_key functionality 2019-06-05 21:03:34 -06:00
Steven Fackler ef86438a10 Report the vendored install location
Closes #1117
2019-05-31 19:08:58 -07:00
Steven Fackler 958c1811b0 Fix constness for 1.1.1c 2019-05-31 07:29:00 -07:00
Steven Fackler b6d968b378 Release openssl-sys v0.9.47 2019-05-18 12:10:57 -07:00
Andy Caldwell 628c3b338a
Add SSL_CTX_add_client_CA on OpenSSL 2019-05-13 15:08:02 +01:00
Steven Fackler aabaf97935 Release openssl-sys v0.9.46 2019-05-08 18:44:41 -07:00
Steven Fackler a9b9f818a1
Merge pull request #1097 from vishwin/master
Support LibreSSL 2.9.1
2019-05-08 18:40:18 -07:00
Steven Fackler 2f5ecb4267 Release openssl-sys v0.9.45 2019-05-03 19:52:18 -07:00
Steven Fackler 62b211990f
Revert "fix build err for taget `*-pc-windows-gnu`" 2019-05-03 18:44:53 -07:00
Alex Crichton 06577cbf9c Switch from `rustc_version` to `autocfg`
This switches the `openssl-sys` crate from using `rustc_version` as a
crate to check the version of rustc to using `autocfg`. While
functionally the same this has a few advantages:

* The `autocfg` crate has fewer dependencies and compiles faster
* If the `semver` crate has the `serde` feature activated, turns out
  `openssl-sys` gets compiled quite late in the dependency graph which
  can push back further C compilations. This is due to the slower
  compilation time of `serde` itself.
* The `autocfg` crate I believe is a bit more robust in terms of being
  flexible with the output of rustc itself.
2019-05-01 08:09:40 -07:00
Steven Fackler 3331908a1d Release openssl v0.10.21 2019-04-30 21:59:02 -07:00
Steven Fackler dedbcc6570 Release v0.9.44 2019-04-30 21:54:53 -07:00
Charlie Li 995f9a9533 Whitelist future LibreSSL 2.9.x versions, as 2.9.1 is the first stable release. 2019-04-26 14:35:11 -04:00
南浦月 844c3c445a
fix build err for taget `*-pc-windows-gnu` 2019-04-26 15:27:16 +08:00
Charlie Li d79090a00a Reconcile exdata and version functions between libraries/versions. 2019-04-24 23:15:56 -04:00
Charlie Li 98f91769e3 Add missing any() in the {,D}TLS_method usage logic. 2019-04-24 19:29:01 -04:00
Charlie Li f0b8a2e467 Support LibreSSL 2.9.1
LibreSSL 2.9.1 added generic DTLS methods.

While here, bump CircleCI.
2019-04-24 16:08:42 -04:00
Vojtěch Pejša 865c613de3 Fix requiret ossl version for EVP_PKEY_size 2019-04-23 12:36:42 +02:00
Vojtěch Pejša f40a328d43 Remove unnecessary version req and clean up param names. 2019-04-18 10:47:50 +02:00
Vojtěch Pejša 63c7bda0c2 Add minimum ossl version. 2019-04-15 13:41:54 +02:00
Vojtěch Pejša 08879ed512 Add EVP_Seal and EVP_Open 2019-04-15 00:54:49 +02:00
Hristo Venev 6b0583b7c4 Tell dependencies if vendored OpenSSL was used
The system OpenSSL knows where its certificates are. If
DEP_OPENSSL_VENDORED is not set:
- openssl-probe doesn't need to set any environment variables and can
get the paths from OpenSSL itself.
- Libraries that normally use `openssl_probe::probe()` and
`SSL_CTX_load_verify_locations` can instead use
`SSL_CTX_set_default_verify_paths`.
2019-04-03 18:01:49 +03:00
Steven Fackler a6b6648a62 Release openssl-sys v0.9.43 2019-03-20 10:39:09 -04:00
Nathaniel McCallum 702bc48b1c Expose EC_GROUP_get_curve_name()
This gives us the ability to get the Nid from an EcGroupRef.
2019-03-19 11:10:35 -04:00
Nathaniel McCallum d9cb5433b1 Expose EVP_MD_type()
This gives us the ability to get the Nid from a MessageDigest.
2019-03-19 11:10:35 -04:00
Steven Fackler 27494508bf Fix deprecation warning 2019-03-11 21:35:21 -07:00
Alexey Galakhov a0e5b31799 X.509: add verify methods 2019-03-11 22:35:43 +01:00
tgbit 546eb4d391 CMS: add encrypt, from_der 2019-03-02 00:33:52 +01:00
Steven Fackler 0dd632456f Release openssl-sys v0.9.42 2019-03-01 12:38:18 -08:00
Steven Fackler 404b7f1790 Add session cache size accessors 2019-03-01 10:07:51 -08:00
Steven Fackler a16482f972 Add session info accessors 2019-02-28 22:08:48 -08:00
Steven Fackler 913267e68a Add SslCtx::{add,remove}_session 2019-02-28 19:48:10 -08:00
Edouard Oger 55fee497bb Implement Clone for Dsa 2019-02-28 14:10:49 -05:00
Steven Fackler 953fe86b9a Add ERR_PACK
Also make error functions const when targeting a new enough rustc
2019-02-27 21:50:39 -08:00
Steven Fackler 5faeeb5c61
Merge pull request #1070 from sfackler/build-script-cleanup
Build script cleanup
2019-02-27 21:28:45 -08:00
Steven Fackler 2474bce3db Don't dynamically generate expando.c 2019-02-27 21:14:46 -08:00
Steven Fackler 25f750c223 Add some debugability to build script env
Also split finding logic out to separate files
2019-02-26 20:45:10 -08:00
Steven Fackler 297804b2d9 typo 2019-02-26 20:38:04 -08:00
Steven Fackler ab298d0264 Fix const changes in 1.1.1b 2019-02-26 20:31:01 -08:00
Steven Fackler 4c6af10cbd Release openssl-sys v0.9.41 2019-02-22 10:50:16 -07:00
Steven Fackler 70afbb8393 Add standard ciphername support 2019-02-22 10:33:12 -07:00
Steven Fackler 7eee39f1ec Rustfmt 2019-02-22 10:14:15 -07:00
Ryuichi Okumura 899fc30e9b
Change from EVP_des_ede3_cfb to EVP_des_ede3_cfb64 2019-02-18 19:35:00 +09:00
Ryuichi Okumura 941a69a4d2
Add des_ede3_cfb symm cipher 2019-02-17 22:21:01 +09:00
Steven Fackler 34755f8a6b ASN1_TIME_from_string_x509 was added in 1.1.1 2019-01-27 13:14:11 -08:00
Steven Fackler 691ce7ca2a Add Asn1Time::from_str and Asn1Time::from_str_x509
Closes #1051
2019-01-27 13:05:03 -08:00
Steven Fackler 637228e7ee
SRP_CTX doesn't exist when OPENSSL_NO_SRP is set
Closes #1047
2019-01-25 09:19:14 -08:00
Zolmeister e56e09b6a4 Add RsaRef::check_key 2019-01-18 21:03:04 -06:00
Steven Fackler b24ee29fa6 Release v0.9.40 2018-12-16 09:02:07 -08:00