Commit Graph

61 Commits

Author SHA1 Message Date
Hans Leidekker f0a18f6f19 bcrypt: Implement BCryptDeriveKeyPBKDF2.
Based on a patch by Jack Grigg.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42704
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Hans Leidekker 158ce169e4 bcrypt: Add support for importing and exporting ECC private keys.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Hans Leidekker 5c2ac77ab7 bcrypt: Add support for importing and exporting ECC public keys.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Hans Leidekker 73b695f059 bcrypt: Implement BCryptGenerate/FinalizeKeyPair for ECDH P256.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46564
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Hans Leidekker 370ffa0d14 bcrypt: Clear magic bytes on destroy.
Based on a patch by Steven Noonan.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-17 10:08:03 +01:00
Hans Leidekker dc97df72ff bcrypt: Support retrieving properties from key handles.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 10:02:25 +01:00
Michael Stefaniuc 7f99932a39 bcrypt/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 09:28:23 +02:00
Hans Leidekker f352837868 bcrypt: Add support for BCRYPT_OPAQUE_KEY_BLOB.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 16:06:03 +02:00
Kimmo Myllyvirta 2154562d7e bcrypt/tests: Add simple test for RSA.
Based on patch from Bernhard Übelacker.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 21:06:24 +02:00
Michael Müller 19e0f97f71 bcrypt: Implement BCryptVerifySignature for ECDSA signatures.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 21:06:13 +02:00
Michael Müller 76b6c360fa bcrypt: Implement importing of ECDSA keys.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 21:06:04 +02:00
Michael Müller 5946973021 bcrypt/tests: Add basic test for ECDSA.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 16:28:22 +01:00
Michael Müller d0006d05c9 bcrypt: Add support for 192 and 256 bit AES keys.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 16:28:20 +01:00
Hans Leidekker 0c55f8faa3 bcrypt: Implement support for ECB chain mode.
Based on a patch by Sebastian Lackner.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 16:28:17 +01:00
Andrew Wesie 5118eb3ab5 bcrypt: Fix BCryptEncrypt with AES_GCM and no input and no output.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 11:41:38 +01:00
Hans Leidekker aabc55c491 bcrypt/tests: Add more tests for BCryptGenerateSymmetricKey and BCryptDuplicateKey.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 11:41:29 +01:00
Sebastian Lackner e7923d3e0d bcrypt/tests: Add tests for auth data in AES GCM mode.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 11:41:24 +01:00
Sebastian Lackner 4f4adf6972 bcrypt/tests: Add tests for BCryptDuplicateKey.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 11:41:16 +01:00
Michael Müller 1b999a447b bcrypt: Allow to call BCryptSetProperty on key objects.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:41:24 +01:00
Michael Müller c7b46e8e3c bcrypt: Add support for computing/comparing cipher tag.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:41:19 +01:00
Michael Müller 8d2b1d276d bcrypt: Implement BCryptDecrypt for AES GCM mode.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:41:15 +01:00
Michael Müller 7c9291ce07 bcrypt: Implement BCryptEncrypt for AES GCM mode.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:41:12 +01:00
Michael Müller 313c06bfbf bcrypt: Implement BCryptGetProperty for BCRYPT_AUTH_TAG_LENGTH.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 13:16:32 +01:00
Michael Müller ba1ed4432c bcrypt: Implement BCryptGetProperty for BCRYPT_CHAINING_MODE.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 13:16:32 +01:00
Michael Müller 7ec0892ab7 bcrypt: Implement BCryptSetProperty for algorithms.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 13:16:32 +01:00
Michael Müller 3fe621b6e5 bcrypt/tests: Add tests for AES GCM mode.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 13:15:10 +01:00
Hans Leidekker c77d5c65fb bcrypt: Partial implementation of BCryptImportKey and BCryptExportKey.
Based on a patch by Michael Müller.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-28 17:24:38 +01:00
Sebastian Lackner 1db5170f49 bcrypt: Correctly check the size in BCryptGetProperty.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-28 17:24:36 +01:00
Jacek Caban e73d4e55a9 bcrypt: Added support for MD4 hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 20:11:11 +01:00
Jacek Caban 85657376b3 bcrypt: Added MD2 hash support.
By adopting rsaenh implementation.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 20:10:28 +01:00
Jacek Caban 1d0d119716 bcrypt/tests: Use common helper for testing different hash types.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 20:09:40 +01:00
Nikolay Sivov a71062b95c bcrypt: Support BCRYPT_KEY_LENGTHS property for AES.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:08:44 +09:00
Hans Leidekker 024a8a0be2 bcrypt: Implement BCryptDecrypt.
Partially based on a patch by Michael Müller.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 22:29:22 +09:00
Hans Leidekker 7f8dd873c8 bcrypt: Implement BCryptEncrypt.
Partially based on a patch by Michael Müller.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 22:29:17 +09:00
Hans Leidekker 9c5a200de5 bcrypt: Implement BCryptGenerateSymmetricKey and BCryptDestroyKey.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 22:28:49 +09:00
Hans Leidekker b677b58b60 bcrypt: Add a stub AES implementation.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 22:27:36 +09:00
Sebastian Lackner bc20b546ef bcrypt/tests: Add basic tests for BCryptDuplicateHash.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:28 +01:00
Sebastian Lackner 1ffe98264c bcrypt/tests: Move common tests to a helper function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:27 +01:00
Sebastian Lackner eecb068ac0 bcrypt: Return error when requesting BCRYPT_HASH_LENGTH for unsupported object.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:27 +01:00
Hans Leidekker 1ee781266d bcrypt/tests: Relax the AES object length test.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-17 12:25:07 +01:00
Hans Leidekker fd8f32aa8e bcrypt/tests: Add BcryptEncrypt/Decrypt tests.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 18:58:36 +01:00
Hans Leidekker 63852e6ac4 bcrypt/tests: Add BCryptGenerateSymmetricKey tests.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 18:58:33 +01:00
Hans Leidekker 9fcdc5ec75 bcrypt/tests: Add AES provider tests.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 18:58:22 +01:00
Bruno Jesus 8d8936cbb6 bcrypt/tests: Normalize all tests to use function pointers.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 18:58:08 +01:00
Bruno Jesus b5e5be13d2 bcrypt/tests: Workaround RegGetValueW not being present in XP.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 18:57:58 +01:00
Kai Blaschke c1bc25dd38 bcrypt/tests: Show that BCryptGetFipsAlgorithmMode checks a registry key.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 23:42:53 +09:00
Hans Leidekker 6415947e09 bcrypt: Add support for BCRYPT_RNG_ALGORITHM.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:41 +09:00
Patrick Armstrong 408251948e bcrypt: Added BCryptHash function.
Signed-off-by: Patrick Armstrong <pat@oldpatricka.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-24 20:03:51 +09:00
Patrick Armstrong 630f5e97b1 bcrypt: Implement support for HMAC.
Signed-off-by: Patrick Armstrong <pat@oldpatricka.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:24:14 +09:00
Patrick Armstrong ce3921df33 bcrypt: Make BCryptHashData behave more like Windows with empty input.
Signed-off-by: Patrick Armstrong <pat@oldpatricka.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 18:41:22 +09:00