Fix build against 10.10 SDK The SecKey part perhaps could be fixed by implementing a revert to https://chromium.googlesource.com/chromium/src.git/+/8418e098b9cbedf884878b61dcd3292c515845cf%5E%21/#F0 --- a/src/3rdparty/chromium/content/browser/renderer_host/input/web_input_event_builders_mac.mm +++ b/src/3rdparty/chromium/content/browser/renderer_host/input/web_input_event_builders_mac.mm @@ -1,3 +1,4 @@ +#define NSEventTypeScrollWheel 22 // Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. --- a/src/3rdparty/chromium/net/ssl/ssl_platform_key_mac.cc +++ b/src/3rdparty/chromium/net/ssl/ssl_platform_key_mac.cc @@ -48,21 +48,6 @@ namespace net { namespace { -// TODO(davidben): Remove this when we switch to building to the 10.13 -// SDK. https://crbug.com/780980 -#if !defined(MAC_OS_X_VERSION_10_13) || \ - MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_13 -API_AVAILABLE(macosx(10.13)) -const SecKeyAlgorithm kSecKeyAlgorithmRSASignatureDigestPSSSHA256 = - CFSTR("algid:sign:RSA:digest-PSS:SHA256:SHA256:32"); -API_AVAILABLE(macosx(10.13)) -const SecKeyAlgorithm kSecKeyAlgorithmRSASignatureDigestPSSSHA384 = - CFSTR("algid:sign:RSA:digest-PSS:SHA384:SHA384:48"); -API_AVAILABLE(macosx(10.13)) -const SecKeyAlgorithm kSecKeyAlgorithmRSASignatureDigestPSSSHA512 = - CFSTR("algid:sign:RSA:digest-PSS:SHA512:SHA512:64"); -#endif - class ScopedCSSM_CC_HANDLE { public: ScopedCSSM_CC_HANDLE() : handle_(0) {} @@ -187,109 +172,6 @@ class SSLPlatformKeyCSSM : public ThreadedSSLPrivateKey::Delegate { DISALLOW_COPY_AND_ASSIGN(SSLPlatformKeyCSSM); }; -// Returns the corresponding SecKeyAlgorithm or nullptr if unrecognized. -API_AVAILABLE(macosx(10.12)) -SecKeyAlgorithm GetSecKeyAlgorithm(uint16_t algorithm) { - switch (algorithm) { - case SSL_SIGN_RSA_PKCS1_SHA512: - return kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512; - case SSL_SIGN_RSA_PKCS1_SHA384: - return kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384; - case SSL_SIGN_RSA_PKCS1_SHA256: - return kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256; - case SSL_SIGN_RSA_PKCS1_SHA1: - return kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1; - case SSL_SIGN_RSA_PKCS1_MD5_SHA1: - return kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw; - case SSL_SIGN_ECDSA_SECP521R1_SHA512: - return kSecKeyAlgorithmECDSASignatureDigestX962SHA512; - case SSL_SIGN_ECDSA_SECP384R1_SHA384: - return kSecKeyAlgorithmECDSASignatureDigestX962SHA384; - case SSL_SIGN_ECDSA_SECP256R1_SHA256: - return kSecKeyAlgorithmECDSASignatureDigestX962SHA256; - case SSL_SIGN_ECDSA_SHA1: - return kSecKeyAlgorithmECDSASignatureDigestX962SHA1; - } - - if (base::mac::IsAtLeastOS10_13()) { - switch (algorithm) { - case SSL_SIGN_RSA_PSS_SHA512: - return kSecKeyAlgorithmRSASignatureDigestPSSSHA512; - case SSL_SIGN_RSA_PSS_SHA384: - return kSecKeyAlgorithmRSASignatureDigestPSSSHA384; - case SSL_SIGN_RSA_PSS_SHA256: - return kSecKeyAlgorithmRSASignatureDigestPSSSHA256; - } - } - - return nullptr; -} - -class API_AVAILABLE(macosx(10.12)) SSLPlatformKeySecKey - : public ThreadedSSLPrivateKey::Delegate { - public: - SSLPlatformKeySecKey(int type, size_t max_length, SecKeyRef key) - : key_(key, base::scoped_policy::RETAIN) { - // Determine the algorithms supported by the key. - for (uint16_t algorithm : SSLPrivateKey::DefaultAlgorithmPreferences( - type, true /* include PSS */)) { - SecKeyAlgorithm sec_algorithm = GetSecKeyAlgorithm(algorithm); - if (sec_algorithm && - SecKeyIsAlgorithmSupported(key_.get(), kSecKeyOperationTypeSign, - sec_algorithm)) { - preferences_.push_back(algorithm); - } - } - } - - ~SSLPlatformKeySecKey() override {} - - std::vector GetAlgorithmPreferences() override { - return preferences_; - } - - Error Sign(uint16_t algorithm, - base::span input, - std::vector* signature) override { - SecKeyAlgorithm sec_algorithm = GetSecKeyAlgorithm(algorithm); - if (!sec_algorithm) { - NOTREACHED(); - return ERR_FAILED; - } - - const EVP_MD* md = SSL_get_signature_algorithm_digest(algorithm); - uint8_t digest[EVP_MAX_MD_SIZE]; - unsigned digest_len; - if (!md || !EVP_Digest(input.data(), input.size(), digest, &digest_len, md, - nullptr)) { - return ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED; - } - - base::ScopedCFTypeRef digest_ref(CFDataCreateWithBytesNoCopy( - kCFAllocatorDefault, digest, base::checked_cast(digest_len), - kCFAllocatorNull)); - - base::ScopedCFTypeRef error; - base::ScopedCFTypeRef signature_ref(SecKeyCreateSignature( - key_, sec_algorithm, digest_ref, error.InitializeInto())); - if (!signature_ref) { - LOG(ERROR) << error; - return ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED; - } - - signature->assign( - CFDataGetBytePtr(signature_ref), - CFDataGetBytePtr(signature_ref) + CFDataGetLength(signature_ref)); - return OK; - } - - private: - std::vector preferences_; - base::ScopedCFTypeRef key_; - - DISALLOW_COPY_AND_ASSIGN(SSLPlatformKeySecKey); -}; - scoped_refptr CreateSSLPrivateKeyForSecKey( const X509Certificate* certificate, SecKeyRef private_key) { @@ -298,13 +180,6 @@ scoped_refptr CreateSSLPrivateKeyForSecKey( if (!GetClientCertInfo(certificate, &key_type, &max_length)) return nullptr; - if (base::mac::IsAtLeastOS10_12()) { - return base::MakeRefCounted( - std::make_unique(key_type, max_length, - private_key), - GetSSLPlatformKeyTaskRunner()); - } - const CSSM_KEY* cssm_key; OSStatus status = SecKeyGetCSSMKey(private_key, &cssm_key); if (status != noErr) {