| Index: net/cert/x509_certificate_nss.cc
|
| diff --git a/net/cert/x509_certificate_nss.cc b/net/cert/x509_certificate_nss.cc
|
| index abb6f20462e3113a198298359a031ddeb2aeb5cd..d03277906e907d34e54d244e6f2f18b139ac2083 100644
|
| --- a/net/cert/x509_certificate_nss.cc
|
| +++ b/net/cert/x509_certificate_nss.cc
|
| @@ -263,6 +263,28 @@ void X509Certificate::GetPublicKeyInfo(OSCertHandle cert_handle,
|
| }
|
|
|
| // static
|
| +X509Certificate::SignatureHashAlgorithm
|
| +X509Certificate::GetSignatureHashAlgorithm(OSCertHandle cert_handle) {
|
| + SECAlgorithmID& signature = cert_handle->signature;
|
| + SECOidTag oid_tag = SECOID_FindOIDTag(&signature.algorithm);
|
| + switch (oid_tag) {
|
| + case SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION:
|
| + return kSignatureHashAlgorithmMd5;
|
| + case SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION:
|
| + return kSignatureHashAlgorithmMd2;
|
| + case SEC_OID_PKCS1_MD4_WITH_RSA_ENCRYPTION:
|
| + return kSignatureHashAlgorithmMd4;
|
| + case SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION:
|
| + case SEC_OID_ISO_SHA1_WITH_RSA_SIGNATURE:
|
| + case SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST:
|
| + case SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE:
|
| + return kSignatureHashAlgorithmSha1;
|
| + default:
|
| + return kSignatureHashAlgorithmOther;
|
| + }
|
| +}
|
| +
|
| +// static
|
| bool X509Certificate::IsSelfSigned(OSCertHandle cert_handle) {
|
| crypto::ScopedSECKEYPublicKey public_key(CERT_ExtractPublicKey(cert_handle));
|
| if (!public_key.get())
|
|
|