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

Side by Side Diff: net/android/network_library.cc

Issue 11316210: Implement TestRootCerts for Android (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "net/android/network_library.h" 5 #include "net/android/network_library.h"
6
7 #include "base/android/jni_android.h" 6 #include "base/android/jni_android.h"
8 #include "base/android/jni_array.h" 7 #include "base/android/jni_array.h"
9 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
10 #include "base/android/scoped_java_ref.h" 9 #include "base/android/scoped_java_ref.h"
11 #include "base/logging.h" 10 #include "base/logging.h"
12 #include "jni/AndroidNetworkLibrary_jni.h" 11 #include "jni/AndroidNetworkLibrary_jni.h"
13 12
14 using base::android::AttachCurrentThread; 13 using base::android::AttachCurrentThread;
15 using base::android::ClearException; 14 using base::android::ClearException;
16 using base::android::ConvertJavaStringToUTF8; 15 using base::android::ConvertJavaStringToUTF8;
(...skipping 19 matching lines...) Expand all
36 DCHECK(!auth_string.is_null()); 35 DCHECK(!auth_string.is_null());
37 36
38 jboolean trusted = Java_AndroidNetworkLibrary_verifyServerCertificates( 37 jboolean trusted = Java_AndroidNetworkLibrary_verifyServerCertificates(
39 env, chain_byte_array.obj(), auth_string.obj()); 38 env, chain_byte_array.obj(), auth_string.obj());
40 if (ClearException(env)) 39 if (ClearException(env))
41 return VERIFY_INVOCATION_ERROR; 40 return VERIFY_INVOCATION_ERROR;
42 41
43 return trusted ? VERIFY_OK : VERIFY_NO_TRUSTED_ROOT; 42 return trusted ? VERIFY_OK : VERIFY_NO_TRUSTED_ROOT;
44 } 43 }
45 44
45 void AddLocalRootCertificate(const uint8* cert, size_t len) {
46 JNIEnv* env = AttachCurrentThread();
47
48 ScopedJavaLocalRef<jbyteArray> cert_array = ToJavaByteArray(env, cert, len);
49 DCHECK(!cert_array.is_null());
50
51 Java_AndroidNetworkLibrary_addLocalRootCertificate(env, cert_array.obj());
52 }
53
54 void ClearLocalRootCertificates() {
55 JNIEnv* env = AttachCurrentThread();
56
57 Java_AndroidNetworkLibrary_clearLocalRootCertificates(env);
58 }
59
46 bool StoreKeyPair(const uint8* public_key, 60 bool StoreKeyPair(const uint8* public_key,
47 size_t public_len, 61 size_t public_len,
48 const uint8* private_key, 62 const uint8* private_key,
49 size_t private_len) { 63 size_t private_len) {
50 JNIEnv* env = AttachCurrentThread(); 64 JNIEnv* env = AttachCurrentThread();
51 ScopedJavaLocalRef<jbyteArray> public_array = 65 ScopedJavaLocalRef<jbyteArray> public_array =
52 ToJavaByteArray(env, public_key, public_len); 66 ToJavaByteArray(env, public_key, public_len);
53 ScopedJavaLocalRef<jbyteArray> private_array = 67 ScopedJavaLocalRef<jbyteArray> private_array =
54 ToJavaByteArray(env, private_key, private_len); 68 ToJavaByteArray(env, private_key, private_len);
55 jboolean ret = Java_AndroidNetworkLibrary_storeKeyPair(env, 69 jboolean ret = Java_AndroidNetworkLibrary_storeKeyPair(env,
(...skipping 30 matching lines...) Expand all
86 *result = ConvertJavaStringToUTF8(ret); 100 *result = ConvertJavaStringToUTF8(ret);
87 return true; 101 return true;
88 } 102 }
89 103
90 bool RegisterNetworkLibrary(JNIEnv* env) { 104 bool RegisterNetworkLibrary(JNIEnv* env) {
91 return RegisterNativesImpl(env); 105 return RegisterNativesImpl(env);
92 } 106 }
93 107
94 } // namespace android 108 } // namespace android
95 } // namespace net 109 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698