Commit Graph

24 Commits (bd4432b7bebd421a603c19aea0f8664b1dc7f796)

Author SHA1 Message Date
Daniele Lacamera e8e49f4cb9 Updated wolfcrypt, copyright notes. Add pwdbased on by default. 2022-01-10 21:23:12 +01:00
Hayden Roche ab332f5869 Add a pem_to_der function and support for PEM RSA keys. 2021-12-20 15:23:04 -08:00
Daniele Lacamera e3968d1932 Adding support for ed448 2021-12-13 13:40:12 +01:00
Hayden Roche b79527f876 Make wolfcrypt-py work with FIPS ready and other improvements.
- Detect ECC timing resistance and call wc_ecc_set_rng where appropriate.
- Detect FIPS version and use that information to figure out how to map hash
enum values (see _TYPE_SHA and friends).
- Don't call wc_HmacSetKey in the _Hmac constructor if the key passed to _init
is length 0. This can happen, for example, when the _Hmac object is being
copied. The copy operation copies over the raw memory from the underlying C
object, so it's not important that we call wc_HmacSetKey in this case.
- Removed a unit test that expected importing an ECC public key from a private
key to fail. This does fail in the default wolfSSL version for wolfcrypt-py,
v4.1.0-stable, but we added the feature to be able to import public from
private with wolfSSL PR #2916. As a result, this test fails with v4.8.1-stable.
We should upgrade wolfcrypt-py's default wolfSSL version (and the wolfcrypt-py
version itself) in the near future.
- The array slicing in test_key_encoding was wrong in many places. This likely
stemmed from the author thinking slices were inclusive, but that's only true
for the first element of the slice (e.g. [0:31] is elements 0-30 inclusive, not
elements 0-31 inclusive). This was uncovered by testing with FIPS ready, which
adds -DWOLFSSL_VALIDATE_ECC_IMPORT, causing us to check ECC keys with
wc_ecc_check_key. wc_ecc_check_key kept saying, "hey, that point's not on the
curve." The array slicing problem was the culprit.
- Fixed tests that were doing HMAC with a key less than HMAC_FIPS_MIN_KEY.
2021-09-16 12:55:47 -07:00
Hayden Roche 46b6d6ac0b Add support for RSA private keys in PKCS #8 format. 2021-01-21 10:53:36 -06:00
Daniele Lacamera 6954491dbd Fixed arguments in Chacha.set_iv(nonce, counter=0) 2020-06-18 10:01:28 +02:00
Daniele Lacamera 1852a13c7f Added support for ChaCha stream cipher 2020-06-09 16:47:17 +02:00
Chris Conlon e7601183c4 update copyright to 2020 2020-01-03 16:29:04 -08:00
Chris Conlon 8aeb58df62 feature detection for RSA keygen, line length cleanup 2019-09-24 15:06:50 -06:00
Chris Conlon 606ead172a native feature detection for wolfSSL algorithms, cffi cleanup 2019-09-24 14:38:42 -06:00
Daniele Lacamera 44b5002dfe [RSA] New methods:
- .make_key()
- .encode_key()
2019-09-03 18:40:42 +02:00
Daniele Lacamera effb3b621a Added ecc_sign_raw and ecc_verify_raw + test cases
ECC signature can be represented in its raw element R,S
2019-04-16 20:32:47 +02:00
David Garske 5e9d6d7bec
Merge pull request #3 from danielinux/ed25519-pubkey
Ed25519Private: change to handle public keys
2019-04-15 15:24:51 -07:00
Daniele Lacamera 80124da3c7 Added methods for ECC key handling via raw elements
* EccPrivate.decode_key_raw()
* EccPrivate.encode_key_raw()
* EccPublic.decode_key_raw()
* EccPublic.encode_key_raw()
2019-04-05 16:17:43 +02:00
Daniele Lacamera 2e4e2db493 Ed25519Private can now handle public keys 2019-04-04 14:57:31 +02:00
Daniele Lacamera afcbe851d6 Added Ed25519 cipher + tests 2019-03-27 15:37:24 +01:00
Moisés Guimarães 07b547b80c updates docs 2018-03-19 22:07:53 +01:00
Moisés Guimarães f706b1c4b5 maxes code coverage 2018-02-26 23:20:44 +01:00
Moisés Guimarães b2d93c219c adds ecc api mapping and tests 2018-02-26 20:19:33 +01:00
Moisés Guimarães b4556ba294 updates copyright and fixes docs 2018-01-08 16:04:27 -03:00
Moisés Guimarães f232680c54 fixes flake8 issues 2018-01-08 15:11:59 -03:00
Moisés Guimarães 69d21052f1 updates copyright year 2017-12-19 13:47:02 -03:00
Moisés Guimarães 640041c285 migrates tests to py.test 2017-12-18 15:24:28 -03:00
Moisés Guimarães 71e205943f moving files to wolfcrypt-py 2017-12-11 17:27:41 -03:00