64 Commits

Author SHA1 Message Date
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
Sebastian Lackner
fb8da6ca0c bcrypt: Pass object to get_{alg, hash}_property instead of alg_id.
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:12 +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
Hans Leidekker
2b2b8418c6 bcrypt: Use the global memory allocation helpers.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-20 20:13:24 +01:00
Alexandre Julliard
5c70c155d7 bcrypt: macOS version 10.8 is needed for encryption support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-29 11:36:22 +01:00
Hans Leidekker
60c3143928 bcrypt: Fix build error on systems with old GnuTLS.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-22 11:43:25 +01:00
Hans Leidekker
68cff26b1b bcrypt: Require macOS version 10.7 or newer for encryption support.
Reported by Ryan Schmidt.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-19 19:49:02 +01:00
Hans Leidekker
dda67031c7 bcrypt: Fix build on macOS 10.8 and older.
Based on a patch by Ryan Schmidt.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-19 19:49:02 +01:00
Dmitry Timoshkov
76bc8d01c0 bcrypt: Add some crypto-provider related stubs.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 20:30:10 +01:00
Hans Leidekker
20aaf167dd bcrypt: Add support for AES encryption on macOS.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 10:16:58 +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
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
8aa300ba1a configure: Check for gnutls_cipher_init instead of gnutls_hash.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 22:30:16 +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
7148b9ecb4 bcrypt: Add a stub implementation of BCryptDecrypt.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 22:28:42 +09:00
Hans Leidekker
1a0b52d5d2 bcrypt: Add a stub implementation of BCryptEncrypt.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 22:28:18 +09:00
Hans Leidekker
c6b4151b45 bcrypt: Add a stub implementation of BCryptSetProperty.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 22:27:57 +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
b26d89b54a bcrypt: Remove a FIXME which no longer applies.
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
Michael Müller
da8853f062 bcrypt: Implement BCryptDuplicateHash.
Signed-off-by: Michael Müller <michael@fds-team.de>
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
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
Sebastian Lackner
ced491c65f bcrypt: Unify the object length handling.
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
Michael Müller
fd05297f00 bcrypt: Always use builtin hash implementation.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 10:57:22 +01:00
Michael Müller
b56ddad8b0 bcrypt: Add a builtin sha384/sha512 implementation.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 10:55:59 +01:00
Michael Müller
f34bd5b174 bcrypt: Add a builtin sha256 implementation.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 10:55:53 +01:00
Michael Müller
03630a42f4 bcrypt: Use builtin MD5/SHA1 implementation.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 10:55:38 +01:00
Michael Müller
9c123204f3 bcrypt: Add builtin HMAC implementation.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 10:55:32 +01: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
Patrick Armstrong
8bd3e4cc2e bcrypt: Implement MD5 algorithm and add tests.
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-08 21:28:58 +09:00
Jacek Caban
f13cff3a01 bcrypt: Added BCRYPT_ALGORITHM_NAME property implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 22:40:07 +09:00
Jacek Caban
f0e499f292 bcrypt: Make BCRYPT_HASH_LENGTH implementation more generic.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 22:40:03 +09:00
Francois Gouget
5d9d6e494f bcrypt: Add a trailing '\n' to a WARN() call.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-25 16:16:19 +09:00
Hans Leidekker
11279badf2 bcrypt: Support retrieving hash length from algorithm handles.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 23:13:35 +09:00
Hans Leidekker
e3e2805b25 bcrypt: Accept NULL implementation in BCryptOpenAlgorithmProvider.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 23:13:33 +09:00
Huw Davies
625801ed7e bcrypt: Ensure we have gnutls_hash() available.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 00:30:37 +09:00
Hans Leidekker
2cd8d27373 bcrypt: Add support for SHA hashes on Linux using GnuTLS.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-13 23:48:16 +09:00
Hans Leidekker
085ed64df6 bcrypt: Implement BCryptFinishHash.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-06 18:08:35 +01:00