Steven Fackler
68954cfc51
Finish BN overhaul
2016-10-16 23:13:00 -07:00
Steven Fackler
89a366d9f7
Finish crypto error cleanup
2016-10-16 19:24:04 -07:00
Steven Fackler
19440c2981
More error cleanup
...
Also allocation free RSA
2016-10-16 19:06:02 -07:00
Steven Fackler
73ccfe7a29
Continue error handling cleanup
...
Also overhaul/clean up pkcs5 internals
2016-10-16 16:42:56 -07:00
Steven Fackler
4ba5292a0a
De-enumify Padding
2016-10-15 16:19:19 -07:00
Steven Fackler
1cecaeb62d
De-enumify Cipher
2016-10-15 15:47:40 -07:00
Steven Fackler
c171be551a
De-enumify message digests
2016-10-15 15:23:29 -07:00
Steven Fackler
6609a81685
Migrate DSA sign/verify to EVP APIs
2016-10-15 15:02:02 -07:00
Steven Fackler
4ed81d6426
Fix EVP_DigestVerifyFinal version support
2016-10-15 13:12:37 -07:00
Steven Fackler
2ff82649b5
Add examples to crypto::sign
2016-10-15 12:50:03 -07:00
Steven Fackler
ea8cbbe9dc
Fix typo
2016-10-15 12:31:30 -07:00
Steven Fackler
4d567358a1
Distinguish between verification errors and "other" errors.
2016-10-15 12:31:06 -07:00
Steven Fackler
bb23b33829
Fix signature of EVP_DigestVerifyFinal on 1.0.1
2016-10-15 12:24:20 -07:00
Steven Fackler
6ae472487f
Support HMAC PKeys and remove hmac module
2016-10-15 11:06:11 -07:00
Steven Fackler
cce1d44f28
Remove old RSA sign and verify methods
2016-10-15 10:43:19 -07:00
Steven Fackler
f73313d688
Signature and verification support
2016-10-15 10:36:59 -07:00
Steven Fackler
ae282a78e2
Remove link_name usage
2016-10-14 16:15:50 -07:00
Steven Fackler
edfc50f37d
Clean up features
2016-10-13 19:46:13 -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
9a449dbd6e
Fix password callback on ARM
...
Closes #449
2016-09-08 09:35:56 -07:00
Steven Fackler
e6c4135c53
Docs for pkcs12
2016-08-14 11:24:18 -07:00
Steven Fackler
6b12a0cdde
PKCS #12 support
2016-08-14 11:11:26 -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
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
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
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
2a3e9a2856
Add RSA::generate
2016-08-07 22:35:37 -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
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
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