Commit graph

262 commits

Author SHA1 Message Date
Piotr Caban f86c49695f bcrypt/tests: Add LEGACY_RSAPRIVATE_BLOB key import tests. 2023-08-10 10:01:08 +09:00
Piotr Caban 59ffbf204d bcrypt: Add support for importing LEGACY_RSAPRIVATE_BLOB keys. 2023-08-10 10:01:08 +09:00
Piotr Caban 65b90ab367 bcrypt: Add BCRYPT_KEY_STRENGTH key property implementation. 2023-08-10 10:01:07 +09:00
Paul Gofman 9af055170e bcrypt: Pass GNUTLS_VERIFY_ALLOW_BROKEN to gnutls_pubkey_verify_hash2(). 2023-06-30 17:34:53 +02:00
Hans Leidekker 9742fe8996 bcrypt: Add RC4 algorithm stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55160
2023-06-28 18:57:22 +02:00
Alex Henrie 36cf952664 bcrypt/tests: Don't allocate inside todo_wine and free outside of it.
Fixes a warning on GCC 13.
2023-06-02 09:29:37 +02:00
Sven Baars 533454111c bcrypt: Remove unused fields from struct key_asymmetric32. 2023-02-27 10:53:25 +01:00
Sven Baars 3fb2a5d55e bcrypt: Add wow64 support for PSS padding. 2023-02-24 22:23:12 +01:00
Sven Baars a554ff21d4 bcrypt: Factor out wow64 padding conversion. 2023-02-24 22:23:12 +01:00
Paul Gofman 39dc9d09f3 bcrypt: Only reset init vector if the new vector is non-NULL. 2023-02-13 17:02:45 +01:00
Paul Gofman 7d31f39487 bcrypt: Update init vector after encrypt or decrypt. 2023-02-13 17:02:45 +01:00
Paul Gofman 8e305d811a bcrypt/tests: Add more tests for AES initialization vectors. 2023-02-13 17:02:45 +01:00
Paul Gofman a88cc50365 bcrypt/tests: Test BCRYPT_PAD_NONE encryption result in test_rsa_encrypt(). 2022-12-15 22:28:28 +01:00
Paul Gofman e1fb631687 bcrypt: Set pubkey from privkey in key_asymmetric_import(). 2022-12-15 22:28:28 +01:00
Paul Gofman 6f455e10af bcrypt: Return correct error from key_asymmetric_encrypt() if key is missing. 2022-12-15 22:28:28 +01:00
Paul Gofman a7efc770f7 bcrypt: Use SecureZeroMemory() to zero magic values before free.
The compiler may optimize out the assignment before free and then
second free on the bcrypt handle finds magic values in the freed memory.
2022-12-15 22:28:28 +01:00
Paul Gofman ccdef80543 bcrypt: Do not error out for GNUTLS_ECC_CURVE_SECP384R1 in key_export_ecc(). 2022-12-14 21:25:52 +01:00
Hans Leidekker 45b823114c bcrypt: Add PSS compatibility defines.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54121
2022-12-14 11:57:07 +01:00
Hans Leidekker 96692a2c21 bcrypt: Add support for PSS padding.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53972
2022-12-06 17:12:31 +01:00
Hans Leidekker 5308911a82 bcrypt: Support duplicating public keys without access to the private key. 2022-12-06 17:12:31 +01:00
Hans Leidekker 4c46bd922d bcrypt: Validate key type. 2022-12-06 17:12:31 +01:00
Hans Leidekker f95c2e4629 bcrypt: Remove unused argument from hash_finalize(). 2022-12-06 17:12:31 +01:00
Hans Leidekker ffad823e34 bcrypt: Fix possible buffer overflow in export_gnutls_datum(). 2022-12-06 17:12:31 +01:00
Hans Leidekker cb3cc2b59f bcrypt: Pass key size in bytes to EXPORT_SIZE and use the macro consistently. 2022-12-06 17:12:30 +01:00
Hans Leidekker 11cc3ca151 bcrypt/tests: Get rid of workarounds for old Windows versions. 2022-12-06 17:12:30 +01:00
Alexandre Julliard a4f8d28de7 bcrypt: Use the Unix call helpers. 2022-11-25 10:10:34 +01:00
Hans Leidekker d75f651404 bcrypt: Validate hash output length. 2022-11-01 20:46:22 +01:00
Hans Leidekker d1291ebd40 bcrypt: Use get_object() in more places. 2022-11-01 20:46:22 +01:00
Hans Leidekker ec85dfe3ab bcrypt: Rename mode_id to chain_mode. 2022-09-13 16:22:20 +02:00
Hans Leidekker 6f5028dd03 bcrypt: Add full support for algorithm pseudo-handles. 2022-09-13 16:22:20 +02:00
Hans Leidekker 069a7c6ac6 bcrypt: Support setting BCRYPT_CHAIN_MODE_CFB on keys. 2022-09-12 17:28:23 +02:00
Chris Denton 5df4ff1341 bcrypt: Add basic support for pseudo-handles.
Support constant values for algorithm handles in `BCryptGenRandom` and make no attempt to dereference such handles.
2022-09-09 23:21:40 +02:00
Hans Leidekker 745df5915c bcrypt: Force symmetric key reset if necessary.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52457
2022-08-31 21:52:55 +02:00
Nikolay Sivov c6a75d01b5 bcrypt/tests: Use CRT allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-31 17:44:53 +02:00
Hans Leidekker 5253c8d77e bcrypt: Support ECDH_P384 key import/export. 2022-08-23 09:40:56 -05:00
Santino Mazza 5c1b0e5df5 bcrypt: Move symmetric flags check to symmetric section.
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
2022-08-15 18:11:25 +02:00
Hans Leidekker c2328d0fde bcrypt: Add compatibility defines for AES CFB8. 2022-08-09 15:53:45 +02:00
Hans Leidekker d3638d426b bcrypt: Add AES CFB chaining mode support.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53483
2022-08-04 18:59:10 +02:00
Santino Mazza dd61c5638a bcrypt: Initial RSA encryption implementation.
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
2022-08-03 15:09:02 +02:00
Santino Mazza 4a395899ea bcrypt/tests: Test for BCryptEncrypt with RSA keys.
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
2022-08-03 15:09:02 +02:00
Alexandre Julliard 194e09baec makefiles: Add separate variables for Unix flags and libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-29 23:23:41 +02:00
Hans Leidekker 2ad18d3992 bcrypt: Implement BCryptFreeBuffer().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-06 23:07:20 +02:00
Hans Leidekker 40306db341 bcrypt: Fix array index in BCryptEnumAlgorithms().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-06 23:07:20 +02:00
Huw Davies ad0a18a49d bcrypt: Use GNUTLS_DIG_UNKNOWN for an unknown digest.
Mainly to avoid a clang warning.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 17:55:05 +01:00
Hans Leidekker 48075d2a08 bcrypt: Also duplicate the public key handle in key_asymmetric_duplicate().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 23:22:06 +01:00
Hans Leidekker 1fa5bfd7da bcrypt: Fix DSA public key export when we don't have a private key handle.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 23:22:06 +01:00
Hans Leidekker 5b860a44a0 bcrypt: Fix RSA public key export when we don't have a private key handle.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 23:22:06 +01:00
Paul Gofman 00dfa1bd04 bcrypt: Fix ECC public key export.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Hans Leidekker 777cbf06d2 bcrypt: Stop passing a dummy public key to gnutls_privkey_import_dsa_raw().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:37:46 +01:00
Hans Leidekker b352d353b4 bcrypt: Store a public key handle instead of a blob.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:37:40 +01:00