crypt32: Remove bad special case, it isn't necessary since the outer content specifies the hash algorithm.

This commit is contained in:
Juan Lang 2007-07-31 14:59:04 -07:00 committed by Alexandre Julliard
parent e25b81fd9c
commit db513c0cb5
1 changed files with 5 additions and 26 deletions

View File

@ -1353,37 +1353,16 @@ static BOOL CRYPT_VerifyCertSignatureFromPublicKeyInfo(HCRYPTPROV hCryptProv,
info = CryptFindOIDInfo(CRYPT_OID_INFO_OID_KEY, info = CryptFindOIDInfo(CRYPT_OID_INFO_OID_KEY,
signedCert->SignatureAlgorithm.pszObjId, 0); signedCert->SignatureAlgorithm.pszObjId, 0);
if (!info || (info->dwGroupId != CRYPT_PUBKEY_ALG_OID_GROUP_ID && if (!info || info->dwGroupId != CRYPT_SIGN_ALG_OID_GROUP_ID)
info->dwGroupId != CRYPT_SIGN_ALG_OID_GROUP_ID))
{ {
SetLastError(NTE_BAD_ALGID); SetLastError(NTE_BAD_ALGID);
return FALSE; return FALSE;
} }
if (info->dwGroupId == CRYPT_PUBKEY_ALG_OID_GROUP_ID) hashID = info->u.Algid;
{ if (info->ExtraInfo.cbData >= sizeof(ALG_ID))
switch (info->u.Algid) pubKeyID = *(ALG_ID *)info->ExtraInfo.pbData;
{
case CALG_RSA_KEYX:
pubKeyID = CALG_RSA_SIGN;
hashID = CALG_SHA1;
break;
case CALG_RSA_SIGN:
pubKeyID = CALG_RSA_SIGN;
hashID = CALG_SHA1;
break;
default:
FIXME("unimplemented for %s\n", pubKeyInfo->Algorithm.pszObjId);
return FALSE;
}
}
else else
{ pubKeyID = hashID;
hashID = info->u.Algid;
if (info->ExtraInfo.cbData >= sizeof(ALG_ID))
pubKeyID = *(ALG_ID *)info->ExtraInfo.pbData;
else
pubKeyID = hashID;
}
/* Load the default provider if necessary */ /* Load the default provider if necessary */
if (!hCryptProv) if (!hCryptProv)
hCryptProv = CRYPT_GetDefaultProvider(); hCryptProv = CRYPT_GetDefaultProvider();