OLD | NEW |
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 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_array.h" | 8 #include "base/android/jni_array.h" |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/android/scoped_java_ref.h" | 10 #include "base/android/scoped_java_ref.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 DCHECK(!auth_string.is_null()); | 36 DCHECK(!auth_string.is_null()); |
37 | 37 |
38 jboolean trusted = Java_AndroidNetworkLibrary_verifyServerCertificates( | 38 jboolean trusted = Java_AndroidNetworkLibrary_verifyServerCertificates( |
39 env, chain_byte_array.obj(), auth_string.obj()); | 39 env, chain_byte_array.obj(), auth_string.obj()); |
40 if (ClearException(env)) | 40 if (ClearException(env)) |
41 return VERIFY_INVOCATION_ERROR; | 41 return VERIFY_INVOCATION_ERROR; |
42 | 42 |
43 return trusted ? VERIFY_OK : VERIFY_NO_TRUSTED_ROOT; | 43 return trusted ? VERIFY_OK : VERIFY_NO_TRUSTED_ROOT; |
44 } | 44 } |
45 | 45 |
| 46 void AddTestRootCertificate(const uint8* cert, size_t len) { |
| 47 JNIEnv* env = AttachCurrentThread(); |
| 48 ScopedJavaLocalRef<jbyteArray> cert_array = ToJavaByteArray(env, cert, len); |
| 49 DCHECK(!cert_array.is_null()); |
| 50 Java_AndroidNetworkLibrary_addTestRootCertificate(env, cert_array.obj()); |
| 51 } |
| 52 |
| 53 void ClearTestRootCertificates() { |
| 54 JNIEnv* env = AttachCurrentThread(); |
| 55 Java_AndroidNetworkLibrary_clearTestRootCertificates(env); |
| 56 } |
| 57 |
46 bool StoreKeyPair(const uint8* public_key, | 58 bool StoreKeyPair(const uint8* public_key, |
47 size_t public_len, | 59 size_t public_len, |
48 const uint8* private_key, | 60 const uint8* private_key, |
49 size_t private_len) { | 61 size_t private_len) { |
50 JNIEnv* env = AttachCurrentThread(); | 62 JNIEnv* env = AttachCurrentThread(); |
51 ScopedJavaLocalRef<jbyteArray> public_array = | 63 ScopedJavaLocalRef<jbyteArray> public_array = |
52 ToJavaByteArray(env, public_key, public_len); | 64 ToJavaByteArray(env, public_key, public_len); |
53 ScopedJavaLocalRef<jbyteArray> private_array = | 65 ScopedJavaLocalRef<jbyteArray> private_array = |
54 ToJavaByteArray(env, private_key, private_len); | 66 ToJavaByteArray(env, private_key, private_len); |
55 jboolean ret = Java_AndroidNetworkLibrary_storeKeyPair(env, | 67 jboolean ret = Java_AndroidNetworkLibrary_storeKeyPair(env, |
(...skipping 30 matching lines...) Expand all Loading... |
86 *result = ConvertJavaStringToUTF8(ret); | 98 *result = ConvertJavaStringToUTF8(ret); |
87 return true; | 99 return true; |
88 } | 100 } |
89 | 101 |
90 bool RegisterNetworkLibrary(JNIEnv* env) { | 102 bool RegisterNetworkLibrary(JNIEnv* env) { |
91 return RegisterNativesImpl(env); | 103 return RegisterNativesImpl(env); |
92 } | 104 } |
93 | 105 |
94 } // namespace android | 106 } // namespace android |
95 } // namespace net | 107 } // namespace net |
OLD | NEW |