Juan Lang : crypt32: Simplify certificate creation.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Jun 20 05:23:13 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 661aecc761e119d0e7a58511408367662045247c
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=661aecc761e119d0e7a58511408367662045247c
Author: Juan Lang <juan_lang at yahoo.com>
Date: Mon Jun 19 14:10:29 2006 -0700
crypt32: Simplify certificate creation.
Decoding already handles signed and unsigned certs, so don't duplicate
that in CertCreateCertificateContext.
---
dlls/crypt32/cert.c | 24 +++---------------------
1 files changed, 3 insertions(+), 21 deletions(-)
diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c
index 3893bdb..2bcc4f7 100644
--- a/dlls/crypt32/cert.c
+++ b/dlls/crypt32/cert.c
@@ -73,33 +73,15 @@ PCCERT_CONTEXT WINAPI CertCreateCertific
{
PCERT_CONTEXT cert = NULL;
BOOL ret;
- PCERT_SIGNED_CONTENT_INFO signedCert = NULL;
PCERT_INFO certInfo = NULL;
DWORD size = 0;
TRACE("(%08lx, %p, %ld)\n", dwCertEncodingType, pbCertEncoded,
cbCertEncoded);
- /* First try to decode it as a signed cert. */
- ret = CryptDecodeObjectEx(dwCertEncodingType, X509_CERT, pbCertEncoded,
- cbCertEncoded, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&signedCert, &size);
- if (ret)
- {
- size = 0;
- ret = CryptDecodeObjectEx(dwCertEncodingType, X509_CERT_TO_BE_SIGNED,
- signedCert->ToBeSigned.pbData, signedCert->ToBeSigned.cbData,
- CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&certInfo, &size);
- LocalFree(signedCert);
- }
- /* Failing that, try it as an unsigned cert */
- if (!ret)
- {
- size = 0;
- ret = CryptDecodeObjectEx(dwCertEncodingType, X509_CERT_TO_BE_SIGNED,
- pbCertEncoded, cbCertEncoded,
- CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_NOCOPY_FLAG, NULL,
- (BYTE *)&certInfo, &size);
- }
+ ret = CryptDecodeObjectEx(dwCertEncodingType, X509_CERT_TO_BE_SIGNED,
+ pbCertEncoded, cbCertEncoded, CRYPT_DECODE_ALLOC_FLAG, NULL,
+ (BYTE *)&certInfo, &size);
if (ret)
{
BYTE *data = NULL;
More information about the wine-cvs
mailing list