| Index: net/base/x509_certificate_win.cc
|
| diff --git a/net/base/x509_certificate_win.cc b/net/base/x509_certificate_win.cc
|
| index 50796223da2267ddd9ad05a297419815af8af7d7..860cb9c4267c613d7d8a09540ddc346e71906066 100644
|
| --- a/net/base/x509_certificate_win.cc
|
| +++ b/net/base/x509_certificate_win.cc
|
| @@ -428,12 +428,18 @@ bool X509Certificate::WriteOSCertHandleToPickle(OSCertHandle cert_handle,
|
| void X509Certificate::GetPublicKeyInfo(OSCertHandle cert_handle,
|
| size_t* size_bits,
|
| PublicKeyType* type) {
|
| + *type = kPublicKeyTypeUnknown;
|
| + *size_bits = 0;
|
| +
|
| PCCRYPT_OID_INFO oid_info = CryptFindOIDInfo(
|
| CRYPT_OID_INFO_OID_KEY,
|
| cert_handle->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId,
|
| CRYPT_PUBKEY_ALG_OID_GROUP_ID);
|
| - PCHECK(oid_info);
|
| - CHECK(oid_info->dwGroupId == CRYPT_PUBKEY_ALG_OID_GROUP_ID);
|
| + if (!oid_info)
|
| + return;
|
| +
|
| + CHECK_EQ(oid_info->dwGroupId,
|
| + static_cast<DWORD>(CRYPT_PUBKEY_ALG_OID_GROUP_ID));
|
|
|
| *size_bits = CertGetPublicKeyLength(
|
| X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
|
| @@ -453,10 +459,6 @@ void X509Certificate::GetPublicKeyInfo(OSCertHandle cert_handle,
|
| case CALG_ECDH:
|
| *type = kPublicKeyTypeECDH;
|
| break;
|
| - default:
|
| - *type = kPublicKeyTypeUnknown;
|
| - *size_bits = 0;
|
| - break;
|
| }
|
| }
|
|
|
|
|