| Index: net/cert/x509_certificate_ios.cc
|
| diff --git a/net/cert/x509_certificate_ios.cc b/net/cert/x509_certificate_ios.cc
|
| index b0908b77afae4b4397adbc8e4ca61f653e121406..bc76d08e566726e42ca858668b147f397f32bb31 100644
|
| --- a/net/cert/x509_certificate_ios.cc
|
| +++ b/net/cert/x509_certificate_ios.cc
|
| @@ -250,4 +250,15 @@ void X509Certificate::GetPublicKeyInfo(OSCertHandle cert_handle,
|
| x509_util::GetPublicKeyInfo(nss_cert.cert_handle(), size_bits, type);
|
| }
|
|
|
| +// static
|
| +bool X509Certificate::IsSelfSigned(OSCertHandle cert_handle) {
|
| + x509_util_ios::NSSCertificate nss_cert(cert_handle);
|
| + crypto::ScopedSECKEYPublicKey public_key(
|
| + CERT_ExtractPublicKey(nss_cert.cert_handle()));
|
| + if (!public_key.get())
|
| + return false;
|
| + return SECSuccess == CERT_VerifySignedDataWithPublicKey(
|
| + &nss_cert.cert_handle()->signatureWrap, public_key.get(), NULL);
|
| +}
|
| +
|
| } // namespace net
|
|
|