Steven Fackler
1883590c61
Correct feature selection in tests
2016-10-13 19:21:12 -07:00
Steven Fackler
b610e01793
Flag off dtls and mask ssl_ops
...
Also un-feature gate npn as it ships with 1.0.1
2016-10-13 19:06:53 -07:00
Alex Crichton
ce4d233d38
Tweak some comments in Cargo.toml
2016-10-12 22:53:03 -07:00
Alex Crichton
715b700aff
Ignore a test on OpenSSL 1.1.0
2016-10-12 22:51:47 -07:00
Steven Fackler
af3e06d3e8
Add remaining SSL_OP constants
2016-10-12 22:50:08 -07:00
Alex Crichton
43c951f743
Add support for OpenSSL 1.1.0
...
This commit is relatively major refactoring of the `openssl-sys` crate as well
as the `openssl` crate itself. The end goal here was to support OpenSSL 1.1.0,
and lots of other various tweaks happened along the way. The major new features
are:
* OpenSSL 1.1.0 is supported
* OpenSSL 0.9.8 is no longer supported (aka all OSX users by default)
* All FFI bindings are verified with the `ctest` crate (same way as the `libc`
crate)
* CI matrixes are vastly expanded to include 32/64 of all platforms, more
OpenSSL version coverage, as well as ARM coverage on Linux
* The `c_helpers` module is completely removed along with the `gcc` dependency.
* The `openssl-sys` build script was completely rewritten
* Now uses `OPENSSL_DIR` to find the installation, not include/lib env vars.
* Better error messages for mismatched versions.
* Better error messages for failing to find OpenSSL on a platform (more can be
done here)
* Probing of OpenSSL build-time configuration to inform the API of the `*-sys`
crate.
* Many Cargo features have been removed as they're now enabled by default.
As this is a breaking change to both the `openssl` and `openssl-sys` crates this
will necessitate a major version bump of both. There's still a few more API
questions remaining but let's hash that out on a PR!
Closes #452
2016-10-12 22:49:55 -07:00
Steven Fackler
c1e41349fb
Rename NoPadding to None
2016-10-07 08:10:01 -07:00
Steven Fackler
b6719de92e
Rename EncryptionPadding to Padding
2016-10-07 08:09:02 -07:00
Andrei Oprisan
50648b7dac
Removed max_size; removed all encrypt/decrypt methods except private/public encrypt/decrypt which take the padding
2016-10-07 10:01:16 +03:00
Andrei Oprisan
f16cd5586f
added try_ssl_size, which handles -1 as error and returns the value otherwise; added RSA private_decrypt and public encrypt
...
lift_ssl_size
Added public/private encrypt/decrypt to RSA from the original commit + tests; added try_ssl_returns_size macro to check for -1 in case of SSL functions which return size
2016-10-05 14:39:11 +03:00
Steven Fackler
c5da7131f5
Make sure private component exists when signing
...
Closes #457
2016-09-29 00:09:31 +02:00
Steven Fackler
8d95383f32
Release v0.8.3
2016-09-09 09:19:24 -07:00
Steven Fackler
9a449dbd6e
Fix password callback on ARM
...
Closes #449
2016-09-08 09:35:56 -07:00
Novotnik, Petr
5e08ad0085
Implement Clone for openssl::error::ErrorStack
2016-09-01 20:10:02 +02:00
Steven Fackler
4718a88e04
Release openssl-sys v0.7.17, openssl v0.8.2
2016-08-18 12:59:22 -07:00
Steven Fackler
cd69343d67
Fix SslContext::add_extra_chain_cert
...
SSL_CTX_add_extra_chain_cert assumes ownership of the certificate, so
the method really needs to take an X509 by value. Work around this by
manually cloning the cert.
This method has been around for over a year but I'm guessing nobody
actually used it since it produces a nice double free into segfault!
2016-08-17 19:30:57 -07:00
Steven Fackler
80ed1ef8ab
Ignore flickering test on windows
2016-08-16 22:41:36 -07:00
David Weinstein
7a653282a9
Get rid of use Asn1TimeRef warning for some builds
2016-08-17 01:23:54 -04:00
David Weinstein
06f19cf285
Be explicit regarding Asn1TimeRef lifetimes
2016-08-17 01:23:54 -04:00
David Weinstein
90c42fc026
Fix docs
2016-08-17 01:23:54 -04:00
David Weinstein
234ce581f9
Add x509_validity feature to travis tests
...
- also update docs for new x509 `not_before`, `not_after`
2016-08-17 01:23:54 -04:00
David Weinstein
8fa4059b82
Add test for `"x509_validity"` feature
2016-08-17 01:23:54 -04:00
David Weinstein
96b1ef829c
Add `"x509_expiry"` feature flag
...
- fix return of `ASN1_TIME_print`
- assert on null `date`
2016-08-17 01:23:54 -04:00
David Weinstein
32a4e2ba50
Introduce `Asn1TimeRef`
2016-08-17 01:23:54 -04:00
David Weinstein
f9cd4bff1f
Progress on asn1 expiry
...
- Use MemBio and implement `Display` for Asn1Time
- Tweak doc for asn1 `not_before`, `not_after`
2016-08-17 01:23:54 -04:00
David Weinstein
e64d3fcfcc
Fix finicky sha1 stdin format
2016-08-17 00:58:05 -04:00
David Weinstein
e60c257019
Improve build script
...
- try and fallback to a mirror when openssl.org is down
- check the sha1 of the downloaded tarball
2016-08-17 00:48:56 -04:00
Steven Fackler
629f638f08
Release openssl-sys v0.7.16, openssl v0.8.1
2016-08-15 18:44:57 -07:00
Steven Fackler
88dcb1c81d
Add a little comment to sketchy transmute
2016-08-15 18:41:18 -07:00
Steven Fackler
e6c4135c53
Docs for pkcs12
2016-08-14 11:24:18 -07:00
Steven Fackler
e5299fd7c9
Fix memory leak in general name stack
2016-08-14 11:16:53 -07:00
Steven Fackler
6b12a0cdde
PKCS #12 support
2016-08-14 11:11:26 -07:00
Steven Fackler
ad4a8cc140
More test fixes
2016-08-14 11:05:53 -07:00
Steven Fackler
3876332734
Fix tests
2016-08-14 10:29:55 -07:00
Steven Fackler
773a6f0735
Start on PKCS #12 support
2016-08-14 10:11:38 -07:00
Steven Fackler
5042d3d170
Mangle c helper functions
...
We want to make sure that multiple openssl versions can coexist in the
same dependency tree.
Closes #438
2016-08-13 12:05:29 -07:00
Steven Fackler
2e8f19ca2f
Release openssl-sys v0.7.15, openssl v0.8.0
2016-08-11 21:00:43 -07:00
Steven Fackler
63239bf3ee
Require bitflags 7
2016-08-11 20:52:43 -07:00
Steven Fackler
b21805f541
Fix tests
2016-08-10 22:10:32 -07:00
Steven Fackler
0359afb99e
Little tweaks
2016-08-10 22:02:36 -07:00
Steven Fackler
9a3fa4d98d
Fix build
2016-08-10 21:37:24 -07:00
Steven Fackler
59fe901357
Method renames
2016-08-10 21:28:17 -07:00
Steven Fackler
c15642ccea
Tweaks
2016-08-10 21:25:18 -07:00
Steven Fackler
5e6b8e68fd
More API cleanup
2016-08-10 21:07:41 -07:00
Steven Fackler
c4e7743c57
Asn1 and Bignum renames
2016-08-10 20:51:06 -07:00
Steven Fackler
35c79d1768
Fix build
2016-08-09 23:13:56 -07:00
Steven Fackler
00db0bc4b3
Test hmac features
2016-08-09 22:56:08 -07:00
Steven Fackler
67b5b4d814
Make hmac support optional and remove openssl-sys-extras
...
rust-openssl no longer requires headers for the default feature set.
2016-08-09 22:52:12 -07:00
Steven Fackler
966c5385ea
Fix build
2016-08-09 22:26:18 -07:00
Steven Fackler
1ac54b06e9
Move X509_get_extensions to openssl helpers
2016-08-09 22:15:16 -07:00
Steven Fackler
0854632ff5
Make c_helpers optional
2016-08-09 22:02:49 -07:00
Steven Fackler
2f46c793e5
Remove rust_SSL_clone
2016-08-09 21:23:54 -07:00
Steven Fackler
15e8997052
Docs for Crypter::new
2016-08-08 23:31:25 -07:00
Steven Fackler
b8712c5c51
Fix size check
...
Decryption requires an extra byte of space
2016-08-08 23:25:06 -07:00
Steven Fackler
a8224d199b
symm reform
2016-08-08 23:10:03 -07:00
Steven Fackler
522447378e
Copy over getter macros
2016-08-08 20:37:48 -07:00
Steven Fackler
bf07dd9a4e
Remove symm_internal
2016-08-08 20:26:04 -07:00
Steven Fackler
e4b97921a9
Clean up RSA and DSA accessors
2016-08-08 19:04:30 -07:00
Steven Fackler
deb94a904b
Fix build on 1.9
2016-08-07 22:58:20 -07:00
Steven Fackler
6b1016c86e
Add PKey::from_rsa
2016-08-07 22:56:44 -07:00
Steven Fackler
6e5cd7ef47
Remove X509Generator::bitlenth
2016-08-07 22:46:14 -07:00
Steven Fackler
a8f827d28c
Fix example
2016-08-07 22:44:42 -07:00
Steven Fackler
1968956536
Restore disabled tests
2016-08-07 22:40:51 -07:00
Steven Fackler
2a3e9a2856
Add RSA::generate
2016-08-07 22:35:37 -07:00
Steven Fackler
25752280ae
Move init to crate root
2016-08-07 22:09:19 -07:00
Steven Fackler
77ba043acf
x509 cleanup
2016-08-07 21:53:05 -07:00
Steven Fackler
79602b6af4
get_error -> error
2016-08-07 21:34:58 -07:00
Steven Fackler
a0a6c03d74
DH cleanup
2016-08-07 21:19:40 -07:00
Steven Fackler
4d3c6868e7
pkcs5 reform
2016-08-07 20:57:44 -07:00
Steven Fackler
7855f428aa
PKey reform
...
This deletes the vast majority of PKey's API, since it was weirdly tied
to RSA and super broken.
2016-08-07 20:38:46 -07:00
Steven Fackler
7515272692
Fix RSA::verify
...
It never returns -1 - all errors are indicated by 0
2016-08-07 18:03:13 -07:00
Steven Fackler
6091c674c9
Fix bn tests on 32 bit
2016-08-07 17:52:13 -07:00
Steven Fackler
b56908a392
Take a c_ulong directly in BN construction
...
Closes #416
2016-08-07 17:48:18 -07:00
Steven Fackler
7ca5ccf064
Hash reform
...
Closes #430
2016-08-07 16:29:36 -07:00
Steven Fackler
05089bacb3
Refactor BigNum
2016-08-07 14:33:18 -07:00
Steven Fackler
5af01a5dbd
Clean up asn1time
2016-08-06 22:23:03 -07:00
Steven Fackler
bc97d088b0
get_handle -> handle
2016-08-05 21:07:17 -07:00
Steven Fackler
fe47e93f2f
Fix pkey method safety
2016-08-05 21:04:40 -07:00
Steven Fackler
b4145c6fa5
Clean up x509
2016-08-05 20:55:05 -07:00
Steven Fackler
4e911e7972
Make x509 constructors unsafe
2016-08-05 19:51:59 -07:00
Steven Fackler
c47be8b14b
Move SSL_CTX_set_ecdh_auto to -sys
2016-08-04 22:52:40 -07:00
Steven Fackler
ee67ea8ea0
Mvoe SSL_CTX_add_extra_chain_cert to -sys
2016-08-04 22:46:47 -07:00
Steven Fackler
378b86326c
Move SSL_CTX_set_tmp_dh to -sys
2016-08-04 22:43:24 -07:00
Steven Fackler
7fb7f4671d
Move SSL_CTX_set_read_ahead to -sys
2016-08-04 22:40:01 -07:00
Steven Fackler
77dbab2cad
Move SSL_CTX_set_tlsext_servername_callback to -sys
2016-08-04 22:37:39 -07:00
Steven Fackler
c2a7c5b7f0
Move SSL_set_tlsext_host_name to -sys
2016-08-04 22:28:33 -07:00
Steven Fackler
b29ea62491
Move BIO macros into -sys
2016-08-04 22:22:55 -07:00
Steven Fackler
dd16f64f89
Stop once-ing init wrapper
...
The underlying function already once-s itself
2016-08-04 22:15:50 -07:00
Steven Fackler
17474520bc
Support basic SSL options without C shims
2016-08-04 22:14:18 -07:00
Steven Fackler
abacc8bb18
Define SSL_CTX_set_mode in openssl-sys
2016-08-02 22:14:44 -07:00
Steven Fackler
c5b2ede282
Merge remote-tracking branch 'origin/breaks'
2016-08-02 20:52:07 -07:00
Steven Fackler
08e27f31ed
Restructure PEM input/output methods
...
Dealing with byte buffers directly avoids error handling weirdness and
we were loading it all into memory before anyway.
2016-08-02 20:49:28 -07:00
Tomasz Miąsko
635bdb45a8
BigNum binary operators with different lifetimes.
2016-08-01 22:23:26 +02:00
Steven Fackler
92abf49b96
Drop unused feature gate
2016-07-31 16:23:48 -07:00
Steven Fackler
2574bff52d
Merge pull request #432 from alexcrichton/mid-handshake
...
Add MidHandshakeSslStream
2016-07-31 16:20:10 -07:00
Steven Fackler
f1b64aa2ee
Fix weird inference issue on 1.9
2016-07-31 16:04:03 -07:00
Alex Crichton
3539be3366
Add MidHandshakeSslStream
...
Allows recognizing when a stream is still in handshake mode and can gracefully
transition when ready. The blocking usage of the API should still be the same,
just helps nonblocking implementations!
2016-07-31 16:01:06 -07:00
Steven Fackler
6f40b65d2c
Build against 1.9
2016-07-31 15:55:32 -07:00
Steven Fackler
e86eb68624
Fix catch_unwind feature and drop feature gate
2016-07-31 15:51:22 -07:00
Steven Fackler
5cb04db787
Fix build with dtls
2016-07-31 15:35:45 -07:00
Steven Fackler
f0ffa246b8
Merge remote-tracking branch 'origin/master' into breaks
2016-07-31 15:15:47 -07:00
Steven Fackler
18c1ded8c7
Revert "Add a new trait based Nid setup"
...
This reverts commit 49db4c84df .
Unclear that this is a good idea
2016-07-31 14:41:11 -07:00
Steven Fackler
df30e9e700
Merge pull request #402 from bbatha/feat/dsa-ffi
...
DSA bindings
2016-07-29 22:35:50 -07:00
Ben Batha
67d3067dbf
improve error handling in rsa
2016-07-29 20:01:54 -04:00
Ben Batha
a3a602be51
add low level dsa primitives
2016-07-29 19:04:37 -04:00
Steven Fackler
4eaada2c4b
Merge pull request #427 from onur/save_der
...
Implement save_der for X509 and X509Req
2016-07-29 09:05:51 -07:00
Onur Aslan
7c082904fc
Implement get_handle for X509Req
2016-07-29 16:30:24 +03:00
Ben Batha
39be51943d
add RUST_BACKTRACE=1 to make debugging ci failures easier
2016-07-29 09:23:29 -04:00
Onur Aslan
5ed77df197
Implement save_der for X509 and X509Req
2016-07-29 12:14:49 +03:00
Shaun Taheri
722a2bd673
Set SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag
2016-07-24 20:55:15 +02:00
Steven Fackler
85f5b8629c
Merge pull request #410 from jonas-schievink/passwd-callbacks
...
Password callbacks
2016-07-03 13:42:57 -04:00
Steven Fackler
5135fca87f
Release v0.7.14
2016-07-01 18:43:39 -04:00
Steven Fackler
121169c1f5
Set auto retry
...
SSL_read returns a WANT_READ after a renegotiation by default which ends
up bubbling up as a weird BUG error. Tell OpenSSL to just do the read
again.
2016-07-01 18:31:47 -04:00
Jonas Schievink
f24ab26936
FnMut -> FnOnce, update docs
2016-06-26 19:44:53 +02:00
Jonas Schievink
351bc569a4
Put the test behind the catch_unwind feature
...
And fix an unused variable warning
2016-06-26 18:25:54 +02:00
Jonas Schievink
d176ea1c6e
Add an RSA key decryption test
2016-06-26 18:25:54 +02:00
Jonas Schievink
41b78547ad
Put password callbacks behind a cargo feature
2016-06-26 18:25:54 +02:00
Jonas Schievink
c1b7cd2420
Make the callback take a `&mut [c_char]`
2016-06-26 18:25:54 +02:00
Jonas Schievink
c399c2475d
Add RSA::private_key_from_pem_cb
2016-06-26 18:25:54 +02:00
Jonas Schievink
8119f06ca5
Move into utility module
2016-06-26 18:25:54 +02:00
Jonas Schievink
f0b4a032d5
Try to propagate callback panics
2016-06-26 18:25:54 +02:00
Jonas Schievink
311af7c3be
Add PKey::private_key_from_pem_cb
2016-06-26 18:25:54 +02:00
Jonas Schievink
f134b94729
Document BigNum
2016-06-13 16:56:48 +02:00
Corey Farwell
f4f6412fcb
Fix a few mutable types for `self` parameters.
2016-06-02 10:25:33 -04:00
Steven Fackler
f6b612df5f
Release v0.7.13
2016-05-20 15:57:57 -07:00
Steven Fackler
95051b060d
Release v0.7.12
2016-05-16 23:04:03 -07:00
Steven Fackler
1b0757409d
Rustfmt
2016-05-16 23:03:13 -07:00
Steven Fackler
2077449bc8
Clean up RSA signature API
2016-05-16 23:03:13 -07:00
Steven Fackler
d3230874ae
Merge pull request #393 from nox/bitflags
...
Allow bitflags 0.7
2016-05-15 22:11:47 -07:00
Steven Fackler
62c29b54c1
Update cert
...
Now with a 10 year expriation
2016-05-15 22:11:10 -07:00
Anthony Ramine
2c2c272e6a
Allow bitflags 0.7
2016-05-15 12:27:49 +02:00
Steven Fackler
dce59a63c5
Merge pull request #389 from cmsd2/master
...
expose rsa from raw private key and rsa sign and verify
2016-05-06 15:12:19 -07:00
Chris Dawes
f82a1c4f75
add rsa signature tests
2016-05-05 23:41:55 +01:00
Steven Fackler
78122a9d68
Release v0.7.11
2016-05-05 13:32:27 -07:00
Chris Dawes
a5ede6a851
add missing NIDs and use Nid as input to signing
2016-05-04 09:00:05 +01:00
Steven Fackler
49db4c84df
Add a new trait based Nid setup
2016-05-03 21:15:39 -07:00
Steven Fackler
356d4a0420
Remove AsRaw{Fd, Socket} impls
...
An SslStream can't really act as a raw socket since you'd skip the whole
TLS layer
2016-05-03 20:24:07 -07:00
Steven Fackler
f1846bce78
Remove silly internal error enum
2016-05-03 20:24:07 -07:00
Steven Fackler
00f517d2cd
Drop MaybeSslStream
...
It should be inlined into crates that depend on it.
2016-05-03 20:24:07 -07:00
Steven Fackler
085b2e6f03
Drop is_dtls methods on SslMethod
2016-05-03 20:24:07 -07:00
Steven Fackler
f09ca6fee2
Clean up SNI APIs
2016-05-03 20:24:07 -07:00
Steven Fackler
61f65cd8d6
Move SslContext::set_verify to a closure based API
2016-05-03 20:24:07 -07:00
Steven Fackler
696b1961ce
Rename getters in line with conventions
2016-05-03 20:24:07 -07:00
Steven Fackler
a0549c1606
Adjust set_ssl_context API
2016-05-03 20:24:07 -07:00
Steven Fackler
fa62232649
Error reform
2016-05-03 20:24:07 -07:00
Steven Fackler
58654bc491
Remove deprecated methods
2016-05-03 20:24:07 -07:00
Steven Fackler
de47d158c2
Remove NonblockingSslStream
2016-05-03 20:24:07 -07:00
Chris Dawes
6f410a25b2
take enum instead of ints from openssl header file
2016-05-03 22:17:07 +01:00
Chris Dawes
6bbb21779b
add constructor for private keys from bignums
2016-05-03 19:46:08 +01:00
Steven Fackler
b7de627eec
Update openssl version in CI
2016-05-03 08:47:28 -07:00