Commit Graph

2169 Commits

Author SHA1 Message Date
Steven Fackler 4ee7e0d3a9 Tweak verify_cert's signature
The call can fail either due to an invalid cert or an internal error,
and we should distinguish between the two.
2018-03-11 14:08:34 -07:00
Steven Fackler 00359a1a55
Merge pull request #861 from bkchr/verify_certificate
Implements `X509_verify_cert`
2018-03-11 13:37:21 -07:00
Steven Fackler a5c2ddb219
Merge pull request #870 from sfackler/tweaks
Rename Oid to Id
2018-03-11 13:37:03 -07:00
Steven Fackler 40e59db37c Rename Oid to Id 2018-03-11 13:29:01 -07:00
Bastian Köcher d7a7c379a8 Changes `init` to take a closure which is called with the initialized context
After calling the closure, we automatically cleanup the context. This is
required, because otherwise we could have dangling references in the context.
2018-03-11 11:34:36 +01:00
Steven Fackler eb5fda588f
Merge pull request #862 from bkchr/sign_verifier
Adds new functions for Verifier/Signer
2018-03-10 16:42:33 -08:00
Steven Fackler 11f35dd566
Merge pull request #867 from sfackler/1.1.1-pre2
Bump 1.1.1 to pre2
2018-03-10 16:35:59 -08:00
Steven Fackler 67640ed599 Bump 1.1.1 to pre2 2018-03-10 16:26:01 -08:00
Steven Fackler 562fe79f4c Add one more set of impls 2018-03-10 08:53:46 -08:00
Steven Fackler c3b6e87244
Merge pull request #866 from sfackler/more-sync
Impl Sync and Send for various types
2018-03-10 08:52:16 -08:00
Steven Fackler 245f5f3a11 Impl Sync and Send for various types
Closes #865
2018-03-09 22:14:50 -08:00
Bastian Köcher 7fe3fabf24 Switches to new type wrapper for RsaPssSaltlen 2018-03-10 00:27:15 +01:00
Bastian Köcher a5d7f8a718 Moves store context init into its own function 2018-03-10 00:15:03 +01:00
Bastian Köcher a5ba1a0007 Adds `RsaPssSaltlen` enum to encode the special values 2018-03-08 16:17:32 +01:00
Bastian Köcher b0ea53184d Switches to newtype wrapper for Oid 2018-03-08 12:24:37 +01:00
Bastian Köcher 1a0b085377 Extends the test to verify the certificate two times 2018-03-08 12:10:29 +01:00
Bastian Köcher 810ddeb4ca Moves `cleanup` into its own function 2018-03-08 12:08:39 +01:00
Bastian Köcher 724dd6f830 Adds more functions to `Verifier`/`Signer` for RSA keys 2018-03-07 20:43:28 +01:00
Bastian Köcher 84a5ce7607 Adds RSA PKCS1 PSS padding 2018-03-07 20:43:12 +01:00
Bastian Köcher 9a8a1c752b Adds `PKeyRef::get_id` to get the OID of a key 2018-03-07 18:42:13 +01:00
Bastian Köcher 888f4ccaab Fixes the implementation of `X509StoreContextRef::verify_cert`
The certificate, the store and the certificates chain does not need to be
consumed by `verify_cert` and instead are taken as references. We also call
`X509_STORE_CTX_cleanup`, after the verification succeeded.
2018-03-07 16:07:57 +01:00
Benjamin Fry 53adf0e6a4 delay return until after forgets 2018-03-07 13:54:35 +01:00
Benjamin Fry 6abac82f13 cleanup and add negative test 2018-03-07 13:54:35 +01:00
Benjamin Fry a1cfde765a add cleanup ffi to store context 2018-03-07 13:54:15 +01:00
Benjamin Fry 3187366cc5 restructure to self contained function 2018-03-07 13:53:29 +01:00
Steven Fackler 2251a6f2b6 Little tweaks 2018-03-07 13:51:58 +01:00
Benjamin Fry d8a11973e2 convert to raw pass-through methods 2018-03-07 13:51:58 +01:00
Benjamin Fry 910386027d add comment about consuming self in verify_cert 2018-03-07 13:50:12 +01:00
Benjamin Fry 35cad33d51 fix error check 2018-03-07 13:50:12 +01:00
Benjamin Fry 847fac25f8 properly version library functions 2018-03-07 13:48:09 +01:00
Benjamin Fry 3595ff9e51 Fix memory mgmt 2018-03-07 13:42:39 +01:00
Benjamin Fry eb6296e892 add verify_cert and store_context_builder 2018-03-07 13:41:44 +01:00
Steven Fackler f645165ee2 Remove the x509 module-level example
The example generated a bogus certificate that was missing a serial
number, a validity range, etc.

Generating a correct x509 certificate is complex enough that doing it
correctly is too long to be a reasonable doc example. There's already
a more complete example in the examples directory that handles things
more correctly.

Closes #859
2018-03-05 19:25:01 -08:00
Steven Fackler 5760ded1ce
Merge pull request #857 from Ralith/middlebox-compat
Add SslOptions::ENABLE_MIDDLEBOX_COMPAT
2018-03-03 15:06:47 -08:00
Benjamin Saunders f92de22b8d Add SslOptions::ENABLE_MIDDLEBOX_COMPAT 2018-03-03 14:57:38 -08:00
Steven Fackler b6985c7e8d Release openssl v0.10.5 2018-02-28 14:33:04 -08:00
Steven Fackler aa9addf532 Release openssl-sys 0.9.27 2018-02-28 14:31:23 -08:00
Steven Fackler 7fcd1ba96d Update changelog 2018-02-28 14:23:44 -08:00
Steven Fackler 65e124055c
Merge pull request #854 from sfackler/error-description
Always include something in ErrorStack's Display
2018-02-27 17:30:48 -08:00
Steven Fackler 85d8db21d2 Always include something in ErrorStack's Display
The error stack can be empty after a some kinds of errors (AEAD
validation failure in Crypter is one example), and we don't want to
display as an empty string in that case.
2018-02-27 15:56:23 -08:00
Steven Fackler 42ec251b55
Merge pull request #853 from sfackler/min-max-version
Add min/max protocol version support
2018-02-26 11:39:31 -08:00
Steven Fackler b7ba577339 Add min/max protocol version support 2018-02-25 23:20:10 -08:00
Steven Fackler d5dd6575c1 Restore error stack in cookie callback 2018-02-25 22:11:08 -08:00
Steven Fackler b94b0f67c5
Merge pull request #835 from Ralith/stateless
[WIP] Expose bindings needed for TLS1.3 stateless handshakes
2018-02-25 22:10:17 -08:00
Benjamin Saunders e04dbfa3ee Expose cookie generate/verify callback setters 2018-02-25 20:05:15 -08:00
Benjamin Saunders e06a209e72 Expose FFI bindings needed for SSL_stateless 2018-02-25 19:58:49 -08:00
Steven Fackler cebfbd9a25
Merge pull request #850 from sfackler/put-error
Add the ability to push errors back onto the error stack.
2018-02-24 20:58:07 -08:00
Steven Fackler 5fd23d38d5 Add the ability to push errors back onto the error stack. 2018-02-24 20:46:03 -08:00
Steven Fackler 6a5845c875
Merge pull request #849 from sfackler/key-export
Add RFC 5705 support
2018-02-24 14:15:11 -08:00
Steven Fackler f72f35e9bd Add RFC 5705 support 2018-02-23 22:04:57 -08:00