Commit graph

244 commits

Author SHA1 Message Date
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
Hans Leidekker 0c2408464c bcrypt: Merge the various key import Unix calls into one.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:37:22 +01:00
Hans Leidekker c1ed9ca9b1 bcrypt: Merge the various key export Unix calls into one.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:37:15 +01:00
Hans Leidekker 9176251af4 bcrypt: Call key_destroy() instead of BCryptDestroyKey().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:36:52 +01:00
Hans Leidekker f3d4df60ff bcrypt: Pass the algorithm ID to key_asymmetric_create().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:36:41 +01:00
Hans Leidekker 9ff16aa1cb bcrypt: Return an error when BCryptFinalizeKeyPair() is called twice.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 18:27:43 +01:00
Santino Mazza bae287a1aa bcrypt: Implement KeyLength property.
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Santino Mazza 83bb9eb9aa bcrypt: Validate key size when importing RSA public key.
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 11:21:43 +01:00
Santino Mazza b3073dc14a bcrypt: Add support for PUBLICKEY blob types.
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 10:06:01 +01:00
Santino Mazza 94e5de6d16 bcrypt/tests: Test for invalid RSA keyblob.
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 20:17:25 +01:00
Eric Pouech 5cf4d0b6c9 bcrypt/tests: Don't outdent todo_wine*.
This prevents -Wmisleading-indentation warnings (Mingw GCC11).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-21 18:55:22 +01:00
Hans Leidekker 5ce0e86d04 bcrypt/tests: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:32 +01:00
Hans Leidekker 045f50a78a bcrypt: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 18:43:22 +01:00
Eric Pouech d963d056a7 bcrypt: In unixlib, don't use Windows long type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-01 18:23:19 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Piotr Kleski f32a9d1e20 bcrypt: Return BCryptSignHash len when only output is NULL.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52426
Signed-off-by: Piotr Kleski <piotr.kleski@mobica.com>
Signed-off-by: Michal Janiszewski <michal.janiszewski@mobica.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:15:40 +01:00
Hans Leidekker ab4edfd862 bcrypt: Use CRT memory allocators.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:56:09 +01:00
Hans Leidekker e6da4eed7e bcrypt/tests: Link directly to functions available since Windows 7.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:56:09 +01:00
Hans Leidekker 2795c7f995 bcrypt: Add support for exporting RSA private keys.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52060
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:56:09 +01:00