| Index: net/cert/x509_certificate_mac.cc
|
| diff --git a/net/cert/x509_certificate_mac.cc b/net/cert/x509_certificate_mac.cc
|
| index 3c3c8cfc94a56c4bd3b1eedab664f3ba7bb3603b..3a89f9150cface2bd2a072c66419565e3258f462 100644
|
| --- a/net/cert/x509_certificate_mac.cc
|
| +++ b/net/cert/x509_certificate_mac.cc
|
| @@ -113,20 +113,6 @@ std::string GetCertSerialNumber(
|
| serial_number.field()->Length);
|
| }
|
|
|
| -// Returns true if |purpose| is listed as allowed in |usage|. This
|
| -// function also considers the "Any" purpose. If the attribute is
|
| -// present and empty, we return false.
|
| -bool ExtendedKeyUsageAllows(const CE_ExtendedKeyUsage* usage,
|
| - const CSSM_OID* purpose) {
|
| - for (unsigned p = 0; p < usage->numPurposes; ++p) {
|
| - if (CSSMOIDEqual(&usage->purposes[p], purpose))
|
| - return true;
|
| - if (CSSMOIDEqual(&usage->purposes[p], &CSSMOID_ExtendedKeyUsageAny))
|
| - return true;
|
| - }
|
| - return false;
|
| -}
|
| -
|
| // Test that a given |cert_handle| is actually a valid X.509 certificate, and
|
| // return true if it is.
|
| //
|
| @@ -398,42 +384,6 @@ SHA256HashValue X509Certificate::CalculateCAFingerprint256(
|
| return sha256;
|
| }
|
|
|
| -bool X509Certificate::SupportsSSLClientAuth() const {
|
| - x509_util::CSSMCachedCertificate cached_cert;
|
| - OSStatus status = cached_cert.Init(cert_handle_);
|
| - if (status)
|
| - return false;
|
| -
|
| - // RFC5280 says to take the intersection of the two extensions.
|
| - //
|
| - // Our underlying crypto libraries don't expose
|
| - // ClientCertificateType, so for now we will not support fixed
|
| - // Diffie-Hellman mechanisms. For rsa_sign, we need the
|
| - // digitalSignature bit.
|
| - //
|
| - // In particular, if a key has the nonRepudiation bit and not the
|
| - // digitalSignature one, we will not offer it to the user.
|
| - x509_util::CSSMFieldValue key_usage;
|
| - status = cached_cert.GetField(&CSSMOID_KeyUsage, &key_usage);
|
| - if (status == CSSM_OK && key_usage.field()) {
|
| - const CSSM_X509_EXTENSION* ext = key_usage.GetAs<CSSM_X509_EXTENSION>();
|
| - const CE_KeyUsage* key_usage_value =
|
| - reinterpret_cast<const CE_KeyUsage*>(ext->value.parsedValue);
|
| - if (!((*key_usage_value) & CE_KU_DigitalSignature))
|
| - return false;
|
| - }
|
| -
|
| - status = cached_cert.GetField(&CSSMOID_ExtendedKeyUsage, &key_usage);
|
| - if (status == CSSM_OK && key_usage.field()) {
|
| - const CSSM_X509_EXTENSION* ext = key_usage.GetAs<CSSM_X509_EXTENSION>();
|
| - const CE_ExtendedKeyUsage* ext_key_usage =
|
| - reinterpret_cast<const CE_ExtendedKeyUsage*>(ext->value.parsedValue);
|
| - if (!ExtendedKeyUsageAllows(ext_key_usage, &CSSMOID_ClientAuth))
|
| - return false;
|
| - }
|
| - return true;
|
| -}
|
| -
|
| CFMutableArrayRef X509Certificate::CreateOSCertChainForCert() const {
|
| CFMutableArrayRef cert_list =
|
| CFArrayCreateMutable(kCFAllocatorDefault, 0,
|
|
|