Commit Graph

273 Commits

Author SHA1 Message Date
Juan Lang 2a378eff3b crypt32: Simplify OID decoding
Use a more direct function to decode OIDs, instead of the bizarre
wrapper.
2006-05-09 11:55:07 +02:00
Alexandre Julliard 4d574a41b5 crypt32: Fixed day/month mismatch in time encoding routines. 2006-04-13 11:45:12 +02:00
Alexandre Julliard ee05e245a4 crypt32: Avoid crash on NULL pointer in trace. 2006-04-13 11:44:52 +02:00
Juan Lang 95859a1d6a crypt32: Fix a typo caught by coverity. 2006-04-11 11:23:39 +02:00
Juan Lang 992a1af44b crypt32: Implement CertCreateSelfSignCertificate, with some tests. 2006-04-06 11:38:16 +02:00
Juan Lang 309b26801e crypt32: Add support for the CERT_KEY_PROV_INFO_PROP_ID certificate property. 2006-04-06 11:35:48 +02:00
Juan Lang 04ed9c2a57 crypt32: Tiny fixes. 2006-03-30 21:55:07 +02:00
Juan Lang 5eadd8c791 crypt32: Fix certificate adding
- Implement add disposition in CertAddCertificateContextToStore,
  rather than in each store.
- Add a few more tests.
2006-03-30 21:55:00 +02:00
Mike McCormack 32f6b71c76 crypt32: Fix a warning. 2006-03-18 18:04:14 +01:00
Juan Lang ae5823db3f crypt32: Implement CertGetSubjectCertificateFromStore. 2006-03-17 13:11:21 +01:00
Juan Lang b40a406dc3 crypt32: Tighten CertDuplicateCertificateContext test.
Test that the return from CertDuplicateCertificateContext is the same
as its parameter.
2006-03-16 16:21:59 +01:00
Juan Lang 0811851b94 crypt32: Abstract contexts.
- create a base cert context, and make functions unaware whether
  they're dealing with the base or derived type
- simplify stores as a result
2006-03-13 14:19:31 +01:00
Juan Lang 91b80fc8e2 crypt32: Move context properties to a separate file. 2006-03-10 21:41:38 +01:00
Juan Lang 89b3191c7c crypt32: Implement CertGetValidUsages. 2006-03-08 11:33:53 +01:00
Juan Lang 78872852fd crypt32: Simplify stores.
Ref count cert context references, and eliminate the DupCert function
from stores.
2006-03-07 10:40:18 +01:00
Juan Lang c3a125179d crypt32: Move serialization functions to serialize.c. 2006-03-04 16:12:28 +01:00
Juan Lang 8949d29de2 crypt32: Implement CertDuplicateStore. 2006-03-03 13:17:34 +01:00
Jeremy White efccbbfbea crypt32: More gcc 2.95 adjustments. 2006-03-01 20:05:26 +01:00
Juan Lang 661d80708b crypt32: Use CertFindCertificateInStore to simplify adding certificates. 2006-03-01 19:53:24 +01:00
Juan Lang ba2c1e5116 crypt32: Eliminate an unnecessary function pointer from stores. 2006-03-01 11:05:28 +01:00
Eric Pouech d6201e2375 crypt32: Don't access a blob after freeing it. 2006-02-28 12:13:45 +01:00
Juan Lang c109e2a33e crypt32: Correct compile problem on gcc 2.95. 2006-02-28 12:02:41 +01:00
YunSong Hwang b97c880cb5 crypt32: Add Korean translation. 2006-02-28 12:02:26 +01:00
Henning Gerhardt 39be679a45 crypt32: Add German resource file. 2006-02-27 12:19:03 +01:00
Alexander N. Sørnes 46a96312e5 Updated/new Norwegian Bokmål resources. 2006-02-24 21:11:03 +01:00
Juan Lang b48f865f7d crypt32: Use public functions during serialization rather than relying
on the internal format of a certificate.
2006-02-24 11:26:20 +01:00
Juan Lang 690f98408b crypt32: implement CryptEnumOIDInfo and CryptFindOIDInfo.
- implement CryptEnumOIDInfo and CryptFindOIDInfo
- implement CertOIDToAlgId and CertAlgIdToOID using CryptFindOIDInfo
2006-02-24 11:26:01 +01:00
Juan Lang 6da92ded75 crypt32: Move OIDToAlgID and AlgIDToOID to oid.c. 2006-02-23 11:14:13 +01:00
Juan Lang aa6dc003a4 crypt32: Implement CertFindCertificateInStore, with tests. 2006-02-23 11:13:45 +01:00
Juan Lang 5d3889412d crypt32: Tidy up tests.
Fix up encoded data to use BYTE arrays rather than strings, and remove
extraneous NULL bytes from the end of some of them
2006-02-22 18:20:03 +01:00
Juan Lang d740f342b9 crypt32: Add stubs for CryptFindOIDInfo and I_CryptInstallAsn1Module.
Move CryptVerifyMessageSignature stub to main.c.
2006-02-22 18:19:49 +01:00
Juan Lang 079afa21de crypt32: Implement enhanced key usage.
Implement CertGetEnhancedKeyUsage, CertSetEnhancedKeyUsage,
CertAddEnhancedKeyUsageIdentifier, and
CertRemoveEnhancedKeyUsageIdentifier.
2006-02-18 15:49:54 +01:00
Juan Lang 2002e227cf crypt32: Move certificate store functions to their own file. 2006-02-17 17:36:52 +01:00
Juan Lang 11fe62de8f crypt32: More encoding/decoding.
Add support for encoding/decoding basic constraints and enhanced key
usage, with tests.
2006-02-16 19:39:27 +01:00
Juan Lang 15e5dc29c1 crypt32: Simplify CertOpenSystemStore, fix CertDuplicateCertificateContext.
- now that CertOpenStore is correct for system stores, simplify
  CertOpenSystemStore
- correct CertDuplicateCertificateStore, with a test
2006-02-16 19:38:45 +01:00
Juan Lang e9c44cc0c4 crypt32: Fix system stores and a memory leak.
- system stores open both HKLM and HKCU for "current user" locations
- fix a memory leak in certificate properties
2006-02-16 12:18:37 +01:00
Juan Lang 8e7f30ef11 crypt32: Partially implement CertGetNameString. 2006-02-16 12:08:19 +01:00
Juan Lang db73ae9e3d crypt32: Rename a variable for clarity. 2006-02-15 11:51:24 +01:00
Juan Lang 09b6cf971f crypt32: Output string type in trace. 2006-02-15 11:51:16 +01:00
Hans Leidekker c27526743b crypt32: Add a stub for CryptQueryObject. 2006-02-13 13:22:25 +01:00
Juan Lang 4b689fbbb5 crypt32: Move break statement to the correct spot. 2006-02-10 14:50:00 +01:00
Juan Lang 69698f9b44 crypt32: Fix up decoding.
- don't use the no copy flag when decoding, the lifetime of the buffer
  to decode isn't guaranteed
- remove some extraneous ternary comparisons
- fix a comment
2006-02-09 12:09:28 +01:00
Juan Lang 02c4956157 crypt32: Fix a fixme, and remove an old comment. 2006-02-09 12:09:01 +01:00
Alexandre Julliard be22a96847 Include wine/port.h in files that use exceptions. 2006-02-07 16:31:21 +01:00
Francois Gouget 379b62c04e Assorted spelling fixes. 2006-02-06 20:58:36 +01:00
Juan Lang d17b730611 crypt32: Fix Mingw compile. 2006-02-05 12:18:39 +01:00
Juan Lang b489f38193 crypt32: Add stub for CryptEnumOIDInfo. 2006-02-03 12:28:33 +01:00
Juan Lang 66a303d107 crypt32: Support external providers.
- add support for external store providers
- rewrite registry stores as a provider
- fix a memory leak
2006-02-02 13:19:39 +01:00
Juan Lang ede2e24a6a crypt32: Implement CertRDNValueToStrW and CertNameToStrW, with tests. 2006-02-02 13:19:30 +01:00
Juan Lang 6a3b3f8635 crypt32: Implement CertRDNValueToStrA and CertNameToStrA, with tests. 2006-02-01 13:50:18 +01:00
Juan Lang faeac96770 crypt32: Correct X509_NAME decoding, and more stringent tests. 2006-01-31 12:22:15 +01:00
Mike McCormack e2020e1b7e crypt32: Add stub implementations of some crypto functions used by IE6 install. 2006-01-23 11:54:58 +01:00
Jeremy White 2c79ae4746 crypt32: Preserve gcc 2.95 compatibility. 2006-01-13 13:53:05 +01:00
Juan Lang 79575a8aff crypt32: Fix a test that fails on Windows. 2006-01-11 20:57:41 +01:00
Robert Shearman 811fb7614c Call DisableThreadLibraryCalls for DLLs that don't need thread
creation/destruction notifications.
2006-01-09 17:17:37 +01:00
Juan Lang a67b6f49ec crypt32: Implement more implicit properties, with tests. 2005-12-17 12:24:59 +01:00
Alexandre Julliard ae964ac801 Take advantage of the __EXCEPT_PAGE_FAULT macro. 2005-12-16 17:17:57 +01:00
Juan Lang 628ede4783 crypt32: Implement CRLDistPoints encoding/decoding.
- rewrite sequence decoding to support context-specific tags, and
  eliminate duplicated code
- implement encoding and decoding of CRLDistPoints
2005-12-16 12:41:28 +01:00
Juan Lang 07dfb1ae27 crypt32: Decode cleanups.
- implement a helper to decode sequences of like types
- use helper functions wherever applicable when decoding
- correct "expected" vs. "got" usage in tests
- fix a few other small bugs
2005-12-13 11:11:25 +01:00
Juan Lang f702794f35 Implement more OID support functions.
Use the exported OID support functions internally.
Move OID support functions and stubs to a separate file.
2005-12-02 11:28:09 +01:00
Stefan Leichter a03d64b1e5 Added stub for CryptVerifyMessageSignature. 2005-11-30 12:48:51 +01:00
Juan Lang 43d855530b Fix parameter count on some stubs (thanks to Marcus Meissner for
spotting that.)  Add a few more stubs.
2005-11-28 20:52:13 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Juan Lang fd7a60bc8d Fix some memory leaks. 2005-11-23 15:12:56 +01:00
Ge van Geldorp 461fe11243 Don't redefine ASN_OCTETSTRING, it's already defined in snmp.h. 2005-11-21 13:35:26 +00:00
Saulius Krasuckas 9d2c6a9ce9 Don't call missing API function. 2005-11-14 11:22:34 +00:00
Saulius Krasuckas 1d8d0dd0da Make Crypt32 tests loadable on Win98. 2005-11-08 10:57:28 +00:00
Juan Lang 7e5a079d25 Implement CertSignSignature and CertVerifySignature(Ex). 2005-10-31 10:04:06 +00:00
Juan Lang 2d6d002b44 Use CryptMem functions for internal memory allocation. 2005-10-28 10:09:26 +00:00
Juan Lang c534fa1e82 Implement CryptMem and undocumented I_Crypt*Tls functions, with tests. 2005-10-27 10:24:20 +00:00
Juan Lang f52d0a6c80 Use correct names when loading registered OID functions. 2005-10-04 11:29:19 +00:00
Juan Lang 5b0812fbcf Make CryptImport/ExportPublicKeyInfoEx behave the way MSDN describes
them, and a couple of tests.
2005-09-30 10:35:31 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Juan Lang 69dfea8f44 Encode RSA public key modulus as unsigned integer, with tests. 2005-09-28 18:12:29 +00:00
Juan Lang d6a89fbae3 Implement CryptImport/ExportPublicKeyInfo. 2005-09-28 10:15:37 +00:00
Stefan Leichter 443910ba27 Added stubs for CryptInitOIDFunctionSet and
CryptUnregisterDefaultOIDFunction.
2005-09-15 09:31:20 +00:00
Mike McCormack b5f878936f Fix gcc 4.0 warnings. 2005-09-14 10:07:15 +00:00
Mike McCormack bfb04ad7c0 Fix gcc 4.0 warnings. 2005-09-13 10:33:39 +00:00
Mike McCormack 35c20561a7 Fix gcc 4.0 warnings. 2005-09-12 15:28:15 +00:00
Juan Lang 807b11b363 When decoding a signed cert, make sure it's really a cert. 2005-09-12 10:08:34 +00:00
Juan Lang 25cb6e081f - call CertFreeCertificateContext from CertDeleteCertificateFromStore
- fix some ref counting problems
2005-09-09 09:09:45 +00:00
Juan Lang 300c10a3b7 - implement system stores
- remove an intermittently failing registry test
2005-09-08 18:56:14 +00:00
Alexandre Julliard 38673cc01d Avoid a couple of 'clobbered by longjmp' warnings. 2005-09-08 11:27:26 +00:00
Juan Lang 1cf56599bd Implement system registry stores. 2005-09-08 11:00:51 +00:00
Juan Lang e385fc5c99 Convert a few more constants from strings to byte arrays. 2005-09-08 11:00:24 +00:00
Juan Lang 5ef9d88cab Implement registry stores. 2005-09-07 13:25:56 +00:00
Mike McCormack dc1c62a592 Fix gcc 4.0 warnings. 2005-09-07 11:31:17 +00:00
Mike McCormack d168219849 Fix gcc 4.0 warnings. 2005-09-06 10:26:13 +00:00
Juan Lang 3bf9c165fa Correct a test that incorrectly showed signed certs couldn't be added
to a mem store.
Support signed certs in mem stores.
Correct use of a freed pointer.
2005-09-03 15:02:57 +00:00
Juan Lang 160b9149a1 Improve CryptAlgIdToOID/CryptOIDToAlgId tests, and prevent a crash in
CryptOIDToAlgId.
2005-09-03 09:36:55 +00:00
Juan Lang a5082b2544 Correct a bunch of lurking asn.1 decode bugs. 2005-09-03 09:36:02 +00:00
Juan Lang 8c08dbfd12 Implement encoding/decoding RSA public keys. 2005-09-02 14:38:39 +00:00
Juan Lang 6389dbc979 Implement CertAddSerializedElementToStore. 2005-09-02 14:38:05 +00:00
Kevin Koltzau 95a173a52b Fix warnings in 64bit. 2005-09-02 11:32:17 +00:00
Juan Lang 9e8c0bbdb3 Implement collection stores. 2005-08-30 09:59:03 +00:00
Juan Lang 7fe3f50848 Implement encoding/decoding of CERT_ALT_NAME_INFOs and CRL_INFOs. 2005-08-29 14:12:44 +00:00
Juan Lang 8d1cf4ebec Implemented memory cert stores. 2005-08-29 12:18:00 +00:00
Mike McCormack a107234dcd gcc 4.0 warning fixes. 2005-08-29 09:38:19 +00:00
Alexandre Julliard cc4da88563 Explicitly import kernel32 in tests that use it. 2005-08-27 09:27:09 +00:00
Juan Lang 390d502887 Added a bunch of stubs. 2005-08-26 08:46:48 +00:00
Juan Lang 02cb0c77d7 Implemented CryptHashCertificate. 2005-08-25 09:51:59 +00:00
Alexandre Julliard 702c959c7b Added missing ntdll imports. 2005-08-18 10:59:47 +00:00
Juan Lang 512e50ea1e Remove a test that fails under WinME. Reported and helpfully debugged
by Saulius Krasuckas.
2005-08-16 11:13:50 +00:00
Juan Lang 13766712f9 Encode/decode certs, with tests. 2005-07-14 10:14:22 +00:00
Juan Lang 307b2cd92e - encode/decode CERT_INFO, with tests
- a few more tests and bugfixes
2005-07-12 17:00:23 +00:00
Juan Lang 5701a0f0b8 Implement a few utility functions, with tests. 2005-07-07 20:27:55 +00:00
Juan Lang 417edaadcf Encode/decode CERT_PUBLIC_KEY_INFO, with tests. 2005-07-07 11:26:50 +00:00
Juan Lang 623e272c06 - implement encoding/decoding of cert extensions
- remove some unnecessary parameters to internal functions
- tests for cert extensions
2005-07-01 15:40:45 +00:00
Juan Lang d494c3ab21 - fix decoding of long-form data lengths
- use exception handling in decoding
- tests for these changes
2005-06-29 11:00:31 +00:00
Juan Lang 4e99be5baa - use exception handling in encoding
- consolidate integer encoders
2005-06-27 19:48:24 +00:00
Juan Lang 94bd145865 - implement encode and decode of BasicConstraints2, sequence of any
- fix encoding of integer value 0
- more tests
2005-06-27 09:42:15 +00:00
Alexandre Julliard aa0b9aac0d Sort entry points alphabetically. 2005-06-22 18:38:23 +00:00
Francois Gouget a1f4fac03c Fix the CryptEncodeObjectEx() prototype.
Fixes winapi_check warnings.
2005-06-17 21:26:53 +00:00
Juan Lang 2aa7f3c276 Add a few traces and comments. 2005-06-17 09:50:37 +00:00
Juan Lang 7f811b71ee - implement encoding and decoding of enumerated types, unsigned
integers, octet strings, and bit strings
- correct length handling
- the usual tests
2005-06-16 16:08:50 +00:00
Mike McCormack 65ad7da1f7 Fix some declaration and write string warnings. 2005-06-16 10:45:25 +00:00
Juan Lang 12a9ec138d Add encode/decode support for multi-byte integers. 2005-06-15 10:21:32 +00:00
Juan Lang 4b10986670 Add CertAlgIdToOID and CertOIDToAlgId, with tests. 2005-06-14 11:38:36 +00:00
Juan Lang 4d7e1e4baa - encode/decode X509_NAMEs for simple string encodings, with tests
- more tests and some fixes to other types
2005-06-13 11:39:35 +00:00
Juan Lang b06e8c5973 Cryp{En|De}codeObjectEx should return success if the input buffer is
NULL, some MS sample programs depend on that.  Fix functions and
tests.
2005-06-10 19:28:58 +00:00
Juan Lang cdc6772017 Implement asn.1 encoding/decoding of times, with tests. 2005-06-08 18:31:21 +00:00
Juan Lang 054a8fb604 Implement asn.1 decoding of integers, with tests. 2005-06-04 09:49:33 +00:00
Juan Lang 5b3499de68 Get rid of a magic number, and improve stubs of
CertOpenSystemStoreA/W.
2005-06-03 11:25:38 +00:00
Juan Lang 5af64e4869 Rearrange Crypt{De|En}codeObjectEx to make error handling more
natural.
2005-06-03 11:25:24 +00:00
Juan Lang 46185a9f8e - add some tests for OID functions
- implement encoding integers
2005-06-02 10:34:03 +00:00
Juan Lang 3abb8e63bf - implement Crypt{Get|Set}OIDFunctionValue
- fix bug and memory leak in last patch
2005-05-31 09:31:49 +00:00
Francois Gouget 62253b752f Assorted spelling fixes. 2005-05-30 09:56:56 +00:00
Juan Lang f8b2561488 Use registered DLLs for encode/decode. 2005-05-29 19:59:33 +00:00
Michael Jung 2d18c3aad3 It's sufficienct for Crypt[Un]ProtectData to acquire the crypto
context with the CRYPT_VERIFY_CONTEXT flag set.
2005-05-27 19:22:57 +00:00
Kees Cook 255541a16e Create basic test suite for CryptProtectData/CryptUnprotectData. 2005-05-24 09:58:26 +00:00
Kees Cook 5eb460953f Correct crypt context init in CryptProtectData/CryptUnprotectData. 2005-05-23 09:50:26 +00:00
Juan Lang b721153150 - more fully implement CryptRegisterOIDFunction
- implement CryptUnregisterOIDFunction
- add stubs for CryptEncodeObject(Ex)/CryptDecodeObject(Ex)
2005-05-20 19:37:26 +00:00
Kees Cook dc54dd1439 Implement CryptUnprotectData counterpart to CryptProtectData. 2005-05-20 19:23:48 +00:00
Kees Cook 146be8071f Implement CryptProtectData with best-guess encryption. 2005-05-20 19:15:55 +00:00
Kees Cook 0371d86cc1 Implement serialization and helper functions for CryptProtectData. 2005-05-20 18:57:31 +00:00
Kees Cook 919d53f22d Define structures for CryptProtectData/CryptUnprotectData calls. 2005-05-18 15:33:50 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Mike McCormack 674e237231 Improve the CertStore code a little. 2004-11-10 01:31:50 +00:00
Stefan Leichter 727a596e9b Added missing line break. 2004-08-26 00:30:23 +00:00
Stefan Leichter 1550f5ef13 Added stub for CertFindCertificateInStore. 2004-08-09 22:55:35 +00:00
Francois Gouget 6a6c85c6d8 Make Unicode const strings static so they are not copied to the stack
each time we enter the function.
2004-04-19 20:12:14 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Juan Lang 1795994d53 - correct some prototypes, add some defines
- stub a couple more functions
2004-03-01 21:19:37 +00:00
Robert Shearman 8cea7b64c4 Added stub for CertFreeCertificateContext. 2004-01-02 03:56:43 +00:00
Mike McCormack f3eff5232e Implement CryptRegisterOIDFunction and CryptSIPAddProvider. 2003-12-11 04:26:05 +00:00
Mike McCormack 8b0d2891bf Stub implementations for CertCreateCRLContext and CertCloseStore. 2003-12-08 21:51:40 +00:00
Thomas Brix Larsen 16c1bf123d Added stub for CryptProtectData, so programs like Skype can start. 2003-12-02 03:47:44 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00