Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(435)

Side by Side Diff: chrome/browser/ui/android/ssl_client_certificate_request.cc

Issue 2391213002: Report curve types in ECDSA SSLPrivateKeys. (Closed)
Patch Set: rebase Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/android/ssl_client_certificate_request.h" 5 #include "chrome/browser/ui/android/ssl_client_certificate_request.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/android/jni_array.h" 10 #include "base/android/jni_array.h"
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 // Create the X509Certificate object from the encoded chain. 154 // Create the X509Certificate object from the encoded chain.
155 scoped_refptr<net::X509Certificate> client_cert( 155 scoped_refptr<net::X509Certificate> client_cert(
156 net::X509Certificate::CreateFromDERCertChain(encoded_chain)); 156 net::X509Certificate::CreateFromDERCertChain(encoded_chain));
157 if (!client_cert.get()) { 157 if (!client_cert.get()) {
158 LOG(ERROR) << "Could not decode client certificate chain"; 158 LOG(ERROR) << "Could not decode client certificate chain";
159 return; 159 return;
160 } 160 }
161 161
162 // Create an SSLPrivateKey wrapper for the private key JNI reference. 162 // Create an SSLPrivateKey wrapper for the private key JNI reference.
163 scoped_refptr<net::SSLPrivateKey> private_key = 163 scoped_refptr<net::SSLPrivateKey> private_key =
164 net::WrapJavaPrivateKey(private_key_ref); 164 net::WrapJavaPrivateKey(client_cert.get(), private_key_ref);
165 if (!private_key) { 165 if (!private_key) {
166 LOG(ERROR) << "Could not create OpenSSL wrapper for private key"; 166 LOG(ERROR) << "Could not create OpenSSL wrapper for private key";
167 return; 167 return;
168 } 168 }
169 169
170 // RecordClientCertificateKey() must be called on the I/O thread, 170 // RecordClientCertificateKey() must be called on the I/O thread,
171 // before the callback is called with the selected certificate on 171 // before the callback is called with the selected certificate on
172 // the UI thread. 172 // the UI thread.
173 content::BrowserThread::PostTaskAndReply( 173 content::BrowserThread::PostTaskAndReply(
174 content::BrowserThread::IO, FROM_HERE, 174 content::BrowserThread::IO, FROM_HERE,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 net::SSLCertRequestInfo* cert_request_info, 207 net::SSLCertRequestInfo* cert_request_info,
208 std::unique_ptr<content::ClientCertificateDelegate> delegate) { 208 std::unique_ptr<content::ClientCertificateDelegate> delegate) {
209 ui::WindowAndroid* window = ViewAndroidHelper::FromWebContents(contents) 209 ui::WindowAndroid* window = ViewAndroidHelper::FromWebContents(contents)
210 ->GetViewAndroid()->GetWindowAndroid(); 210 ->GetViewAndroid()->GetWindowAndroid();
211 DCHECK(window); 211 DCHECK(window);
212 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 212 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
213 StartClientCertificateRequest(cert_request_info, window, std::move(delegate)); 213 StartClientCertificateRequest(cert_request_info, window, std::move(delegate));
214 } 214 }
215 215
216 } // namespace chrome 216 } // namespace chrome
OLDNEW
« no previous file with comments | « android_webview/native/aw_contents_client_bridge.cc ('k') | net/android/java/src/org/chromium/net/AndroidKeyStore.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698