| 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 | |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |