Commit Graph

329 Commits

Author SHA1 Message Date
Hans Leidekker 633779b472 rsaenh: Fix a memory leak (Valgrind).
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:10 +01:00
Michael Stefaniuc de38a9e40a rsaenh: Use the ARRAY_SIZE() macro and better types.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Zhiyi Zhang af605f8b38 rsaenh: Implement RSA OAEP.
Implement RSA optimal asymmetric encryption padding according to RFC 8017.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-04 09:13:24 -05:00
Zhiyi Zhang 07232b3870 rsaenh: Move PKCS1 padding and unpadding functions.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-04 09:12:59 -05:00
Michael Stefaniuc 9b0ed6bc31 rsaenh/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-31 09:25:25 +02:00
Jacek Caban d4c511b9f2 rsaenh: Removed no longer needed ALG_ID argument from helper functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 20:11:32 +01:00
Jacek Caban 3e8556447c rsaenh: Use bcrypt for MD5 hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 20:11:25 +01:00
Jacek Caban 2b7fcef811 rsaenh: Use bcrypt for MD4 hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 20:11:18 +01:00
Jacek Caban b0329620dd rsaenh: Use bcrypt for SHA1 hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 20:10:57 +01:00
Jacek Caban 8009091f11 rsaenh: Use bcrypt for MD2 hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 20:10:48 +01:00
Huw Davies d192e9a199 rsaenh: CALG_AES is not supported.
This is the correct fix for what commit f5c687e365
was trying to fix.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-16 14:03:07 +01:00
Alex Henrie 37c5d5adad rsaenh: Use a macro to initialize the string sizes in aProvEnumAlgsEx.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-06 21:48:46 +02:00
Alexandre Julliard f7eb53b1f9 rsaenh: Avoid potential buffer overflows in registry key name.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-29 15:51:27 +02:00
Jacek Caban 14ac2f6029 rsaenh: Do not use stack variables out of frame (Coverity).
Based on patch by Marcus Meissner.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-21 16:26:07 +02:00
Jacek Caban 4c917e9532 rsaenh: Implement duplicate_hash_impl for bcrypt-based hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-06 18:50:48 +02:00
Jacek Caban 524c632a82 rsaenh: Use bcrypt for SHA265 hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 19:24:40 +02:00
Jacek Caban 78a5d66003 rsaenh: Use bcrypt for SHA384 hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 19:24:40 +02:00
Jacek Caban 6aa5fdf952 rsaenh: Use bcrypt for SHA512 hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 19:24:40 +02:00
Dmitry Timoshkov f7fd2c2be1 rsaenh: Avoid double 'va_end(args)' in case of a premature loop termination.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-22 10:05:09 +02:00
Akihiro Sagawa e705dfc27f rsaenh: Don't import a public key to a key container.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:14 +02:00
Akihiro Sagawa b6ca68259f rsaenh/tests: Add CryptImportKey tests with a public key.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:14 +02:00
Huw Davies 0a17b70140 rsaenh/tests: Skip broken TLS1 tests on Windows 8 and greater.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-08 16:59:10 +01:00
Huw Davies 441fe55a4b rsaenh/tests: Don't initialize the environment, the tests that follow do that.
This also ensures that the permissions tests are actually run.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-07 17:49:18 +01:00
Michael Stefaniuc 899207b6c9 rsaenh/tests: Mark an old behavior as broken (PVS-Studio).
All newer Windows support salt in their AES provider.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:26 +09:00
André Hentschel 86b1e74f5c rsaenh/tests: Adjust length value to pass on Win 10.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
2015-10-02 18:11:31 +09:00
Michael Stefaniuc c641205cee rsaenh: Don't compare a BOOL with 1 (PVS-Studio). 2015-03-18 20:07:51 +09:00
Michael Stefaniuc 17e565dbf9 rsaenh: Remove an always false conditional subexpression (PVS-Studio). 2015-02-23 15:25:59 +09:00
Bruno Jesus 4d43d364e8 rsaenh/tests: Fix a copy & paste issue. 2015-02-18 23:28:00 +09:00
Bruno Jesus 6bad16363b rsaenh: Don't reset the salt length after setting a salt for Base and Strong providers. 2015-01-13 20:48:42 +01:00
Francois Gouget 0dd5cb1cef Assorted spelling fixes. 2014-09-29 10:36:36 +02:00
Hans Leidekker 2884053a28 rsaenh: Fix typos in SHA-384/SHA-512 OIDs. 2014-09-15 16:41:16 +02:00
Francois Gouget 3745640790 rsaenh/tests: Add a trailing '\n' to some ok() calls. 2014-08-19 14:48:23 +02:00
Bruno Jesus d59011a9fb rsaenh: A 40 bit key on Enhanced provider will not have salt even if asked for. 2014-08-05 16:37:35 +02:00
Bruno Jesus d7aae7d728 rsaenh: Use the remaining hash data as salt if requested. 2014-08-05 16:37:25 +02:00
Bruno Jesus fb58e7eca6 rsaenh: Handle the failure to set Base provider effective key length properly. 2014-08-05 16:37:21 +02:00
Bruno Jesus aa1b5b65c9 rsaenh/tests: Update some tests.
Some function results and out parameters were not being tested.
2014-08-05 16:37:11 +02:00
Bruno Jesus edb5e2b7d5 rsaenh/tests: Add SHA-256 tests. 2014-08-05 16:37:06 +02:00
Bruno Jesus 86dd877f4e rsaenh: The RC2 algorithm from Base provider supports only 40 bit keys. 2014-08-04 14:24:26 +02:00
Bruno Jesus a8b1fee2ea rsaenh: Use a helper to get the key container. 2014-08-04 14:24:18 +02:00
Bruno Jesus d429e602af rsaenh/tests: Run the tests in the Base and Strong providers too. 2014-07-30 16:17:02 -05:00
Bruno Jesus d2793fe242 rsaenh: Detect AES prototype provider correctly. 2014-07-28 17:20:27 -05:00
Bruno Jesus f5c687e365 rsaenh: CALG_AES cannot be used if the key length was not specified. 2014-07-23 21:24:23 +02:00
Bruno Jesus 453d6dc105 rsaenh: Change the way AES 128 is derived to match Windows behavior. 2014-07-23 21:24:22 +02:00
Bruno Jesus e55dc35020 rsaenh: Change the default AES chaining mode to CBC. 2014-07-23 21:24:22 +02:00
Bruno Jesus 0f31d82c04 rsaenh/tests: Add many tests related to key derivation. 2014-07-23 21:24:21 +02:00
Bruno Jesus 7e456b8f25 rsaenh/tests: Fix some Windows 8 tests. 2014-07-21 11:51:23 +02:00
Bruno Jesus 3a7b89e4c0 rsaenh/tests: Simplify broken NT4 tests.
Based on Dmitry Timoshkov idea.
2014-07-21 11:50:16 +02:00
Bruno Jesus 3b7c61dc2a rsaenh/tests: Add a pre XP DES compatibility test. 2014-07-14 17:22:45 +02:00
Bruno Jesus c579945b98 rsaenh/tests: Add DES/3DES-112 const buffer test. 2014-07-14 17:22:44 +02:00
Bruno Jesus 50ded4b2f8 rsaenh/tests: Make the tests pass in Windows <= NT4. 2014-07-14 17:22:43 +02:00