Commit Graph

1101 Commits

Author SHA1 Message Date
Steven Fackler f9866cd44f Split X509StoreContextRef::ssl up 2017-12-26 14:53:35 -07:00
Steven Fackler 129b6b9d84 Overhaul verify error type
Also set the error in the hostname verification callback for 1.0.1
2017-12-26 14:43:10 -07:00
Steven Fackler 19dc6ce1eb Adjust SslConnector and SslAcceptor construction 2017-12-26 10:39:21 -07:00
Steven Fackler ce0641f093 Drop Any bounds 2017-12-26 08:55:12 -07:00
Steven Fackler 2adf2cf12b Remove deprecated APIs 2017-12-25 22:09:27 -07:00
Steven Fackler 3744e31e16 Fix a bunch of FIXMEs 2017-12-25 21:44:41 -07:00
Steven Fackler 7cc6c9b2f2 Tweak default ssl options 2017-12-25 21:18:49 -07:00
Steven Fackler 7d0c6c9442 Fix tests 2017-12-25 20:32:06 -07:00
Steven Fackler 77448362ce Rename X509FileType to X509Filetype 2017-12-25 19:57:02 -07:00
Steven Fackler 3eab162dc2 Move to associated consts 2017-12-25 19:56:27 -07:00
Steven Fackler bbae793eb3 Upgrade bitflags to 1.0
Closes #756
2017-12-25 19:38:11 -07:00
Steven Fackler 2aaba8bd7a Make Nid values associated constants 2017-12-25 19:19:47 -07:00
Steven Fackler 34d700309c Clean up 1.0.1 hostname verification 2017-12-23 19:32:33 -07:00
Steven Fackler 196a855d2a Allow SNI and hostname verification to be configured separately
Closes #728
2017-12-23 12:47:38 -08:00
Steven Fackler 43753698da
Impl Send + Sync for x509 stuff 2017-12-13 11:35:04 -05:00
Steven Fackler 4b732dad19 Fix link 2017-12-09 15:50:23 -08:00
Steven Fackler 48db60aca0 Release v0.9.23 2017-12-05 21:58:24 -08:00
Steven Fackler 3207e57a09 Finish documentation for the ssl module
Closes #727
2017-12-04 22:15:56 -08:00
Steven Fackler bf70d3dd71 Docs for the ssl module.
cc #727
2017-12-03 23:10:56 -08:00
Steven Fackler 4a10c31219 Impl deref for acceptor/connector builders 2017-12-03 19:24:11 -08:00
Steven Fackler 531ca4a0fa Documentation for the `sign` module.
Closes #720
2017-12-03 17:01:12 -08:00
Steven Fackler 1c4b933faf Rename Signer::finish to sign_to_vec 2017-12-03 15:58:37 -08:00
Steven Fackler 3cd486d956 Clean up tests 2017-12-03 15:30:22 -08:00
Steven Fackler 13a13727e8
Merge pull request #785 from P-E-Meunier/split-signer-finish
Splitting the sign::Signer::finish function, to avoid allocations
2017-12-03 15:08:51 -08:00
pe@pijul.org 9732264b51 Simplifying finish_into 2017-12-03 23:37:58 +01:00
pe@pijul.org 905d3f716b Splitting the sign::Signer::finish function, to avoid allocations 2017-12-03 12:10:21 +01:00
pe@pijul.org fccb2eab4e Adding dp(), dq() and qi() methods to RSA, to get the CRT parameters back 2017-12-02 12:30:50 +01:00
Igor Gnatenko fc08ffa1fe
bump lazy_static to 1 2017-11-30 17:41:58 +01:00
Steven Fackler 78ffe0a89c Release openssl 0.9.22 2017-11-29 09:38:28 -08:00
Steven Fackler e9ad9f1afd Upgrade foreign-types
foreign-types 0.3 and 0.2 now share the same types and traits, so this
is backwards compatible.
2017-11-26 17:07:24 -07:00
Steven Fackler de987f20c8
Revert "Update foreign-types to 0.3" 2017-11-21 08:51:37 -08:00
Anthony Ramine 93be1c4f2f Update foreign-types to 0.3 2017-11-21 09:17:39 +01:00
Steven Fackler e221b76e28 Release v0.9.21 2017-11-17 09:11:06 -08:00
Steven Fackler 55bf390dbe Adjust libressl version detection
The 2.5.3+ and 2.6.3+ series are ABI-stable, so we don't need to
whitelist individual releases in those ranges.
2017-11-13 21:51:55 -08:00
phoebe jenkins 6257835757 Add support for LibreSSL 2.6.3 2017-11-13 09:51:17 -05:00
Paul Florence 0bae121e12 Added a macro that wraps foreign type, and impl Send and Sync for both,
the borrowed type and the owned one.
Replaced all invocation of `foreign_type` by `foreign_type_and_impl_send_sync`.
2017-11-10 10:05:52 -05:00
Brian Vincent 5eea31676e Add an example of making a CA and certs and verifying. 2017-11-06 23:14:56 -06:00
Steven Fackler 8830bd5daf Add a couple of FIXMEs 2017-11-05 10:47:05 -08:00
Steven Fackler 6bb54e0171
Merge pull request #764 from AndyGauge/doc-error
Doc error
2017-11-05 10:24:59 -08:00
Steven Fackler a1a3219483 Handle local retries
OpenSSL can return SSL_ERROR_WANT_READ even on blocking sockets after
renegotiation or heartbeats. Heartbeats ignore the flag that normally
makes these things handled internally anyway on 1.0.2. To handle this
more properly, we now have a special error type we use to signal this
event. The `Read` and `Write` implementation automatically retry in this
situation since that's what you normally want. People can use `ssl_read`
and `ssl_write` if they want the lower level control.

Closes #760
2017-11-04 13:32:18 -07:00
AndyGauge 829c805543 fixed broken example and syntax error in module level documentation 2017-11-04 12:24:24 -07:00
Steven Fackler 27c3b01ad8
Merge pull request #747 from BrianOn99/symm
Symm documentation
2017-11-04 11:51:05 -07:00
Steven Fackler f79d92dd67
Merge pull request #761 from AndyGauge/doc-ec
Doc ec module
2017-11-04 11:50:22 -07:00
Julien Cretin a5c582a7df Update data-encoding major version 2017-11-04 18:33:00 +01:00
Andy Gauge 556f371689 Error documentation improvement 2017-10-27 16:59:36 -07:00
Andy Gauge cda2662cbc Merge branch 'master' into doc-ec 2017-10-24 16:44:21 -07:00
Andy Gauge df10bcf960 Update documentation for EC module 2017-10-24 16:43:01 -07:00
Brian Vincent d5299a8d2b Fixed a typo in an error message, WANT_WRITE -> WANT_READ 2017-10-17 20:06:35 -05:00
Steven Fackler 09f2a3e9db Release v0.9.20 2017-10-14 14:36:55 -07:00
Steven Fackler f4f00d4613 Merge pull request #755 from AndyGauge/doc-dsa
Documentation for DSA module
2017-10-14 13:08:17 -07:00
Andy Gauge 80efaf72e6 DSA size returns maximum size of signature 2017-10-11 13:06:52 -07:00
Andy Gauge a62069cef9 Began EC documenation 2017-10-11 13:04:53 -07:00
Andy Gauge 2c7f0e7604 Merge branch 'master' of https://github.com/sfackler/rust-openssl 2017-10-09 12:10:04 -07:00
Andy Gauge 39f918ff3d Documentation improvements for DSA module 2017-10-09 12:06:46 -07:00
BrianOn99 75e6db6f00 Move doc details into another paragraph 2017-10-09 11:14:27 +08:00
Steven Fackler 44a000f3a6 Merge pull request #753 from zsck/issue719
Added module-level documentation for the `sha` module.
2017-10-08 16:54:13 -07:00
Steven Fackler 79d6172571 Merge pull request #749 from johnthagen/conf
Document conf module
2017-10-08 16:52:30 -07:00
johnthagen 407f330d7b Move OpenSSL implementation details into a normal comment 2017-10-07 18:29:53 -04:00
Zack Mullaly a33efaa349 Include the hex crate and ToHex import to the second example 2017-10-07 17:07:53 -04:00
Zack Mullaly f206eb6a4b Added module-level documentation for the `sha` module.
The documentation included describes what the SHA family of hash functions is,
what hash functions are for, and a little bit about why one may want to use the
SHA family of hash functions.  I have also included a couple of examples demonstrating
how to create a hasher and update it, as well as how to hash bytes directly.
2017-10-07 16:49:09 -04:00
Steven Fackler 9d43fc6e02 Merge pull request #744 from AndyGauge/doc-bn
Doc BigNum
2017-10-07 13:44:54 -07:00
Steven Fackler 0058478392 Merge pull request #748 from AndyGauge/doc-cms
CMS module documentation
2017-10-07 13:08:32 -07:00
Andy Gauge 040287dbb5 Module level documentaiton rewrite 2017-10-04 08:22:40 -07:00
Andy Gauge a989e414f4 Describe return values of groups. 2017-10-04 08:17:14 -07:00
Andy Gauge de18ccf5fe Begun DSA documentation 2017-10-04 08:01:35 -07:00
Steven Fackler ff8f54812c Merge pull request #752 from chrisvittal/libressl262
Add support for LibreSSL 2.6.2
2017-10-03 22:11:29 -07:00
Christopher Vittal 1308cb2b52 Fix cfgs for libressl262 2017-10-04 00:53:09 -04:00
Christopher Vittal e0efd1d438 Add support for LibreSSL 2.6.2 2017-10-03 23:59:33 -04:00
johnthagen b5bb8de4f2 Convert try! usage to ? 2017-10-03 17:44:02 -04:00
johnthagen 4f8195c472 Document conf module 2017-10-03 17:32:49 -04:00
Andy Gauge 4e59fab753 CMS module documentation 2017-10-03 11:07:35 -07:00
Andy Gauge 7c40c5269c Finished BigNum documentation 2017-10-03 09:52:14 -07:00
Chiu Yue Chun ff53750cab Additional notes on Crypter 2017-10-04 00:28:32 +08:00
Chiu Yue Chun 76ecc13cec Copy example to module level 2017-10-04 00:05:30 +08:00
Chiu Yue Chun 79a8ebb631 Add examples and more documentation to symm 2017-10-03 23:59:16 +08:00
Steven Fackler 7159215e45 Merge pull request #743 from AndyGauge/doc-asn1
Doc asn1 module
2017-09-30 21:14:12 -07:00
johnthagen 219f13eb35 Deprecate crypto module 2017-09-30 21:29:57 -04:00
johnthagen b078c67dbb Hide deprecated crypto module from docs 2017-09-30 12:06:09 -04:00
Andy Gauge feb3eb3f01 removed deny missing docs 2017-09-29 16:23:16 -07:00
Andy Gauge 1e161e924f WIP BigNum function documentation 2017-09-29 16:00:34 -07:00
Andy Gauge 9a63044175 Merge branch 'master' into doc-bn 2017-09-29 09:40:30 -07:00
Andy Gauge 38f0e8d9ee Changed Asn1Object documentation to include references to Nid 2017-09-29 09:37:46 -07:00
Andy Gauge b44d37acaf Began bn module documenation 2017-09-29 09:18:44 -07:00
Steven Fackler 1766c1d327 Merge pull request #736 from johnthagen/hide-ec-key
Hide ec_key module in docs
2017-09-28 23:56:19 -04:00
Steven Fackler c3fc494427 Merge pull request #737 from johnthagen/rand
Document rand module
2017-09-28 23:56:03 -04:00
Steven Fackler 7c0965e66d Merge pull request #740 from johnthagen/memcmp
Document memcmp module
2017-09-28 23:51:38 -04:00
Andy Gauge 2c7a19013c documented and example for ASN1 module 2017-09-28 16:27:00 -07:00
johnthagen b65540709f Document nid module 2017-09-28 14:25:39 -04:00
johnthagen c5aef19d05 Add instructions for adding OpenSSL DLLs to PATH if needed during install 2017-09-28 13:34:49 -04:00
Andy Gauge 1e3b8183bb Moved details about function and reworded block requirements 2017-09-28 08:04:10 -07:00
Andy Gauge a02b07fe76 WIP ASN.1 documentation 2017-09-28 08:00:23 -07:00
johnthagen c4b044b6ba Fix doc test and move external documentation link to rand_bytes function 2017-09-28 10:36:53 -04:00
johnthagen 26fa22fe04 Fix typos 2017-09-28 09:52:46 -04:00
johnthagen 220c707fd9 Document rand module 2017-09-28 09:49:03 -04:00
johnthagen 0f0ab2e425 Hide ec_key module in docs because it is deprecated 2017-09-28 09:28:08 -04:00
Andy Gauge f759f8dd4a Preface with links to conventional AES 2017-09-27 08:46:13 -07:00
Andy Gauge ad879ad7de AES (IGE) encryption documentation 2017-09-26 16:51:37 -07:00
Andy Gauge afde5a84b1 AES Module level docs and example 2017-09-26 16:34:06 -07:00
Andy Gauge b07b0e7fb7 WIP: document AES 2017-09-25 17:01:08 -07:00
Steven Fackler cd558d99e7 Release v0.9.18 2017-09-20 10:21:37 -04:00
Steven Fackler dc92a514ef Properly handle IPs in hostname verification 2017-09-20 10:04:09 -04:00
Steven Fackler f0db1dbc95 Merge pull request #695 from Keruspe/master
openssl-sys: support libressl 2.6.1
2017-09-17 13:57:18 -07:00
Marc-Antoine Perennou b73548da18 openssl: ecdh_tmp_callback doesn't work with libressl 2.6.1
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-09-17 19:55:47 +02:00
Marc-Antoine Perennou 5091830379 openssl: libressl 2.6.1 dropped suuport for npn
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-09-17 19:46:05 +02:00
Steven Fackler 7d41009a9c Update default client cipher list 2017-09-16 13:10:55 -04:00
Steven Fackler 9bd64edc08 Fix indentation 2017-09-15 22:31:03 -04:00
Alex Crichton 68a30c29c9 Set SSL_MODE_RELEASE_BUFFERS by default
Closes #696
2017-09-14 19:15:00 -07:00
Steven Fackler ca40c2e6a3 Symlink README in place
Allows crates.io to render it properly
2017-08-21 04:00:25 -07:00
Bradley Beddoes 1a6edc409f Rename function, removing `get_`
Fix per PR comment, should have been like this from the start :).
2017-08-22 07:44:27 +10:00
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 ea6edb133e Release v0.9.16 2017-08-10 22:17:50 -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
Steven Fackler be1b573f6b Delete DTLS tests 2017-08-08 22:01:58 -07:00
Bradley Beddoes c966583877 Refine sig for set_public_key_affine_coordinates
This functions signature was originally defined to require mutable
references for `x` / `y` as the underpinning OpenSSL C API
was not `const`.

However the actual OpenSSL implementation makes no changes. This being
the case we've chosen to reflect non mutability at the Rust level.
2017-08-09 14:20:22 +10: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 d9e0321851 Set the private key within EcKeyBuilder
The initial usecase here is creating EcKey instances from JWK
representations, that hold private keys, as defined within RFC 7517.
2017-08-09 12:44:54 +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 f34af83653 Init in bn_ctx constructor 2017-07-30 13:24:36 -07:00
Steven Fackler d1a42598d7 Init in Dh constructors 2017-07-30 13:23:19 -07:00
Steven Fackler c2164a4864 Add peer_cert_chain 2017-07-29 10:34:10 -07:00
Steven Fackler a132834132 Ignore dtls tests
They're way too flaky.

Closes #525
2017-07-29 09:54:04 -07:00
Steven Fackler 8fa9b58743 Tweak formatting on cipher list 2017-07-26 20:49:24 -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 bf6dc28f0c Release v0.9.15 2017-07-19 19:35:28 -07:00
Steven Fackler 7de1499c65 Fix X509::clone impl
Closes #667
2017-07-19 19:23:47 -07:00
Steven Fackler 9c9a0efafc Remove unused import 2017-07-16 14:31:27 -07:00
Steven Fackler 3a7ca9c2ff Switch over Linux tests to CircleCI 2017-07-16 14:15:09 -07:00
Steven Fackler 605b8af445 Tell docs.rs to build with all features 2017-07-15 22:08:52 -07:00
Steven Fackler 374ad206d5 Use foreign-type's Opaque 2017-07-15 21:53:49 -07:00
Steven Fackler bcd0dcafcb Rustfmt 2017-07-15 21:46:11 -07:00
Steven Fackler 5c2410c38a Init before creating ex indexes 2017-07-15 18:58:24 -07:00
Steven Fackler dbbf446a9e Fix build 2017-07-15 17:25:02 -07:00
Steven Fackler c68db708ee Don't overwrite the configured verify mode
We can leverage the new extra data API to configure the verification
mode up front so users can reconfigure it as they like.
2017-07-15 16:50:36 -07:00
Steven Fackler fd52bbe85c Add an API to install extra data 2017-07-15 16:50:36 -07:00
Steven Fackler e3c7a2785c Move callbacks to a submodule 2017-07-15 16:50:36 -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 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
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
Steven Fackler 240eb9731f Properly reexport ConnectConfiguration 2017-06-14 19:54:09 -07:00
Hasan d7135c88ac Fix documentation typo 2017-06-10 18:40:57 -04: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 3028958bf6 Little docs fix 2017-05-29 21:11:49 -07:00