Commit Graph

118 Commits

Author SHA1 Message Date
Zebediah Figura b49ffc574c cryptnet: Cache the result of revocation checks on disk.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:17:15 +02:00
Zebediah Figura 13a349540a cryptnet: Check only the first successfully retrieved CRL in verify_cert_revocation_from_dist_points_ext().
From RFC 5280 § 4.2.1.13:

   If the DistributionPointName contains multiple values, each name
   describes a different mechanism to obtain the same CRL.  For example,
   the same CRL could be available for retrieval through both LDAP and
   HTTP.

Steam attempts to validate a certificate containing what are apparently two
different mirrored URLs to the same 20 MB CRL, which currently takes over 400ms
to parse in Wine. According to my reading of the RFC, we should only need to
parse one of them, cutting the time in half.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:17:11 +02:00
Zebediah Figura 3a9d51bf36 cryptnet: Respect the timeout also if CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG is not set.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:17:06 +02:00
Zebediah Figura 17f4407453 cryptnet: Specify half of the remaining timeout for each CRL if CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG was specified.
Instead of wasting the whole timeout on the first CRL.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:17:01 +02:00
Zebediah Figura 18e46df9d1 cryptnet: Set dwIndex in CertDllVerifyRevocation().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-21 22:02:52 +02:00
Zebediah Figura 0429df4aac cryptnet/tests: Clean up and expand tests for CertDllVerifyRevocation.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-21 22:02:46 +02:00
Zebediah Figura d12ca0dd84 cryptnet: Use RTL_SIZEOF_THROUGH_FIELD.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-21 22:02:39 +02:00
Francois Gouget 44e76ea3c7 cryptnet: Fix the spelling of the x-pkcs7-certificates MIME type.
This may fix connections to some encrypted websites.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 20:15:11 +01:00
Michael Stefaniuc 081f5ae24f cryptnet: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Michael Stefaniuc c7c49ab57d cryptnet/tests: Change the scope of a variable from global to local.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Alexandre Julliard 7ca2c13ea9 cryptnet: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-29 11:38:39 +02:00
Alexandre Julliard 740c1c37cb cryptnet/tests: Avoid using snprintf().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:44 +02:00
André Hentschel 9a4739810c cryptnet: Fix CryptGetObjectUrl spec file entry.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-26 08:05:37 +02:00
Francois Gouget d30c037a1e cryptnet/tests: Remove an uneeded NONAMELESSUNION directive. 2015-03-10 15:18:21 +09:00
Francois Gouget 16a77b89e9 cryptnet: Remove an unneeded NONAMELESSSTRUCT directive. 2015-03-10 15:18:20 +09:00
Hans Leidekker 5e6490a835 cryptnet: Add support for base64 encoded certificates, CRLs and CTLs in CryptRetrieveObjectByUrl. 2014-12-09 13:16:16 +01:00
Daniel Lehman 3be7f3079c cryptnet: Continue checking the revocation urls if one is offline. 2014-07-24 09:21:54 +02:00
Jacek Caban e739f040c0 crypt32: Simplified getting context expiration. 2014-03-07 16:36:36 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Dmitry Timoshkov 876cc598c3 cryptnet: Avoid preliminary blob size initialization. 2013-10-28 10:52:27 +01:00
Jacek Caban 533730de7f cryptnet: Removed unused typedefs. 2013-09-05 15:56:46 +02:00
Piotr Caban c3a23a99a2 cryptnet: Handle SystemTimeToFileTime failure in HTTP_RetrieveEncodedObjectW. 2013-04-01 18:17:35 +02:00
Piotr Caban b8e2edf19c cryptnet: Don't ignore HttpEndRequestW error in HTTP_RetrieveEncodedObjectW. 2013-03-08 18:11:05 +01:00
Piotr Caban 437df58dce cryptnet: Open file with FILE_SHARE_READ flag in File_RetrieveEncodedObjectW. 2013-03-08 18:11:04 +01:00
Piotr Caban 4f89321577 cryptnet: Lock cache file while accessing it. 2013-03-08 18:11:04 +01:00
Alexandre Julliard a4cdc0e90d cryptnet: Remove an unnecessary DllMain entry point. 2013-02-14 21:37:52 +01:00
Marcus Meissner 919a789f45 cryptnet: Avoid memory leak of info (Coverity). 2012-10-15 13:31:05 +02:00
Piotr Caban 5e6e26e1df cryptnet: Fixed cache functions usage in CRYPT_CacheURL function. 2012-10-03 11:25:12 +02:00
Juan Lang eee39b12ab cryptnet: Don't call HttpEndRequest on a request that was never sent. 2012-02-20 11:39:13 +01:00
Juan Lang 0439500f2c cryptnet/tests: Fix test failures on older NT4. 2012-02-13 13:09:45 +01:00
Andrew Talbot 9192a20132 cryptnet: Remove unused file-static variable. 2011-11-14 15:25:20 +01:00
Hans Leidekker a552a7a9f5 cryptnet: Respect proxy settings. 2011-10-13 19:57:19 +02:00
André Hentschel 220191abe1 cryptnet: Use the constants from the wininet header. 2011-09-05 19:32:32 +02:00
Frédéric Delanoy f932abf326 dlls: Assorted spelling fixes. 2011-08-01 18:26:27 +02:00
Francois Gouget 5920de5ffb Assorted spelling and case fixes. 2011-05-09 12:09:27 +02:00
Juan Lang 1ce0799dae wininet: Differentiate checking online and offline CRLs. 2011-03-14 12:16:40 +01:00
Juan Lang ec223a2129 cryptnet: Trace more reasons for revocation failure. 2011-03-14 12:16:33 +01:00
Juan Lang 0f6a6dcd2b cryptnet/tests: Add more tests for revocation checking. 2011-03-14 12:16:28 +01:00
Juan Lang 2a1f26b6da cryptnet: Fix typo.
Spotted by Joris Huizer.
2011-03-14 12:15:33 +01:00
Juan Lang 016795a9bf cryptnet/tests: Partially revert commit de6e33f306.
It introduced new (old) test failures on some still-tested Windows
versions.
2011-03-11 11:42:19 +01:00
Juan Lang 648b91a9f3 cryptnet: Let DeleteUrlCacheEntryW remove the cache file. 2011-03-10 15:17:32 +01:00
Austin English de6e33f306 cryptnet/tests: Remove win9x hacks. 2011-02-28 13:11:14 +01:00
Juan Lang 2a53eb7087 cryptnet: Delete existing cache entries when out of date. 2011-02-23 14:58:32 +01:00
Austin English 66ebabaee1 cryptnet/tests: Make sure to use return value (LLVM/Clang). 2011-02-07 10:06:27 -06:00
Alexandre Julliard 0a28308b90 cryptnet/tests: Don't import shlwapi. 2010-11-25 12:01:43 +01:00
Andrew Eikum 35f8d7397b cryptnet/tests: Use UrlCanonicalize to create a URL. 2010-10-12 11:46:26 +02:00
Alexandre Julliard 730f01801f tests: Make some variables static. 2010-10-01 13:41:42 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Andrew Talbot d68c0d1dd5 cryptnet: Constify a variable. 2010-08-24 12:30:46 +02:00