Commit Graph

151 Commits

Author SHA1 Message Date
Dmitry Timoshkov d3c482250a rsaenh: Fix the accepted RC2 key length, based on a test case by Dan Kegel. 2009-10-13 14:07:00 +02:00
Juan Lang d2827be07f rsaenh: Implement exporting PLAINTEXTKEYBLOBs. 2009-08-10 13:09:13 +02:00
Juan Lang ff6328efcc rsaenh: Implement importing PLAINTEXTKEYBLOBs. 2009-08-10 13:09:06 +02:00
Alexandre Julliard 7682bc6f88 rsaenh: Rename the HANDLETABLE structure to avoid conflicts with wingdi.h. 2009-02-09 13:03:35 +01:00
Juan Lang 674786527a rsaenh: Also write a key's permissions when it's being stored to the registry. 2009-01-29 12:40:09 +01:00
Juan Lang 2edda7208f rsaenh: Load/store key permissions along with key pair value. 2009-01-29 12:40:03 +01:00
Juan Lang bd41f77d3d rsaenh: Use key spec rather than char * to identify a key pair. 2009-01-29 12:39:55 +01:00
Juan Lang fbc26f3855 rsaenh: Don't store a key to the registry when it's being read from the registry. 2009-01-29 12:39:49 +01:00
Juan Lang 4eb1ee4277 rsaenh: Store a key's value to the registry when a key is imported. 2009-01-29 12:39:45 +01:00
Juan Lang 17da3004ef rsaenh: Split CPImportKey into a helper function for each type of key supported. 2009-01-29 12:39:40 +01:00
Juan Lang 30764edd12 rsaenh: Use helper function to install keys. 2009-01-29 12:22:28 +01:00
Juan Lang 8f4a491489 rsaenh: Separate storing a key container's keys from releasing them. 2009-01-29 12:22:21 +01:00
Juan Lang e8ea6700ca rsaenh: Honor a key's permissions when exporting a private key. 2009-01-29 12:22:07 +01:00
Juan Lang 8265569e99 rsaenh: Split CPExportKey into helper functions for each export type. 2009-01-29 12:21:59 +01:00
Juan Lang 0eb9ae17fe rsaenh: Fix CryptSetKeyParam for KP_PERMISSIONS. 2009-01-29 12:21:50 +01:00
Juan Lang 1cc5886771 rsaenh: Honor the CRYPT_EXPORTABLE flag to CryptAcquireContext and CryptGenKey. 2009-01-29 12:21:45 +01:00
Juan Lang cc1e6eed7e rsaenh: Honor the CRYPT_EXPORTABLE flags to CryptImportKey. 2009-01-29 12:21:38 +01:00
Michael Stefaniuc 16042cff7b rsaenh: Remove superfluous pointer casts. 2009-01-13 15:25:46 +01:00
Andrew Talbot c44dcda12b rsaenh: Sign-compare warnings fix. 2008-11-10 11:15:03 +01:00
Michael Stefaniuc 4f199a10ad Remove the remaining casts of NULL. 2008-11-03 13:42:09 +01:00
Michael Stefaniuc 9cafb9c168 rsaenh: Use 0 instead of casting NULL to a handle of integer type. 2008-10-27 11:28:09 +01:00
Rob Shearman b069b53bd9 rsaenh: Add a value to the empty braces in the initialiser for aOIDDescriptor in build_hash_signature.
An empty initialiser isn't supported on some compilers like MSVC.
2008-10-15 16:45:09 +02:00
Juan Lang 408f3d96c5 rsaenh: Test and correct the maximum allowable salt length. 2008-07-29 12:20:26 +02:00
Vijay Kiran Kamuju e666bb2a5c rsaenh: Fix AES provider keys for Windows XP. 2008-06-04 12:41:01 +02:00
Paul Vriens 51ee956b95 rsaenh: Add some new flags to wincrypt.h and use one of them. 2008-04-03 11:30:20 +02:00
Andrew Talbot 038169b6a7 rsaenh: Assign to structs instead of using memcpy. 2008-03-17 11:41:17 +01:00
Juan Lang ad6a7a788d rsaenh: Merge the encrypting and decrypting states, as encrypting and decrypting are allowed with the same key. 2008-02-08 11:02:25 +01:00
Andrew Talbot 303bff281c rsaenh: Remove unneeded casts. 2008-01-18 12:43:37 +01:00
Juan Lang 83f74fef2c crypt32: Support setting the salt value through KP_SALT_EX. 2007-11-29 13:34:56 +01:00
Juan Lang c9e0fa442a crypt32: Support getting and setting the KP_PADDING key param. 2007-11-29 13:34:50 +01:00
Juan Lang 749a7adaf4 rsaenh: Empty container names are allowed for CRYPT_VERIFYCONTEXT contexts. 2007-11-28 11:20:20 +01:00
Vijay Kiran Kamuju 1dbaa8c619 rsaenh: Add implementation of Enhanced RSA AES Provider. 2007-11-21 13:07:41 +01:00
Juan Lang f6833c4d09 rsaenh: Check pad bytes for consistency when decrypting. 2007-11-12 12:57:15 +01:00
Juan Lang 61d58c15aa rsaenh: Fix a comment. 2007-11-08 11:48:38 +01:00
Juan Lang 8788cca0ef rsaenh: Use LocalFree to free memory return by Crypt(Un)ProtectData. 2007-11-07 13:13:17 +01:00
Juan Lang 5408471b23 rsaenh: Use helper function to read key pairs from registry. 2007-11-07 13:13:12 +01:00
Juan Lang 9260fcf7ac rsaenh: Use helper function to delete a key container's registry key. 2007-11-07 13:13:03 +01:00
Juan Lang 88405a68e7 rsaenh: Use helper function to open a key container's registry key. 2007-11-07 13:12:53 +01:00
Juan Lang 060ed4cf02 rsaenh: Use helper function to create a container's registry key. 2007-11-07 13:12:47 +01:00
Juan Lang 58269419e5 rsaenh: Use helper function to persist keys. 2007-11-07 13:10:32 +01:00
Juan Lang f0d2766fdc rsaenh: Validate pad byte when decrypting a block cipher. 2007-09-12 11:33:11 +02:00
Juan Lang 41d057837c rsaenh: Support setting the effective key length of RC2 keys. 2007-09-11 12:35:22 +02:00
Juan Lang 5666efb137 rsaenh: Call setup_key whenever the IV is reset. 2007-09-11 12:35:18 +02:00
Juan Lang 16c40d9112 rsaenh: Reorder padding code to avoid unnecessary comparison. 2007-09-11 12:35:14 +02:00
Andrew Talbot c94f113f4f rsaenh: Constify some variables. 2007-08-24 10:57:16 +02:00
Juan Lang cd3954e7fd rsaenh: Get rid of the hash idle state, native doesn't behave as though it has one. 2007-07-11 12:00:38 +02:00
Maarten Lankhorst 4e0ef1cb38 rsaenh: Allow CRYPT_NEWKEYSET and CRYPT_VERIFYCONTEXT at same time when acquiring context. 2007-06-13 12:06:17 +02:00
Andrew Talbot 42fd48f38e rsaenh: Exclude unused header. 2007-05-18 14:11:29 +02:00
Mounir IDRASSI e61eddd6a5 rsaenh: Fix crash in RSAENH_CPVerifySignature if pbSignature is set to NULL or if dwSigLen is lesser than the expected value. 2007-05-15 12:23:09 +02:00
Mounir IDRASSI f772fb9898 rsaenh: Add support for mandatory parameters to RSAENH_CPGetProvParam. 2007-05-11 11:20:13 +02:00
Mounir IDRASSI 56a1326a8b rsaenh: Use the correct registry key in RSAENH_CPAcquireContext. 2007-05-08 12:23:06 +02:00
Mounir IDRASSI a7d897d76a rsaenh: Fix read_key_container bug that prevents CryptAcquireContext from correctly loading the keys. 2007-05-07 20:35:59 +02:00
Alexandre Julliard 69a88a9d40 Fix minor differences in the formatting of the license notices. 2007-05-04 12:08:15 +02:00
Yuval Fledel 1cdc057091 rsaenh: Convert handle type from unsigned int to HCRYPTKEY. 2007-04-23 16:17:54 +02:00
Dmitry Timoshkov c9842d2ca9 rsaenh: Make some data const and static. 2006-12-14 20:11:37 +01:00
Michael Stefaniuc 7c7e1943ca rsaenh: Win64 printf format warning fixes. 2006-10-09 12:56:13 +02:00
Juan Lang 51f24d4170 rsaenh: Correct signature checking.
- pass desired key to encrypt_block_impl
- don't change the alg id of imported keys
- add a few traces
2006-09-29 14:41:15 +02:00
Andrew Talbot c4daa191b0 rsaenh: Cast-qual warnings fix. 2006-09-27 09:40:32 +02:00
Juan Lang e649994262 rsaenh: Test and fix CryptEncrypt with NULL buffer. 2006-08-08 20:15:08 +02:00
Juan Lang b6d5972190 rsaenh: More tests and some fixes.
- correct deleting the default container
- imported keys should be stored in their container, not just given to the caller
- tests for these changes
2006-07-28 13:16:33 +02:00
Juan Lang c562957375 rsaenh: Public keys should be exported with the CALG_RSA_KEYX alg_id. 2006-07-27 12:10:38 +02:00
Karsten Elfenbein dd6598b834 rsaenh: Fix the case when CPGetHashParam should return the size of the HASHVAL. 2006-07-26 11:11:03 +02:00
Karsten Elfenbein bf1ad6c324 rsaenh: Fix the case when the CPEncrypt function is asked for the needed buffer size. 2006-07-26 11:11:03 +02:00
Saulius Krasuckas 9b2fe9e193 rasenh: Fix a copy&paste bug at passing only one string to RegSetValueExW() at a time. 2006-06-02 20:43:47 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman 811fb7614c Call DisableThreadLibraryCalls for DLLs that don't need thread
creation/destruction notifications.
2006-01-09 17:17:37 +01:00
Vincent Béron d52dafb5cc Add a few missing #includes. 2005-12-07 12:51:39 +01:00
Juan Lang fac3698fc2 When just a public key is imported, its ALG_ID should be CALG_RSA_SIGN
rather than CALG_RSA_KEYX.
2005-10-06 11:35:11 +00:00
Mike McCormack 93ab695a5c Fix gcc 4.0 warnings. 2005-08-26 08:53:31 +00:00
Mike McCormack f674f1f71b Fix declarations. 2005-06-15 10:20:53 +00:00
Alexandre Julliard 2e4bca9db5 Added magic comments to all Wine-specific registry accesses to make
them easier to grep.
2005-06-13 18:56:00 +00:00
Michael Jung dd5b70b4bd Use the Data Protection API to protect the users private keys. 2005-05-27 19:23:19 +00:00
Robert Shearman 54160222a0 Rename MODULENAME_Dll* functions to Dll* for better consistency and
type checking.
2005-05-17 14:41:37 +00:00
Kees Cook 0cdc0479b8 Avoid segfault in hash update with corrupted decrypt data. 2005-05-16 09:15:24 +00:00
Kees Cook ea2fabca84 Avoid segfault when detecting decryption buffer size. 2005-05-16 08:50:45 +00:00
Peter Berg Larsen 6aefbc0934 Strncpy elimination. 2005-04-18 15:36:20 +00:00
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Michael Jung 3b26f513b5 Check pdwDataLen param for non NULL'ness.
Implemented PP_IMPLTYPE and PP_VERSION provider params.
2005-02-14 20:54:43 +00:00
Francois Gouget 4d801b66e6 Assorted spelling fixes. 2005-02-10 19:19:35 +00:00
Michael Jung e40af1ccd0 Implemented CPGetProvParam's PP_ENUMCONTAINERS parameter type.
Added corresponding test.
Removed some tabs that slipped in with the last patch.
2005-02-09 22:25:09 +00:00
Michael Jung 5e2075be3a Moved PKCS1 #2 un-/padding from Import-/ExportKey to helper
functions.
Support RSA en-/decryption via CPEncrypt and CPDecrypt.
Added test case for RSA en-/decryption.
2005-01-31 11:28:41 +00:00
Michael Jung fb85c9e924 Support for TLS1 pseudo random function.
Some helper functions for DATA_BLOB's.
Computing TLS1 master secret from the pre-master secret.
Deriving the master hash from the master secret.
Deriving TLS1 MAC and encryption keys from the master hash.
Tests for most of the above.
2005-01-24 12:50:29 +00:00
Michael Jung d91ba25a03 Avoid code duplication by moving handle lookup into get_algid_info. 2005-01-19 16:59:23 +00:00
Michael Jung a200c4e97a Moved HMAC initialization and finalization code to
init_/finalize_hash.
Removed the redundant pKeyContainer function parameter from
init_hash.
2005-01-17 13:41:46 +00:00
Michael Jung 2c845618a3 Support for generating and exporting PCT1, SSL2/3 and TLS1 master
secrets. Ensure that these are not used in CPEncrypt, CPDecrypt or
CPDeriveKey.
2005-01-10 12:27:32 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Michael Jung ada55dccd7 Register rsaenh as a RSA SChannel provider.
Register rsaenh as default RSA SChannel provider.
2005-01-06 19:34:47 +00:00
Michael Jung 7c26a65f07 Added list of supported algorithms for SChannel personality. 2005-01-05 17:13:36 +00:00
Michael Jung 974c94f604 Set last error if dwFlags are non zero in CPReleaseContext.
Added corresponding test.
2005-01-05 13:22:37 +00:00
Michael Jung 7fa80077b4 Always set ERROR_SUCCESS in case of success in CPAcquireContext. 2005-01-04 20:33:48 +00:00
Michael Jung 2032284035 Added support for machine keysets. 2005-01-04 11:49:55 +00:00
Michael Jung 1d7800bdee Implemented parallel hashing in CPEncrypt and CPDecrypt.
Implemented CPHashSessionKey.
2005-01-03 14:35:35 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Michael Jung 74f458fcdf Respect sDescription parameter in CPSignHash and CPVerifySignature. 2004-12-20 17:03:01 +00:00
Michael Stefaniuc 1493433e38 Missing HeapFree's + 1 LocalFree (found by smatch). 2004-12-14 11:38:50 +00:00
Michael Jung 96ebad1a0d Implemented CPSignHash and CPVerifySignature.
Added tests for CPVerifySignature.
Fixed minor bugs in implglue.c.
2004-12-13 13:24:48 +00:00
Michael Jung 95c3d9b2a5 Moved code specific to CPGenKey, CPDeriveKey or CPImportKey from
new_key into the respective functions.
2004-12-01 15:34:56 +00:00
Michael Jung ca371a48b2 Incorporated LibTomCrypt code into rsaenh to get rid of OpenSSL
dependencies.
2004-11-30 17:43:59 +00:00
Michael Jung 5f06380b40 CPAcquireContext: Set last error to ERROR_SUCCESS in case of success. 2004-11-10 01:30:20 +00:00