Commit Graph

1163 Commits

Author SHA1 Message Date
Michael Karcher 8d4d7b267d crypt32: CertGetPublicKeyLength should check only cert encoding type.
pktextract calls CertGetPublicKeyLength with dwCertEncodingType
of X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, MSDN explicitly
allows it.
2008-05-26 17:59:20 +02:00
Michael Karcher 8fa3b6871f crypt32: Pass on aiKeyAlg on RSA key import. 2008-05-26 17:59:07 +02:00
Michael Karcher a3223df865 crypt32: Fix order-of-evaluation dependence. 2008-05-26 17:59:03 +02:00
Michael Karcher a6087662ba crypt32: Fix integer overflow. 2008-05-26 17:58:58 +02:00
Mikołaj Zalewski 14a42f802d Make Swedish use SUBLANG_NEUTRAL. 2008-05-19 16:09:13 +02:00
Paul Vriens b92d1c7fbe crypt32/tests: Cleanup registry after tests. 2008-05-08 18:14:15 +02:00
Rob Shearman 9e717aa2e8 crypt32: Add stub for CertVerifyCTLUsage. 2008-05-07 20:22:49 +02:00
Alexandre Julliard ef07d83405 Include wine/port.h everywhere we use exceptions. 2008-04-29 20:18:49 +02:00
Erik de Castro Lopo 0ef69ef9dd crypt32: Use LOWORD on LPCSTR type instead of casting to int. 2008-04-25 11:34:53 +02:00
Rob Shearman 3f2ea57013 crypt32: Decode the message content on finishing in CDecodeMsg_Update for the streamed case as well as the non-streamed case. 2008-04-24 11:49:31 +02:00
James Hawkins 99d3e4c92d crypt32: Remove tests for properties not present on all systems. 2008-04-21 12:12:36 +02:00
Andrew Talbot d3afff856e crypt32: Remove unused variables. 2008-04-15 15:32:20 +02:00
Andrew Talbot 8a1d3b334d crypt32: Remove unwanted shadow variable. 2008-04-15 15:31:15 +02:00
James Hawkins 9d2cc2171f crypt32: Fix a few tests that fail in win2k. 2008-04-11 11:16:18 +02:00
Hwang YunSong(황윤성) faa54aeac8 crypt32: Updated Korean resource. 2008-04-04 12:02:50 +02:00
Juan Lang 44f2517335 crypt32: Allow one update to a decode message after the final update if it's a detached message. 2008-03-26 10:33:16 +01:00
Juan Lang 856270972f crypt32: Keep track of state in each message type's update function rather than in CryptMsgUpdate. 2008-03-26 10:33:09 +01:00
Juan Lang 3617819bf6 crypt32: Test updates after the final update to a detached message. 2008-03-26 10:33:01 +01:00
Michael Stefaniuc 74b2a26cb9 crypt32: Update the German translation. 2008-03-19 18:51:27 +01:00
Christopher Berner 9978cc9c56 user32: Make LoadStringW pass tests. 2008-03-11 15:30:15 +01:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Frans Kool f8b94d3f5d crypt32: Created Dutch translations. 2008-02-22 12:03:47 +01:00
Juan Lang b04c4aa6ff crypt32: Vista doesn't actually add duplicate usage identifiers; fix tests and change Wine to match. 2008-02-16 13:52:15 +01:00
Juan Lang b579eac22f crypt32: Allow some last errors set by Vista. 2008-02-16 13:52:04 +01:00
Juan Lang 348261e6ab crypt32: Fix a test failure on Vista, and make Wine match the newer (and saner) behavior. 2008-02-16 13:51:59 +01:00
Juan Lang 79c39e379f crypt32: Add to error message to track down NT4 failures. 2008-02-16 13:51:50 +01:00
Juan Lang 5618fdb3df crypt32: Fix test failures on NT4. 2008-02-16 13:51:44 +01:00
Francois Gouget 4c8e218252 Assorted spelling fixes. 2008-02-15 12:09:24 +01:00
Andrew Talbot 70c4b66781 crypt32: Assign to structs instead of using memcpy. 2008-02-15 12:05:47 +01:00
Rob Shearman d9891887c7 crypt32: Fix function declaration - WINAPI should come after the return type. 2008-02-15 11:06:15 +01:00
Francois Gouget c68745c51b UTF-8 resource files must explicitly say so with a pragma. 2008-02-15 09:55:58 +01:00
Paul Vriens 24e4267bf9 crypt32/tests: Skip test if we don't have enough rights. 2008-02-11 19:55:56 +01:00
Bang Jun-young dee7722b07 crypt32: Include wine/port.h for snprintf(). 2008-02-04 14:18:20 +01:00
Francois Gouget d0794c4aeb Assorted spelling fixes. 2008-01-23 21:16:22 +01:00
Juan Lang 5c8aa89163 crypt32: Fix race condition in loading default provider. 2008-01-15 11:38:02 +01:00
Juan Lang 027236b04f crypt32: Don't release default crypto provider on process shutdown. 2008-01-15 11:37:58 +01:00
Jonathan Ernst 779d4c74e1 crypt32: Updated French translation. 2008-01-08 13:55:18 +01:00
Alexander Nicolaysen Sørnes a3a165fcdb crypt32: Implement CryptFindLocalizedName. 2008-01-08 13:55:18 +01:00
Alexandre Julliard 8926dce077 crypt32: Avoid casting away const from the context pointer. 2008-01-02 12:38:42 +01:00
Andrew Talbot 5d886557df crypt32: Remove unneeded casts. 2007-12-31 17:44:51 +01:00
Michael Stefaniuc 3e005ce915 crypt32: Do not use an empty body in an else-statement as documentation. 2007-12-10 12:35:56 +01:00
Andrew Talbot a06caa0e66 crypt32: Remove unnecessary casts. 2007-12-04 14:32:39 +01:00
Juan Lang fa6b64d6fc crypt32: Add CERT_STORE_ADD_NEWER support to CertAddCertificateContextToStore. 2007-11-28 11:20:11 +01:00
Juan Lang ab55435ef1 crypt32: Implement finding an existing certificate in a store. 2007-11-28 11:20:06 +01:00
Francois Gouget c69d47fa49 crypt32/tests: Get the tests running on Windows 98. 2007-11-20 16:45:02 +01:00
Juan Lang 2e4242b545 crypt32: If a decoding function failed, free the memory allocated for it. 2007-11-09 12:24:53 +01:00
Juan Lang 4c981e20ef crypt32: Fix another leak in tests. 2007-11-09 12:24:46 +01:00
Juan Lang f6bfa45970 crypt32: Fix a couple leaks in test. 2007-11-09 12:24:40 +01:00
Juan Lang c5d5c5b63a crypt32: Fail decoding a CRL entry if the serial number is empty. 2007-11-08 11:49:49 +01:00
Juan Lang 571d75187a crypt32: Fix a leak. 2007-11-08 11:49:37 +01:00
Juan Lang 72ab894db1 crypt32: Use 3DES to encrypt data. 2007-11-08 11:49:32 +01:00
Juan Lang 46ef0fb4e8 crypt32: Set correct bit lengths for algorithms. 2007-11-08 11:49:20 +01:00
Juan Lang 8456f67a2d crypt32: Pass key length to CryptDeriveKey. 2007-11-08 11:49:13 +01:00
Juan Lang fd1dd39a36 crypt32: Use the enhanced provider rather than the default (base) provider. 2007-11-08 11:49:07 +01:00
Juan Lang 11a4968734 crypt32: Use SHA1 rather than MD5 to protect data. 2007-11-08 11:49:00 +01:00
Juan Lang ba8d0d0237 crypt32: Save alg IDs in CryptProtectData output. 2007-11-08 11:48:50 +01:00
Juan Lang 0d9a5adb0b crypt32: Describe CryptProtectData data format more accurately. 2007-11-08 11:48:42 +01:00
Juan Lang deadc6cf7b crypt32: Don't define function pointers that are NULL (and unused). 2007-11-05 14:15:24 +01:00
Juan Lang 3d1ba2ab9d crypt32: Don't store a redundant copy of data in the message store. 2007-11-05 14:15:14 +01:00
Juan Lang 8b17846d6a crypt32: Initialize a variable. 2007-11-05 14:15:06 +01:00
Juan Lang 159c8af56a crypt32: Use consistent error checking. 2007-11-02 12:38:21 +01:00
Juan Lang 644dedb75d crypt32: Free memory on all paths. 2007-11-02 12:38:15 +01:00
Juan Lang 81a382ac31 crypt32: Set last error on alloc failure. 2007-11-02 12:38:10 +01:00
Juan Lang e94cae61a1 crypt32: Fix a leaked key. 2007-11-02 12:22:31 +01:00
Juan Lang f64d600494 crypt32: Don't leak buffer when a unicode string contains an invalid character. 2007-11-02 12:22:21 +01:00
Juan Lang b9e78cc637 crypt32: Initialize a variable. 2007-11-02 12:22:10 +01:00
Juan Lang b9dae979a4 crypt32: Use memmove rather than memcpy when addresses might overlap. 2007-11-02 12:22:04 +01:00
Juan Lang 329761e7e1 crypt32: Fix a leak building an alternate chain. 2007-11-02 12:21:58 +01:00
Juan Lang e94ce8a0b2 crypt32: Fix leaked chains creating the root store. 2007-11-02 12:21:53 +01:00
Juan Lang fc14728efc crypt32: Fix a leak during chain creation. 2007-11-02 12:21:47 +01:00
Juan Lang 4690a9c800 crypt32: Set size when calling CryptDecodeObjectEx without CRYPT_DECODE_ALLOC_FLAG set. 2007-11-02 12:21:41 +01:00
Juan Lang 9c672fea41 crypt32: Get rid of an unneeded variable. 2007-11-02 12:21:35 +01:00
Juan Lang 373e9f626a crypt32: Fix another leak in the tests. 2007-11-02 12:21:29 +01:00
Juan Lang 9429504c70 crypt32: Fix a leak in the tests. 2007-11-02 12:21:23 +01:00
Francois Gouget 80911c12f4 crypt32: Better match the PSDK types and update win32.api to fix the winapi_check warnings. 2007-10-29 12:04:48 +01:00
Juan Lang 8170acfc35 crypt32: Remove iTunes chain from certificate policy tests, there's no guarantee the root cert is trusted. 2007-10-26 12:46:30 +02:00
Juan Lang 8240395073 crypt32: Remove a test because of a Windows 2003 SP1 bug. 2007-10-26 12:46:30 +02:00
Juan Lang 62f4022563 crypt32: Avoid misleading fixme when no data are passed to CryptUnprotectData. 2007-10-25 12:54:14 +02:00
Juan Lang 912c3e609b crypt32: Implement cert chain revocation checking. 2007-10-24 12:33:39 +02:00
Juan Lang 5928c698ae crypt32: Implement CertVerifyRevocation. 2007-10-24 12:33:32 +02:00
Juan Lang 3b85a7946e crypt32: Add basic test for CertVerifyRevocation. 2007-10-24 12:33:24 +02:00
Juan Lang cf8db7305d crypt32: Add CertVerifyRevocation stub. 2007-10-24 12:33:10 +02:00
Francois Gouget c4b1195c0c Assorted spelling fixes. 2007-10-23 18:20:27 +02:00
Juan Lang dda8053179 crypt32: Always set *ppszError. 2007-10-22 13:52:24 +02:00
Juan Lang e0b8e37bf0 crypt32: Don't allocate a 0-length string. 2007-10-22 13:52:19 +02:00
Juan Lang d34b3bf63c crypt32: Don't assume string pointer has been set if length is 0. 2007-10-22 13:52:15 +02:00
Juan Lang 7cf611ef3b crypt32: Fail if MultiByteToWideChar converts 0 characters. 2007-10-22 13:52:09 +02:00
Juan Lang d0e7aaf1be crypt32: Initialize mask when allocating it. 2007-10-22 12:36:07 +02:00
Juan Lang a762ffbe14 crypt32: Simplify I_CertUpdateStore. 2007-10-22 12:36:07 +02:00
Juan Lang 9568cead65 crypt32: Replace a private type with a public one. 2007-10-22 12:36:07 +02:00
Juan Lang dbefd907b6 crypt32: Remove tests that cause memory corruption. 2007-10-22 12:36:07 +02:00
Juan Lang 8882936073 crypt32: Keep signer handle count separate from signer info. 2007-10-19 14:23:14 +02:00
Juan Lang b85492e851 crypt32: Free memory on an error path. 2007-10-19 14:22:28 +02:00
Juan Lang 1dce5ed3b0 crypt32: Free root store when quitting. 2007-10-19 14:22:21 +02:00
Juan Lang d8fb290ee1 crypt32: Fix a couple leaked messages. 2007-10-19 14:21:59 +02:00
Juan Lang cc88619f86 crypt32: Get rid of an unused key. 2007-10-19 14:21:55 +02:00
Juan Lang 6763841e19 crypt32: Make sure a signed encode message's signer info is always initialized. 2007-10-19 14:21:51 +02:00
Juan Lang 9ae5ef6641 crypt32: Set lower quality chain count and pointer to 0 when freeing them. 2007-10-19 14:21:46 +02:00
Juan Lang 5d6feab0e2 crypt32: Don't keep a pointer to the lower quality chains when choosing a higher quality one, otherwise they'll get double-freed. 2007-10-19 14:21:42 +02:00
Juan Lang cf904c2bc4 crypt32: Use GetSystemTimeAsFileTime rather than GetSystemTime/SystemTimeToFileTime. 2007-10-19 14:21:18 +02:00
Juan Lang abc2aec88c crypt32: Use I_CertUpdateStore in registry stores. 2007-10-19 14:20:59 +02:00
Juan Lang 4d203fe902 crypt32: Pass reg store's key and memory store to CRYPT_RegReadFromReg, rather than passing a private type. 2007-10-19 14:20:51 +02:00
Juan Lang 889449630d crypt32: Use I_CertUpdateStore in file stores. 2007-10-19 14:20:44 +02:00
Juan Lang e857f383a4 crypt32: Implement I_CertUpdateStore. 2007-10-19 14:18:20 +02:00
Juan Lang 542af8aeeb crypt32: Add tests for I_CertUpdateStore. 2007-10-19 14:18:13 +02:00
Juan Lang b4eb9bf251 crypt32: Add I_CertUpdateStore stub. 2007-10-19 14:18:04 +02:00
Juan Lang 7b8cb034b2 crypt32: Add stubs for I_CryptFindLruEntry and I_CryptCreateLruEntry. 2007-10-19 14:17:57 +02:00
Juan Lang 63e1ac4eac crypt32: Always return an empty list on failure from CryptGetDefaultOIDDllList. 2007-10-18 13:18:33 +02:00
Juan Lang 46ead27165 crypt32: Don't abort early if encoding type is 0 for CryptRegisterOIDFunction/CryptUnregisterOIDFunction. 2007-10-18 13:18:25 +02:00
Juan Lang 0f29b48fa0 crypt32: Don't crash logging numeric function names. 2007-10-18 13:18:19 +02:00
Juan Lang c7915134b0 crypt32: Implement CryptGetDefaultOIDFunctionAddress. 2007-10-18 13:18:13 +02:00
Juan Lang ad514dbc20 crypt32: Add basic tests for CryptGetDefaultOIDFunctionAddress. 2007-10-18 13:18:08 +02:00
Juan Lang 6b390b4009 crypt32: Use a structure to hold function address handle. 2007-10-18 13:18:03 +02:00
Alexandre Julliard 66787e65a9 crypt32: Fix pointer casts in decode.c too. 2007-10-17 14:14:36 +02:00
Juan Lang 7a0905128d crypt32: Always set pPolicyStatus->dwError. 2007-10-17 13:40:41 +02:00
Daniel Nylander 495d354648 crypt32: Add Swedish translation. 2007-10-16 12:40:00 +02:00
Bang Jun-young 6ab44c8073 crypt32: Fix typo in CryptGetDefaultOIDFunctionAddress(). 2007-10-16 09:37:27 +02:00
Gerald Pfeifer 119e4d4955 crypt32: Fix incorrect casts in X509_CERT and friends. 2007-10-16 09:36:14 +02:00
Juan Lang 136f033158 crypt32: Implement CertVerifyCertificateChain for the Microsoft root policy. 2007-10-16 09:35:53 +02:00
Francois Gouget 3265f2d7c4 crypt32/tests: Fix compilation on systems that don't support nameless unions. 2007-10-15 14:05:08 +02:00
Juan Lang 9908fe9ac6 crypt32: Implement name constraint checking. 2007-10-11 22:23:58 +02:00
Juan Lang c57a084882 crypt32: Implement name constraints decoding. 2007-10-11 22:23:13 +02:00
Juan Lang 30355fa674 crypt32: Don't check tag in AsnDecodeIntInternal, caller already checks it. 2007-10-11 22:23:03 +02:00
Juan Lang 436a4a283b crypt32: Allow either NULL or empty strings where one or the other is expected. 2007-10-11 22:22:55 +02:00
Juan Lang 942fb6c3eb crypt32: Implement name constraint encoding. 2007-10-11 22:22:33 +02:00
Juan Lang ade18ff33c crypt32: Test encoding/decoding name constraints. 2007-10-11 22:22:25 +02:00
Juan Lang a5de2742e7 crypt32: Add another test to show that time validity nesting isn't checked. 2007-10-11 22:22:17 +02:00
Juan Lang 0d544f9510 crypt32: Remove superficially different certificates. 2007-10-11 22:22:10 +02:00
Juan Lang e6dbb9d203 crypt32: Allow imprecision of one millisecond in time decoding to fix test failures on Windows. 2007-10-11 22:22:01 +02:00
Juan Lang 57b13b37d5 crypt32: Add an extra pointer alignment to avoid possible memory corruption. 2007-10-09 17:52:46 +02:00
Marcus Meissner 7689953404 crypt32/tests: Fixed buffer overflow in encode test. 2007-10-09 17:52:46 +02:00
Juan Lang 6021eef5c9 crypt32: Print values of failing time tests. 2007-10-09 12:34:35 +02:00
Juan Lang 57240ddd05 crypt32: Remove some tests that fail inconsistently on Windows.
Reported by Steven Edwards.
2007-10-09 12:34:35 +02:00
Juan Lang 75c13b8e5d crypt32: Don't assume a maximum of 32 valid usages. 2007-10-05 10:29:37 +02:00
Juan Lang 9abd47ca7a crypt32: Add tests for CertGetValidUsages. 2007-10-05 10:29:28 +02:00
Juan Lang f8e830a253 crypt32: Reduce valid usages count when removing a valid usage. 2007-10-05 10:29:21 +02:00
Juan Lang b5531163a9 crypt32: Don't set ret to FALSE when it isn't checked. 2007-10-05 10:29:15 +02:00
Juan Lang fe7208604f crypt32: Always set cNumOIDs. 2007-10-05 10:29:10 +02:00
Juan Lang 95c2eb5d69 crypt32: Don't fail if a cert is invalid, Windows doesn't either (tests to follow). 2007-10-05 10:29:04 +02:00
Juan Lang 53b7babcbb crypt32: Don't fail if buffer is NULL, just return required size. 2007-10-05 10:28:57 +02:00
Juan Lang 851e19b3f9 crypt32: Improve trace. 2007-10-05 10:28:50 +02:00
Juan Lang daa26ebd5a crypt32: Fix a silly variable name. 2007-10-05 10:28:45 +02:00
Juan Lang 5b09287713 crypt32: Don't check decoded length against encoded length for indefinite-form sequences. 2007-10-02 12:28:20 +02:00
Juan Lang 2fb3d53347 crypt32: Correct copying a signer info's attributes. 2007-10-01 12:33:35 +02:00
Juan Lang 661525c606 crypt32: Be more strict about format of serialized store files. 2007-10-01 12:32:44 +02:00
Juan Lang 15cab33041 crypt32: Implement opening file name stores from files that contain PKCS7 messages. 2007-10-01 12:32:20 +02:00
Juan Lang 99981716b2 crypt32: Allow file stores to support more than one type of file. 2007-10-01 12:32:12 +02:00
Juan Lang 60fcce5558 crypt32: Create file store directly in CRYPT_FileNameOpenStoreW. 2007-10-01 12:32:03 +02:00
Juan Lang 2373b8bc80 crypt32: Add a helper function to create a file store from an already-initialized memory store. 2007-10-01 12:31:55 +02:00
Juan Lang f6ebeba5a2 crypt32: Move CertSaveStore to serialize.c. 2007-09-28 11:35:03 +02:00
Juan Lang 9c55a71f8f crypt32: Use CertSaveStore to save file stores. 2007-09-28 11:31:32 +02:00
Juan Lang 6471621f5e crypt32: Implement CertSaveStore. 2007-09-28 11:31:26 +02:00
Juan Lang bba9587f40 crypt32: Implement CRYPT_WriteSerializedStoreToFile using CRYPT_WriteSerializedStoreToStream. 2007-09-28 11:31:08 +02:00
Juan Lang 779dd45e6b crypt32: Add a function to serialize a store to an arbitrary stream. 2007-09-28 11:31:01 +02:00
Juan Lang bc81929519 crypt32: Rename a couple of functions. 2007-09-28 11:30:48 +02:00
Juan Lang 36886f7dd1 crypt32: Add/improve some traces. 2007-09-28 11:30:40 +02:00
Juan Lang f8ff1c3237 crypt32: Support PKCS messages wrapped in a PKCS content info in CryptQueryObject. 2007-09-27 21:03:16 +02:00
Juan Lang f880982176 crypt32: Fix CryptQueryObject for embedded PKCS7 signatures. 2007-09-27 21:03:12 +02:00
Michael Stefaniuc a624fb044c crypt32: Add missing parameter to a TRACE. 2007-09-27 11:08:23 +02:00
Juan Lang 8e1151ec18 crypt32: Partially implement CryptQueryObject. 2007-09-26 14:27:02 +02:00
Juan Lang 91f2a4d687 crypt32: Fix alignment for 64-bit systems. 2007-09-19 11:41:18 +02:00
Juan Lang 71b5ba0336 crypt32: Implement streamed encoding of an indefinite-length data message. 2007-09-19 11:40:44 +02:00
Juan Lang 19956d6e97 crypt32: Pass length rather than entire message to CRYPT_EncodeContentLength. 2007-09-19 11:40:38 +02:00
Juan Lang 0bd29b1243 crypt32: Use decode function's returned decoded length to advance pointer when decoding an array. 2007-09-18 11:57:56 +02:00
Juan Lang ee28204fcf crypt32: ret is already true, don't retest it. 2007-09-18 11:57:48 +02:00
Juan Lang 9c4c856fde crypt32: Explicitly count bytes to copy in DecodeCopyBytes. 2007-09-18 11:57:41 +02:00
Juan Lang 7e475b4a77 crypt32: Test and correct decoding indefinite-length-encoded PKCS content. 2007-09-18 11:57:33 +02:00
Juan Lang 43e6b48b33 crypt32: Use correct encoded length when decoding a sequence. 2007-09-18 11:57:24 +02:00
Juan Lang f534a67bfc crypt32: Simplify AsnDecodeSequenceItems a tiny bit. 2007-09-18 11:57:17 +02:00
Juan Lang 34aaabca83 crypt32: Allow indefinite-length encoding of sequence items. 2007-09-18 11:57:10 +02:00
Juan Lang be91ad3604 crypt32: Simplify DecodePathLenConstraint. 2007-09-18 11:57:02 +02:00
Juan Lang 4fd90ddad3 crypt32: Allow a sequence to have an indefinite-length encoding. 2007-09-18 11:56:55 +02:00
Juan Lang 2e8ae598e1 crypt32: Set *pcbDecoded in every function. 2007-09-18 11:56:48 +02:00
Juan Lang e03864a205 crypt32: Use internal form for all internal decoding functions. 2007-09-18 11:56:40 +02:00
Juan Lang ce47433d94 crypt32: Get rid of encoding type argument to AsnDecodeSequence, it isn't used. 2007-09-18 11:56:24 +02:00
Juan Lang 19fd9872a6 crypt32: Get rid of encoding type from AsnDecodeSequenceItems, it's never checked. 2007-09-18 11:56:09 +02:00
Juan Lang 21246938c4 crypt32: Don't use exception handler when decoding time zone, caller already does. 2007-09-18 11:56:01 +02:00
Juan Lang ad94982284 crypt32: Implement DecodeAltName with DecodeAltNameInternal. 2007-09-18 11:55:50 +02:00
Juan Lang 89a541a493 crypt32: Use AsnDecodeIntInternal where an internal function is called for. 2007-09-18 11:55:43 +02:00
Juan Lang f2bff633ac crypt32: Temporarily change prototype of AsnDecodeIntInternal to the CryptDecodeObjectEx form. 2007-09-18 11:55:35 +02:00
Juan Lang 205c733b13 crypt32: Use internal decode int function a couple more places. 2007-09-18 11:55:26 +02:00
Juan Lang 8c5bd5f5ca crypt32: Introduce a space checking helper for functions that don't allocate memory and use it where appropriate. 2007-09-18 11:55:20 +02:00
Juan Lang 9d0dccf164 crypt32: Move a comment that belonged elsewhere. 2007-09-18 11:55:05 +02:00
Juan Lang 5fbca384e4 crypt32: Separate DecodeInt into an internal and external version. 2007-09-18 11:54:39 +02:00
Juan Lang a538e95c1d crypt32: Use simpler form for internal time decoding functions. 2007-09-18 11:54:30 +02:00
Juan Lang 52be131a29 crypt32: Allow items in an array to be indefinite-length encoded. 2007-09-18 11:54:18 +02:00
Juan Lang 5d168bd4c0 crypt32: Support indefinite-length encoded arrays. 2007-09-18 11:54:10 +02:00
Juan Lang 159a369318 crypt32: Set bytes decoded in all success paths. 2007-09-18 11:54:02 +02:00
Juan Lang 7ecf5becbd crypt32: Introduce a helper function to get encoded length that allows indefinite-length encoding. 2007-09-18 11:53:54 +02:00
Juan Lang 54a51afcd7 crypt32: Remove an unneeded WINAPI. 2007-09-18 11:53:47 +02:00
Juan Lang deb07ccb1c crypt32: Return bytes decoded from AsnDecodeArray. 2007-09-18 11:53:41 +02:00
Juan Lang b2f02f3bf7 crypt32: Pass bytes decoded pointer to AsnDecodeArray. 2007-09-18 11:53:32 +02:00
Juan Lang 1f4bcb4a3d crypt32: Return bytes decoded when decoding an alt name entry. 2007-09-18 11:53:24 +02:00
Juan Lang d7e8eed944 crypt32: Return bytes decoded when copying DER-encoded bytes. 2007-09-18 11:53:17 +02:00
Juan Lang fd982c8597 crypt32: Return bytes decoded when decoding a sequence. 2007-09-18 11:53:11 +02:00
Juan Lang 1dd1c6c2c8 crypt32: Make a decode OID function that returns the number of bytes decoded. 2007-09-18 11:53:05 +02:00
Juan Lang f3490f3ed8 crypt32: Add a decoded parameter to AsnDecodeSequence. 2007-09-18 11:52:57 +02:00
Juan Lang 731d37b049 crypt32: Use a simpler prototype for array decoding functions. 2007-09-18 11:52:50 +02:00
Juan Lang cc2059b67c crypt32: Fix alignment on 64-bit systems. 2007-09-18 11:52:32 +02:00
Juan Lang 09447fb605 crypt32: Correct an optimization. 2007-09-18 11:52:25 +02:00
Juan Lang e747f706b1 crypt32: Correct GET_LEN_BYTES for the indefinite-length form. 2007-09-18 11:52:18 +02:00
Juan Lang 15b19f1d16 crypt32: Add a test of an indefinite-length sequence. 2007-09-18 11:52:09 +02:00
Juan Lang 716a7405e4 crypt32: Update comments. 2007-09-18 11:52:00 +02:00
Andrew Talbot f19086e9d3 crypt32: Fix some memory leaks. 2007-09-17 13:48:32 +02:00
Francois Gouget 5ac6e1f5c5 crypt32: We don't consider sys/types.h to be a conditional include. 2007-09-13 11:01:00 +02:00
Juan Lang f0add11007 crypt32: Make chain tests more strict. 2007-09-12 11:33:11 +02:00
Juan Lang a5833ac9f4 crypt32: Set subject's info status from method used to find issuer. 2007-09-12 11:33:11 +02:00
Juan Lang 54428bfb99 crypt32: Pass subject's info status when adding an issuer to a chain. 2007-09-12 11:33:11 +02:00
Juan Lang 5c8254886f crypt32: Only decode authority key ID in subject cert once when looking for issuer. 2007-09-12 11:33:11 +02:00
Juan Lang 05492ae907 crypt32: (Re)introduce helper function to get issuer certificate. 2007-09-12 11:33:11 +02:00
Rob Shearman 9ddc872a1a crypt32: Fix a compile failure on *BSD systems.
Include limits.h for the definition of PATH_MAX.
2007-09-12 11:33:10 +02:00
Francois Gouget b7bf91f5e8 crypt32: Fix the I_Crypt*Asn1*() prototypes. Add the i_cryptasn1tls.h header and use it. 2007-09-12 11:33:10 +02:00
Juan Lang 039beff441 crypt32: Implement CertVerifyCertificateChainPolicy for the basic constraints policy. 2007-09-11 12:36:41 +02:00
Juan Lang 5f06293eb1 crypt32: Implement CertVerifyCertificateChainPolicy for the authenticode policy. 2007-09-11 12:36:34 +02:00
Juan Lang b56f0c5b68 crypt32: Implement CertVerifyCertificateChainPolicy for the base policy. 2007-09-11 12:36:27 +02:00
Juan Lang f23ec30534 crypt32: Add initial tests for CertVerifyCertificateChainPolicy. 2007-09-11 12:36:15 +02:00
Juan Lang 91c76955e7 crypt32: Add a stub for CertVerifyCertificateChainPolicy. 2007-09-11 12:36:10 +02:00
Juan Lang d7115ce33c crypt32: Support CRYPT_DECODE_TO_BE_SIGNED_FLAG. 2007-09-11 12:35:57 +02:00
Juan Lang 9663f9427b crypt32: Add a root store implementation that reads trusted certificates from well-known locations on the local system. 2007-09-11 11:57:06 +02:00
Juan Lang 391f826d49 crypt32: Add a function to create a certificate chain engine potentially before the root store is created. 2007-09-11 11:50:23 +02:00
Juan Lang 5e674f3580 crypt32: Consider alternate issuers when building chains. 2007-09-10 15:50:01 +02:00
Juan Lang 1fc8c60788 crypt32: Flags weren't set, so don't bother passing them. 2007-09-10 15:49:55 +02:00
Juan Lang a040dd22e7 crypt32: Defer checking signatures until chain is complete. 2007-09-10 15:49:50 +02:00
Juan Lang 56d4a3c392 crypt32: Don't ask CertGetIssuerCertificateFromStore to verify revocation status, it almost certainly doesn't do what we want. 2007-09-10 15:49:44 +02:00
Juan Lang dfd2d3d9bc crypt32: Don't abort chain creation if the root signature isn't valid. 2007-09-10 15:49:38 +02:00
Juan Lang 5b02947937 crypt32: Add special case for certificates with no signature algorithm. 2007-09-10 15:49:31 +02:00
Juan Lang d82f3f37a2 crypt32: Remove a misplaced todo_wine. 2007-09-10 15:49:24 +02:00
Juan Lang 69834b16ac crypt32: Set *ppChainContext even on error. 2007-09-10 15:49:13 +02:00
Juan Lang 31618f91dd crypt32: Test whether chain creation should fail when a root signature is invalid. 2007-09-10 15:49:07 +02:00
Juan Lang c4e07a5bfc crypt32: Separate allocating a simple chain and checking it from building it. 2007-09-10 15:49:01 +02:00
Juan Lang a82b36ac98 crypt32: Store world store in chain. 2007-09-10 15:48:55 +02:00
Juan Lang 818634d69a crypt32: Not finding an issuer shouldn't cause chain creation to fail. 2007-09-10 15:48:49 +02:00
Juan Lang 8698a598fc crypt32: Don't add end cert's store to world. 2007-09-10 15:48:43 +02:00
Juan Lang e9ee8c8717 crypt32: Open world store when creating chain, not when building a simple chain. 2007-09-10 15:48:35 +02:00
Juan Lang 1a059879bf crypt32: Make a helper function to create initial candidate chain. 2007-09-10 15:48:27 +02:00
Juan Lang 192ed7353d crypt32: Test that the end cert in a chain's store isn't implicitly searched for issuers. 2007-09-10 15:48:15 +02:00
Juan Lang 6aa03fc4c3 crypt32: Add more tests for getting issuer cert from store.
Show that certificates are added to memory stores at the head rather
than the tail.
2007-09-10 15:48:10 +02:00
Juan Lang 6c9b788fb8 crypt32: Check path length constraint on a chain. 2007-08-31 19:12:38 +02:00
Juan Lang 14b0df1fef crypt32: Set error status on issued certificate, not on issuer. 2007-08-31 19:12:33 +02:00
Juan Lang 1ce46d5e4a crypt32: Check whether each signing certificate can be a CA. 2007-08-31 19:12:28 +02:00
Juan Lang 51948b0c98 crypt32: Check time of each element in chain against requested time. 2007-08-31 19:12:23 +02:00
Juan Lang d06a24517f crypt32: Time validity nesting doesn't appear to be checked, so don't check it. 2007-08-31 19:12:18 +02:00
Juan Lang 03d76d97ec crypt32: Correct combining trust status of a chain's elements into the chain's trust status. 2007-08-31 19:12:12 +02:00
Juan Lang c39696eb14 crypt32: Don't fail chain creation if signature doesn't match. 2007-08-31 19:12:04 +02:00
Juan Lang 1540f24e92 crypt32: Don't fail chain creation if root isn't self-signed. 2007-08-31 19:11:53 +02:00
Juan Lang b8b787a810 crypt32: Halt chain creation when a cycle is detected. 2007-08-31 19:11:46 +02:00
Juan Lang 51a9d208ee crypt32: Implement CertDuplicateCertificateChain. 2007-08-31 19:11:41 +02:00
Juan Lang 3ef4c7e1cc crypt32: Remove unneeded WINAPI from internal function. 2007-08-31 19:11:35 +02:00
Juan Lang 0dc82780ca crypt32: Free lower quality chain contexts. 2007-08-31 19:11:30 +02:00
Juan Lang a4e88cb644 crypt32: Check chain root's trusted status regardless of whether its signature is valid. 2007-08-31 19:11:25 +02:00
Juan Lang 8cd7abf1be crypt32: Properly reference count certificate contexts referenced by a chain. 2007-08-31 19:11:19 +02:00
Juan Lang 45eef63a35 crypt32: Add a default cycle detection modulus. 2007-08-31 19:11:11 +02:00
Juan Lang cf2047fd72 crypt32: The preferred issuer flag appears to be a bug in XP, so don't set it. 2007-08-31 19:11:06 +02:00
Juan Lang 6a8a7362cc crypt32: Greatly expand certificate chain tests. 2007-08-31 18:01:56 +02:00
Juan Lang eda48d8868 crypt32: Set trust status on root element in chain. 2007-08-29 11:59:34 +02:00
Juan Lang ff26d428e3 crypt32: Partially implement CMSG_CTRL_VERIFY_SIGNATURE_EX. 2007-08-27 11:59:19 +02:00
Juan Lang f5b4806159 crypt32: Implement CryptVerifyMessageSignature. 2007-08-23 12:38:05 +02:00
Juan Lang 3a9e1d6648 crypt32: Test and correct verifying the signature of a valid signed message. 2007-08-23 12:37:59 +02:00
Juan Lang 4fb26709cd crypt32: Test encoding a signed message with a valid public key. 2007-08-22 12:59:37 +02:00
Juan Lang 6acd761646 crypt32: Explicitly terminate loop when a matching signer cert is found. 2007-08-22 12:59:32 +02:00
Juan Lang d4c318f295 crypt32: Only free allocated handles. 2007-08-22 12:34:04 +02:00
Juan Lang e52c80e53b crypt32: Test and implement CryptGetMessageSignerCount. 2007-08-22 12:33:59 +02:00
Juan Lang b9038be1ff crypt32: Implement CryptGetMessageCertificates. 2007-08-22 12:33:55 +02:00
Juan Lang b6032a41b3 crypt32: Trace encoding and decoding public keys on crypt channel. 2007-08-22 12:33:50 +02:00
Juan Lang b7e420429d crypt32: Implement verifying a decoded signed message's signature. 2007-08-21 22:09:35 +02:00
Juan Lang d3431271fa crypt32: Test and implement getting the computed hash from a decoded signed message. 2007-08-21 22:09:31 +02:00
Juan Lang ed6fbb2712 crypt32: Update a hash message's hash handles when decoding it. 2007-08-21 22:09:27 +02:00
Juan Lang d2dc7d78a9 crypt32: Move signed message data functions together. 2007-08-21 22:09:19 +02:00
Juan Lang f1f8e87b33 crypt32: Make constructing handles a member of signed msg data. 2007-08-21 22:09:15 +02:00
Juan Lang 07ba16c291 crypt32: Use a helper function to allocate signer handles. 2007-08-21 22:09:12 +02:00
Juan Lang 1f9d9be762 crypt32: Don't keep an unneeded copy of the crypto provider for each signer. 2007-08-21 22:09:08 +02:00
Juan Lang bfbc159d1e crypt32: Separate construction of signer handles from signer info. 2007-08-21 22:09:03 +02:00
Juan Lang c4dd74d84c crypt32: Add a helper function to construct a signer handles structure. 2007-08-21 22:08:59 +02:00
Juan Lang de88fedcce crypt32: Add helper function to update signed message data. 2007-08-21 22:08:54 +02:00
Juan Lang 1522282673 crypt32: Make more functions members of signed message data, rather than message. 2007-08-21 22:08:49 +02:00
Juan Lang bfde05d8b6 crypt32: Make updating a hash a member of signed message data, not signed message. 2007-08-21 22:08:45 +02:00
Juan Lang 0080d3d691 crypt32: Make a helper function to a free a signed message's handles. 2007-08-21 22:08:41 +02:00
Juan Lang 5e9299d980 crypt32: Use signed message data type for decoded signed messages. 2007-08-21 22:08:37 +02:00
Juan Lang 7748905743 crypt32: Make a signed message data type. 2007-08-21 22:08:24 +02:00
Juan Lang 3e88838b60 crypt32: Implement verifying the hash of a decoded hash message. 2007-08-21 22:08:20 +02:00
Juan Lang e7ce5ae2bc crypt32: Add a couple tests that show you can't get the hash from an encoded hash message, and fix encoded hash messages to match. 2007-08-21 22:08:15 +02:00
Juan Lang 163e8d6256 crypt32: Add a mostly stub control function for decode messages. 2007-08-21 22:08:11 +02:00
Juan Lang 31c414f4b4 crypt32: Add a default message control function pointer. 2007-08-21 22:08:06 +02:00
Juan Lang cc8948fefa crypt32: Add tests for CryptMsgControl. 2007-08-21 22:08:01 +02:00
Juan Lang 8c4330e732 crypt32: Test an encoded signed message with a cert with a public key. 2007-08-21 22:07:56 +02:00
Juan Lang 1d53424470 crypt32: Don't store the crypto provider when it isn't needed. 2007-08-20 11:52:21 +02:00
Juan Lang 9be5007669 crypt32: Don't store redundant copy of crypto provider in file store. 2007-08-20 11:52:12 +02:00
Juan Lang 065ed54f69 crypt32: Don't store redundant copy of crypto provider in reg store. 2007-08-20 11:52:05 +02:00
Juan Lang 4e1108533b crypt32: Pass crypto provider and appropriate flags when opening PKCS messages, and don't store a redundant copy of the crypto provider in message stores. 2007-08-20 11:51:57 +02:00
Juan Lang 71dffcee84 crypt32: Move file store to a separate file. 2007-08-17 12:01:38 +02:00
Juan Lang 0070d8226f crypt32: Move registry stores to a separate file. 2007-08-17 12:01:38 +02:00
Juan Lang 131f1d20e7 crypt32: Move provider stores to a separate file. 2007-08-17 12:01:38 +02:00
Juan Lang 9f85156e23 crypt32: Move collection stores to a separate file. 2007-08-17 12:01:38 +02:00
Juan Lang adaaab923d crypt32: Move cert store definitions to header. 2007-08-17 12:01:38 +02:00
Juan Lang f3128c9244 crypt32: Where possible, pass a pointer rather than an offset, it's less confusing. 2007-08-17 12:01:38 +02:00
Juan Lang 2a8aa87878 crypt32: Use externed vars for context variables. 2007-08-17 12:01:38 +02:00
Juan Lang 6aa10439a9 crypt32: Use public APIs to empty a store. 2007-08-17 12:01:37 +02:00
Juan Lang bc37988dff crypt32: Use public type and APIs for memory stores wherever possible. 2007-08-17 12:01:37 +02:00
Juan Lang afc50ce3fe crypt32: Remove some unnecessary casts. 2007-08-17 12:01:37 +02:00
Juan Lang f68036cebd crypt32: Rename a confusing type. 2007-08-17 12:01:37 +02:00
Juan Lang 1626da2bba crypt32: Free default chain engine. 2007-08-16 11:46:40 +02:00
Paul Vriens 16d9123377 crypt32/tests: Use GetModuleHandle and skip. 2007-08-15 10:48:55 +02:00
Juan Lang 714a3731eb crypt32: Set return value on exception.
Spotted by Paul Vriens.
2007-08-15 10:48:51 +02:00
Juan Lang 9a58b30819 crypt32: Initial implementation of CertGetCertificateChain and CertFreeCertificateChain. 2007-08-15 10:43:32 +02:00
Juan Lang 51651c7c5c crypt32: Add a chain test with real certificates. 2007-08-15 10:43:09 +02:00
Juan Lang abd6feaf93 crypt32: Add initial tests for certificate chains. 2007-08-15 10:43:01 +02:00
Juan Lang 0b2b1f8881 crypt32: Set output chain to NULL. 2007-08-15 10:42:53 +02:00
Juan Lang 466d8a01a5 crypt32: Add stub for CertFreeCertificateChain. 2007-08-15 10:42:48 +02:00
Juan Lang 1547f39800 crypt32: Move CertGetCertificateChain to chain.c. 2007-08-15 10:42:42 +02:00
Juan Lang 7316156d35 crypt32: Fix typo. 2007-08-15 10:42:35 +02:00
Juan Lang f1cb8057e7 crypt32: Fix typo. 2007-08-15 10:42:29 +02:00
Paul Vriens c0b88f880f crypt32/tests: Make tests run again on win95. 2007-08-14 12:46:38 +02:00
Juan Lang aa0f823429 crypt32: Test finding the issuer of a certificate. 2007-08-14 12:30:18 +02:00
Juan Lang f7bcc26cc5 crypt32: Avoid a memory allocation when decoding the subject key identifier extension. 2007-08-14 12:30:05 +02:00
Juan Lang d49c9d59d1 crypt32: Add missing break. 2007-08-14 12:29:56 +02:00
Juan Lang b82bfa3455 crypt32: Test authority key identifier with a multi-byte id to show that its byte-order is swapped and fix encoding and decoding it. 2007-08-14 12:29:51 +02:00
Juan Lang 3a50b1fea6 crypt32: Improve tracing when builtin function isn't available. 2007-08-13 11:32:51 +02:00
Juan Lang f848055151 crypt32: Use helper functions to simplify CryptEncodeObject and CryptEncodeObjectEx. 2007-08-13 11:32:42 +02:00
Juan Lang 5d8d9e7d08 crypt32: Validate parameters better in CryptDecodeObject. 2007-08-13 11:32:33 +02:00
Juan Lang 4c58c4bc2f crypt32: Use helper functions to simplify CryptDecodeObject and CryptDecodeObjectEx. 2007-08-13 11:32:23 +02:00
Juan Lang 038b53c301 crypt32: Ex encode/decode functions should call non-Ex versions if no Ex version is available. 2007-08-13 11:32:13 +02:00
Juan Lang 0c4c1985b0 crypt32: Add stub for I_CryptGetAsn1Decoder. 2007-08-10 12:58:17 +02:00
Juan Lang 84a54b5a1f crypt32: Trace more return values. 2007-08-10 12:58:17 +02:00
Juan Lang 9da1baa130 crypt32: Use real certificates to test finding subject certificates, and correct finding them. 2007-08-10 12:58:17 +02:00
Juan Lang 8778b9f506 crypt32: Correct loading OID functions from the registry. 2007-08-10 12:58:17 +02:00
Francois Gouget f045243542 crypt32/tests: Fix compilation on systems that don't support nameless unions. 2007-08-08 15:32:03 +02:00
Juan Lang c9a5410288 crypt32: According to MSDN, inner content is only decoded when the content type is data. 2007-08-08 15:32:01 +02:00
Juan Lang c5a213a816 crypt32: Add a couple traces. 2007-08-08 15:32:01 +02:00
Juan Lang bcbf5dcee3 crypt32: Test and correct finding a subject certificate. 2007-08-08 15:32:01 +02:00
Juan Lang d89528b016 crypt32: Use the authority key identifier to search for a certificate's issuer. 2007-08-08 15:32:00 +02:00
Juan Lang c91e591a95 crypt32: Fix typo. 2007-08-08 15:32:00 +02:00
Juan Lang 53087dbe12 crypt32: Introduce cryptasn debug channel to quiet down crypt traces. 2007-08-08 15:32:00 +02:00
Juan Lang 05d2ab176a crypt32: Implement CertRDNValueToStr for UTF-8 strings. 2007-08-08 15:32:00 +02:00
Francois Gouget f67fd2cfa4 crypt32: Better match the PSDK types and fix the winapi_check warnings. 2007-08-06 12:30:48 +02:00
Francois Gouget 74bf9f1f4e crypt32: Add and use HCRYPTPROV_LEGACY and HCRYPTPROV_OR_NCRYPT_KEY_HANDLE. 2007-08-03 12:44:41 +02:00
Juan Lang 0cc08cccb9 crypt32: Support finding certificates by cert id. 2007-08-03 12:36:49 +02:00
Juan Lang ac28066b48 crypt32: Test and fix getting a certificate context's key identifier property. 2007-08-03 12:36:43 +02:00
Juan Lang c98f605b0e crypt32: Test encoding a cert with a subject key identifier extension. 2007-08-03 12:36:36 +02:00
Juan Lang 0c5772dc0a crypt32: Test encoding a cert with a public key. 2007-08-03 12:36:16 +02:00
Juan Lang 5885eb3cc3 crypt32: Fix typo in key context property test, and the problems it hid. 2007-08-03 12:36:04 +02:00
Juan Lang 90824039ac crypt32: Add and use a helper function for getting cert properties. 2007-08-03 12:35:56 +02:00
Juan Lang 44948c3b38 crypt32: Implement decoding OID and directory name alt name entries. 2007-08-03 12:29:47 +02:00
Juan Lang 005b50e913 crypt32: Introduce a OID decoding function that ignores the tag and use it where the caller already checks the tag. 2007-08-03 12:29:39 +02:00
Juan Lang 676c6e5a36 crypt32: Implement encoding OID and directory name alt name entries. 2007-08-03 12:29:03 +02:00
Juan Lang 9194d60061 crypt32: Test encoding/decoding a couple more alt name entry types. 2007-08-03 12:28:40 +02:00
Juan Lang 0cb6148422 crypt32: Get rid of bogus check and improve traces for unexpected alt name entry types. 2007-08-03 12:28:32 +02:00
Juan Lang db513c0cb5 crypt32: Remove bad special case, it isn't necessary since the outer content specifies the hash algorithm. 2007-08-01 11:29:31 +02:00
Juan Lang e25b81fd9c crypt32: Use the outer content's signature algorithm rather than the public key's embedded algorithm. 2007-08-01 11:29:18 +02:00
Juan Lang 4e0f33dada crypt32: Support getting the inner content OID from a decoded signed message. 2007-07-31 11:16:04 +02:00
Juan Lang 014467031e crypt32: Get rid of attribute certs from signed info, they're not supported anyway. 2007-07-31 11:15:57 +02:00