Commit Graph

538 Commits

Author SHA1 Message Date
Bradley Beddoes f599df124b Add ability to get affine coordinates from EcPoint
The initial usecase here is creating JWK representations as defined
within RFC 7517 from an EcKey created via a PEM source.
2017-08-21 15:08:48 +10:00
Steven Fackler 9143516037 Add SHA384 and SHA512 2017-08-16 21:03:46 -07:00
Steven Fackler 673bcfaf5a Add SHA1 an SHA224 hashers 2017-08-16 20:26:16 -07:00
Steven Fackler c175ac639d Release v0.9.17 2017-08-14 17:13:36 -07:00
Steven Fackler 1d92ff290e Add a stateful SHA256 hasher 2017-08-14 17:07:44 -07:00
Steven Fackler 75d927b2bd Merge pull request #622 from mcgoo/vcpkg
try to find openssl libraries in a vcpkg ports tree
2017-08-11 22:44:46 -07:00
Steven Fackler ea6edb133e Release v0.9.16 2017-08-10 22:17:50 -07:00
Steven Fackler 78e37bb2e1 Fully wrap feature checks
Otherwise OPENSSL_NO_EC2M would also trigger OPENSSL_NO_EC
2017-08-10 20:52:31 -07:00
Steven Fackler 4c3b3476f4 Merge pull request #675 from sdemos/master
added cms decryption
2017-08-09 14:20:51 -07:00
Stephen Demos caf7b8ecbc added cms decryption 2017-08-09 12:26:45 -07:00
Bradley Beddoes 16e8fbc31e Fix EC_KEY_set_public_key_affine_coordinates
Previous definition incorrectly used `const` pointers but the
underpinning library definition (unfortunately) does not.
2017-08-09 13:34:08 +10:00
Bradley Beddoes cfb4ea31d5 Support for EcKey creation from affine coordinates
Sets the public key for an EcKey based on its affine co-ordinates,
i.e. it constructs an EC_POINT object based on the supplied x and y
values and sets the public key to be this EC_POINT.

The initial usecase here is creating EcKey instances from JWK
representations as defined within RFC 7517.
2017-08-09 12:21:54 +10:00
Steven Fackler c2164a4864 Add peer_cert_chain 2017-07-29 10:34:10 -07:00
Steven Fackler 01927c19ac Initialize OpenSSL in DSA constructor
This fixes the double unlock errors that were popping up on circle
2017-07-25 21:59:52 -07:00
Steven Fackler a02f039c0c Fix build 2017-07-25 20:41:11 -07:00
Steven Fackler 82b1a12f35 Abort on bad unlock and safe core dumps 2017-07-25 20:35:29 -07:00
Steven Fackler bf6dc28f0c Release v0.9.15 2017-07-19 19:35:28 -07:00
Steven Fackler 43cacf00f5 Forbid LibreSSL 2.5.6+ 2017-07-19 19:30:13 -07:00
Inokentiy Babushkin 453e641aa6
Support for LibreSSL 2.5.5 2017-07-17 20:29:35 +02:00
Steven Fackler 5e0146b10a Test against libressl 2.6.0 2017-07-16 14:51:43 -07:00
Steven Fackler bcd0dcafcb Rustfmt 2017-07-15 21:46:11 -07:00
Steven Fackler 9290ed97c2 Merge pull request #657 from sfackler/rsa-pkcs1
Support PKCS#1 RSA public keys
2017-07-06 14:11:27 -10:00
Steven Fackler 88e277d49e Inform cargo about which env vars we care about 2017-07-04 21:24:59 -07:00
Steven Fackler 279bffccf5 Merge pull request #641 from luser/psk
Expose PSK via a SslContextBuilder::set_psk_callback method
2017-07-04 18:19:17 -10:00
Steven Fackler 51a226eb4b Support PKCS#1 RSA public keys
Closes #656
2017-07-04 20:57:00 -07:00
Laurence Tratt aa5547cdab Enable build on LibreSSL 5.6.0 development branch.
Without this, openssl-sys can't compile on OpenBSD-current. As far as I can
tell, the only differences with respect to LibreSSL 5.5.4 are additional exposed
functions: there do not appear to be any breaking changes. Certainly all the
test suites in the repository succeed with this commit.
2017-06-25 14:42:39 +01:00
Steven Fackler 575e682da3 Add PKey::private_key_from_der 2017-06-23 21:04:13 -07:00
Steven Fackler 223e8e3689 Release v0.9.14 2017-06-14 19:59:45 -07:00
Jim McGrath 6b50d8940d for msvc abi builds, allow use of openssl libs from vcpkg 2017-06-07 09:56:06 -05:00
Jim McGrath 9ba96b80b1 remove unused dependencies on windows 2017-06-06 20:56:16 -05:00
Steven Fackler 98d343dd32 Fix for changes in OpenSSL 1.1.0f 2017-06-06 18:45:54 -04:00
Ted Mielczarek 4de58596d9 Make some changes for review comments 2017-06-02 08:20:03 -04:00
Steven Fackler cba475b9ae Release v0.9.13 2017-05-29 17:46:07 -07:00
Ted Mielczarek 16183f41f6 Expose PSK via a SslContextBuilder::set_psk_callback method 2017-05-26 14:51:04 -04:00
Steven Fackler 61c9ffddb6 Explicitly initialize OpenSSL 1.1.0 2017-05-20 16:01:53 -07:00
Steven Fackler 7d587e2c93 Rustfmt 2017-05-20 15:53:45 -07:00
Steven Fackler 4336d1d38c Release v0.9.12 2017-05-12 11:47:46 -07:00
Steven Fackler f2ecdbe709 Fix support for LibreSSL versions other than 2.5.0 2017-05-12 11:16:25 -07:00
Steven Fackler 67b5fd1c97 Support public key decode from DER
Closes #629
2017-05-06 16:40:33 -07:00
Steven Fackler 7e8a0a0dad Expose the lower level SHA functions
These don't allocate so they're both infallible and significantly
faster.
2017-04-14 23:03:17 -07:00
Steven Fackler 429f7c869e Release v0.9.11 2017-04-14 16:56:21 -07:00
Andrew Roetker b21046375a (issues-600) Avoid compiling ec2m code against no-ec2m openssl
This commit avoids defining code that leads to undefined references when
compiling against an openssl built with no-ec2m.
2017-04-11 15:42:05 -07:00
Andrew Osmond e6a6ebb87d Add new EC/PKEY methods to permit deriving shared secrets. 2017-04-10 15:40:36 -04:00
Jay Lee 7c24224394 show help message when pkg-config is missing 2017-03-29 19:25:00 +08:00
Steven Fackler 42ad50ae67 Release v0.9.10 2017-03-26 10:49:04 -07:00
Steven Fackler c8d1698f27 Logic to support client-side session reuse 2017-03-25 19:30:01 -07:00
Peter Gerber f82f650953 Panic if lock managed by `locking_function` is doubly unlocked
Trying to unlock an unlocked lock is always an error and should
be treated as such.

This is related to #597.
2017-03-16 22:14:58 +00:00
Steven Fackler bf63f35dfb Release v0.9.9 2017-03-14 12:55:36 -07:00
Andrew Roetker 663547a758 (maint) Recreate ability to pass in OPENSSL_LIBS variable
Prior to this commit in 43c951f743 the
ability to pass OPENSSL_LIBS was removed from the build.rs of
openssl-sys. This commit adds the ability to pass custom names for the
OPENSSL_LIBS back in. This is useful for when building openssl across
linux and windows with the same lib names (ssl:crypto) and the default
names provided by the build script are not valid.
2017-03-13 19:18:54 -06:00
Steven Fackler 06b10a5753 Release v0.9.8 2017-03-09 20:33:17 +11:00
Steven Fackler 81362a4e79 scrypt support
Closes #586
2017-02-21 21:15:52 -08:00
Steven Fackler 268288337b Expose more error information 2017-02-19 16:05:58 -08:00
Benjamin Fry ce2cfc56a6 fix versions for sys as well 2017-02-16 19:49:14 -08:00
Benjamin Fry f8298882a4 add set_verify_cert_store() to ssl ctx 2017-02-16 19:49:14 -08:00
Steven Fackler 19f3b8a11a Support PKCS#8 private key deserialization
Closes #581
2017-02-14 19:37:25 -08:00
Steven Fackler 06065ddcee Release v0.9.7 2017-02-11 14:34:37 -08:00
Steven Fackler 980a71a008 Fix for libressl 2017-02-11 10:42:25 -08:00
Steven Fackler f2c69ae7e9 Merge remote-tracking branch 'origin/master' into x509-builder 2017-02-11 10:13:00 -08:00
Steven Fackler 1c25336520 Merge branch 'master' into x509_req_version_subject 2017-02-11 09:11:25 -08:00
Steven Fackler 03fe3015dc X509 signature algorithm access 2017-02-10 21:37:33 -08:00
Steven Fackler 8e5735d84c X509 signature access 2017-02-10 19:59:11 -08:00
Steven Fackler a1d7956f82 Add Asn1BitString 2017-02-10 19:38:51 -08:00
mredlek 30a634c877 Merge branch 'master' into x509_req_version_subject 2017-02-07 20:41:27 +01:00
Steven Fackler 5e3dd07ee4 Clean up pkg-config logic
Now that we're letting the C compiler track down headers this is no
longer necessary.
2017-02-03 20:17:22 -08:00
Brian Chin 4900d3fe5d Fixed constant names from openssl/rsa.h
Fixed PKeyCtxRef method that didn't need to be mutable.

Added non-mutable accessors for PKeyCtxRef for Signer and Verifier.
2017-01-31 11:59:59 -08:00
Brian Chin 302ee77d32 Adding suggestions from review. 2017-01-30 16:51:10 -08:00
Brian Chin 20eed1e762 Simplify code, so that openssl-sys really doesn't contain anything aside
from bindings
2017-01-30 15:04:44 -08:00
Brian Chin 588fd33552 Testing first version that works with signer. 2017-01-30 15:04:44 -08:00
Brian Chin ddc0066211 Add the necessary constants to access the pkey ctx stuff. 2017-01-30 15:04:44 -08:00
Steven Fackler 0598561f0e Macro-expand OpenSSL headers for feature checks
Closes #564
2017-01-28 20:22:18 -08:00
mredlek f5149eac5a Add setters to new getter-functions in X509ReqRef 2017-01-27 20:55:40 +01:00
mredlek 6a8f6f425f Style changes according to review 2017-01-27 19:13:36 +01:00
mredlek 557b936e27 Added X509ReqRef.subject_name and X509ReqRef.version 2017-01-26 21:05:33 +01:00
Steven Fackler 01e4667175 Make sure to not add system dirs to linkage
cc #447
2017-01-24 21:31:41 +01:00
Benjamin Fry 591022a7fa fix multi-version compat 2017-01-23 22:12:11 -08:00
Benjamin Fry 540387d5ee fix ptr types 2017-01-22 22:43:27 -08:00
Benjamin Fry 225552b823 Merge branch 'master' of github.com:sfackler/rust-openssl 2017-01-22 22:24:45 -08:00
Benjamin Fry fbfecd63ae add some documentation 2017-01-22 22:23:21 -08:00
Benjamin Fry 52c7868bb6 add pkcs12_create and to_der funcs 2017-01-22 21:27:31 -08:00
Steven Fackler 722bdb6a4c Merge pull request #550 from Keruspe/master
LibreSSL support improvements
2017-01-22 18:39:34 +00:00
Steven Fackler 54900976bb Support EC_GROUP_set_asn1_flag
Closes #561
2017-01-22 10:44:59 +00:00
Steven Fackler 26e159a5f0 Support chacha20 and chacha20_poly1305 2017-01-21 11:12:02 +00:00
Steven Fackler d353b36681 Support AES IGE
This is a special snowflake used only by Telegram apparently.

Closes #523
2017-01-21 09:41:13 +00:00
Steven Fackler a1122197f8 Add categories
Closes #557
2017-01-20 16:35:43 +00:00
Steven Fackler 920ab0d6fb OCSP functionality 2017-01-14 21:09:38 -08:00
Steven Fackler 9942643ab6 Release v0.9.6 2017-01-09 20:52:20 -08:00
Steven Fackler 192c08cdee Adjust minimum pkg-config version
Closes #551
2017-01-07 13:13:53 -08:00
Marc-Antoine Perennou 524e8e3c5a libressl: mark unavailable flags as such
These flags are not available in libressl (at least for version 2.4.4 which is the last stable version)

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-01-05 16:15:25 +01:00
Steven Fackler c6ea4f3e2a Fix time type 2017-01-04 23:04:26 -08:00
Steven Fackler 404e0341d8 Provide master key access 2017-01-04 22:01:30 -08:00
Steven Fackler 5d53405597 Provide access to the session ID 2017-01-04 21:11:06 -08:00
Steven Fackler 1ffe574298 Add SSL_SESSION functions 2017-01-04 20:57:50 -08:00
Steven Fackler 336175990c Add SSL_SESSION 2017-01-04 20:54:53 -08:00
Steven Fackler cdf388e3f4 Release v0.9.5 2017-01-03 16:09:24 -08:00
Steven Fackler 6291407b17 Add X509::stack_from_pem
Implementation is a clone of SSL_CTX_use_certificate_chain_file
2017-01-03 14:56:00 -08:00
Tomasz Drwięga d9e3d6ea21 Improving missing OpenSSL message on Linux 2017-01-03 11:56:32 +01:00
Josh Triplett 9ff3ce4687 Use metadeps to specify pkg-config dependencies declaratively
This makes it easier for distribution packaging tools to generate
appropriate package dependencies.
2016-12-24 02:38:51 -08:00
Steven Fackler 762510a5fa Release v0.9.4 2016-12-23 13:38:52 -05:00
Steven Fackler 7e035a7fd1 Merge pull request #538 from semarie/libressl
Add LibreSSL support
2016-12-22 11:59:19 -05:00
Sébastien Marie b3526cbd2b Add LibreSSL 2.5.0 support 2016-12-21 09:27:12 +01:00