| Index: net/cert/x509_certificate_nss.cc
|
| diff --git a/net/cert/x509_certificate_nss.cc b/net/cert/x509_certificate_nss.cc
|
| index a57f9ce71f200914bb7a597be57ac70073d410c3..45dd0a2743bc21e5f522ceea17657553fe836920 100644
|
| --- a/net/cert/x509_certificate_nss.cc
|
| +++ b/net/cert/x509_certificate_nss.cc
|
| @@ -281,4 +281,13 @@ void X509Certificate::GetPublicKeyInfo(OSCertHandle cert_handle,
|
| x509_util::GetPublicKeyInfo(cert_handle, size_bits, type);
|
| }
|
|
|
| +// static
|
| +bool X509Certificate::IsSelfSigned(OSCertHandle cert_handle) {
|
| + crypto::ScopedSECKEYPublicKey public_key(CERT_ExtractPublicKey(cert_handle));
|
| + if (!public_key.get())
|
| + return false;
|
| + return SECSuccess == CERT_VerifySignedDataWithPublicKey(
|
| + &cert_handle->signatureWrap, public_key.get(), NULL);
|
| +}
|
| +
|
| } // namespace net
|
|
|