DescriptionRemove ENGINE indirection from Android SSLPrivateKey.
Instead, implement ThreadedSSLPrivateKey::Delegate directly using the
JNI functions. This removes all of Chromium's uses of RSA_METHOD and
ECDSA_METHOD.
Rather than a function from jobject to EVP_PKEY exposed by
keystore_openssl.h, have SSLPlatformKeyAndroid expose a function from
jobject to SSLPrivateKey. That then gets routed through whereever
the EVP_PKEY used to be routed. In particular, OpenSSLClientKeyStore
now acts on a scoped_refptr<SSLPrivateKey> rather than a
crypto::ScopedEVP_PKEY.
OpenSSLClientKeyStore is also rewritten to be much simpler, but all its
problems (like not being thread-safe) still remain. That will be resolved
by finishing the SSLPrivateKey refactor and routing it up through
//content so we can do away with the inherently global
FetchClientCertPrivateKey.
Port the old keystore_unittests.cc tests to test the new wrapper. Trim
it down a little so it tests just the wrapper object, but test all
hashes.
BUG=394131
Committed: https://crrev.com/1504dd71c6743e950147eca8f0ef06388d311073
Cr-Commit-Position: refs/heads/master@{#416258}
Patch Set 1 #Patch Set 2 : fixup #
Total comments: 1
Patch Set 3 : appease clang #Patch Set 4 : Fix WebView build #
Total comments: 6
Patch Set 5 : address comments and remove some unnecessary .get()s #
Total comments: 3
Patch Set 6 : rebase #Patch Set 7 : re-delete undeleted files #
Depends on Patchset: Messages
Total messages: 50 (36 generated)
|