Commit graph

2145 commits

Author SHA1 Message Date
Torge Matthies 75488b303b crypt32: Fix CMS SignedData encoding.
Several items here were encoded conditionally even though they aren't marked
as optional in the spec.

Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-08-24 16:40:59 +02:00
Alexandre Julliard 7bcfc123e6 crypt32/tests: Use nameless unions/structs. 2023-07-19 12:18:10 +02:00
Alexandre Julliard febb06ce77 crypt32: Use nameless union/structs. 2023-07-05 17:03:30 +02:00
Paul Gofman 650fe1fd78 crypt32: Support CNG keys in CDecodeSignedMsg_VerifySignatureWithKey(). 2023-06-30 17:34:50 +02:00
Paul Gofman 8436f03862 crypt32: Factor out cng_prepare_signature(). 2023-06-30 17:34:50 +02:00
Paul Gofman 6b8cf4dcd3 crypt32: Factor out extract_hash() helper. 2023-06-30 17:34:49 +02:00
Paul Gofman cbfcfc2313 crypt32: Add OID info for szOID_ECC_PUBLIC_KEY. 2023-06-30 17:34:49 +02:00
Paul Gofman 073c23940b crypt32/tests: Test ECC message signature verification. 2023-06-30 17:34:49 +02:00
Paul Gofman e6f7e3a0cb crypt32/tests: Add test for CryptVerifyCertificateSignature() with ECC public key. 2023-06-30 17:34:49 +02:00
Paul Gofman e647719eb0 crypt32/tests: Test CertCreateSelfSignCertificate() without provider info. 2023-06-27 11:58:05 +02:00
Paul Gofman 7861b1e8f0 Revert "crypt32: Do not create persistent container in CRYPT_CreateKeyProv().".
This reverts commit a19c871291.
2023-06-27 11:58:05 +02:00
Paul Gofman a19c871291 crypt32: Do not create persistent container in CRYPT_CreateKeyProv(). 2023-06-21 18:15:43 +02:00
Alex Henrie 8102e2ca2b crypt32: Don't export CRYPT_CopyReversed. 2023-06-20 20:31:05 +02:00
Paul Gofman caf5ae1981 crypt32: Keep root certs cached in registry unless some are deleted on host. 2023-03-24 16:06:08 +01:00
Paul Gofman 463bd7c3e0 crypt32: Refactor read_trusted_roots_from_known_locations(). 2023-03-24 16:06:08 +01:00
Paul Gofman 330d6ab88f crypt32: Refactor CRYPT_ImportSystemRootCertsToReg(). 2023-03-24 16:06:08 +01:00
Paul Gofman 49f0331cef crypt32: Use CERT_STORE_ADD_ALWAYS when reading certs from registry. 2023-03-24 16:06:08 +01:00
Paul Gofman 3d38e85964 crypt32: Support user properties for certificates. 2023-03-24 16:06:08 +01:00
Tyson Whitehead 0065b2449a crypt32/tests: Document fields in original test certificate. 2023-03-20 17:10:45 +01:00
Tyson Whitehead 554a23d227 crypt32/tests: Test for CertGetNameStringW fallback cases. 2023-03-20 17:10:45 +01:00
Tyson Whitehead 01c69eb302 crypt32: Add some CertGetNameStringW fallback cases.
When called with CERT_NAME_ATTR_TYPE and pvTypePara=NULL, Windows
did the first of email, CN, OU, or O while Wine just did email.
2023-03-20 17:10:45 +01:00
Francois Gouget 98d7826d0e crypt32/tests: Fix a typo in a comment. 2023-02-14 09:58:02 +01:00
Alexandre Julliard f9ee565c23 include: Use proper dllimports for crypt32 functions. 2022-12-07 13:51:37 +01:00
Brendan Shanks c39e229163 configure: Remove Security.framework check (always present on macOS). 2022-12-02 11:04:46 +01:00
Alexandre Julliard f340406417 crypt32: Use the Unix call helpers. 2022-11-25 10:10:59 +01:00
Hans Leidekker c1aee64eb2 crypt32/tests: Remove OCSP revoked cert test.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53919
2022-11-14 17:03:55 +01:00
Hans Leidekker d393709fe4 crypt32: Parse OCSP responder name.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53813
2022-10-21 23:18:11 +02:00
Alistair Leslie-Hughes 42bd5ea4c4 crypt32: Only report Unimplemented decoder when not found in external dll.
Some applications spam this fixme.
fixme:cryptasn:CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4

This OID is supported in wintrust.dll which crypt32 uses, so this console fixme doesn't make sense.
The fixme will only appear if no support for the requested decoder is available.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53800
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2022-10-19 18:48:30 +02:00
Paul Gofman cc3fc9a47d crypt32: Set correct exponent length in decoded BCRYPT_RSAKEY_BLOB. 2022-09-30 11:53:35 +02:00
Paul Gofman 1120a1cb29 crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary(). 2022-09-21 21:26:37 +02:00
Paul Gofman a79ec1c584 crypt32: Support CRYPT_STRING_HEXRAW in CryptBinaryToStringA(). 2022-09-21 21:26:37 +02:00
Hans Leidekker 7780caf4ee crypt32: Use BCrypt algorithm pseudo-handles. 2022-09-13 16:22:21 +02:00
Nikolay Sivov a63d7c06a9 crypt32/tests: Use CRT allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-07 20:07:18 +02:00
Francois Gouget 49d4fb0d66 crypt32: Remove WINAPI on static functions where not needed. 2022-08-31 18:31:24 +02:00
Paul Gofman 5f3cd85361 crypt32: Support MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2022-07-11 18:55:11 +02:00
Alexandre Julliard 194e09baec makefiles: Add separate variables for Unix flags and libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-29 23:23:41 +02:00
Dmitry Timoshkov 559a83a8f4 crypt32: CryptAcquireCertificatePrivateKey() should reset last error code on success.
One of Chrome crypto plugins depends on this.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-27 15:26:16 +02:00
Hans Leidekker 74832c2177 crypt32/tests: Add more OCSP revocation tests.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-24 12:04:02 +02:00
Hans Leidekker 8a463a335b crypt32: Add support for decoding OCSP_BASIC_REVOKED_INFO structures.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-24 12:03:53 +02:00
Brendan Shanks 65954db2be crypt32/tests: Fix mismatched deallocation function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 18:36:10 +02:00
Paul Gofman fc4067a2ac crypt32/tests: Handle CERT_NAME_SEARCH_ALL_NAMES_FLAG being unsupported before Win8.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52961
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-12 19:32:28 +02:00
Paul Gofman 0c35a851cd crypt32: Support CERT_NAME_SEARCH_ALL_NAMES_FLAG in CertGetNameStringW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-04 21:27:25 +02:00
Paul Gofman b1b9a75411 crypt32: Support up to date subject and issuer alt names OIDs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-04 21:27:25 +02:00
Paul Gofman c515e55d71 crypt32: Reimplement CertNameToStrA() on top of CertNameToStrW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 18:57:17 +02:00
Paul Gofman f560aab5f6 crypt32: Reimplement CertRDNValueToStrA() on top of CertRDNValueToStrW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 18:57:17 +02:00
Paul Gofman bc96cfac11 crypt32: Fix filling short output in CertGetNameStringA().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 18:57:17 +02:00
Paul Gofman 66d9250c42 crypt32: Fix filling short output in CertGetNameStringW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 18:57:17 +02:00
Paul Gofman a78f2319e8 crypt32: Fix filling short output in CertRDNValueToStrW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 18:57:17 +02:00
Paul Gofman 61957d8212 crypt32: Fix filling short output in cert_name_to_str_with_indent().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 18:57:17 +02:00
Paul Gofman 20fd7dacd4 crypt32/tests: Add tests for short return string buffer.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 18:57:16 +02:00