| Index: net/base/x509_certificate_ios.cc
|
| diff --git a/net/base/x509_certificate_ios.cc b/net/base/x509_certificate_ios.cc
|
| index 0286203ebb41aa255278c2ca85e87e8c38325707..91ae799ddc74c02ff704400dc6aadb7ff054bc30 100644
|
| --- a/net/base/x509_certificate_ios.cc
|
| +++ b/net/base/x509_certificate_ios.cc
|
| @@ -69,6 +69,21 @@ void X509Certificate::Initialize() {
|
| ca_fingerprint_ = CalculateCAFingerprint(intermediate_ca_certs_);
|
| }
|
|
|
| +bool X509Certificate::IsIssuedByEncoded(
|
| + const std::vector<std::string>& valid_issuers) {
|
| + x509_util_ios::NSSCertChain nss_chain(this);
|
| + // Convert to scoped CERTName* list.
|
| + std::vector<CERTName*> issuers;
|
| + crypto::ScopedPLArenaPool arena(PORT_NewArena(DER_DEFAULT_CHUNKSIZE));
|
| + if (!x509_util::GetIssuersFromEncodedList(valid_issuers,
|
| + arena.get(),
|
| + &issuers)) {
|
| + return false;
|
| + }
|
| + return x509_util::IsCertificateIssuedBy(
|
| + nss_chain.cert_chain(), issuers);
|
| +}
|
| +
|
| // static
|
| X509Certificate* X509Certificate::CreateSelfSigned(
|
| crypto::RSAPrivateKey* key,
|
|
|