Index: net/android/network_library.h |
diff --git a/net/android/network_library.h b/net/android/network_library.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0694de60072baae6ac889b0aa2fb8b04520346cb |
--- /dev/null |
+++ b/net/android/network_library.h |
@@ -0,0 +1,58 @@ |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef NET_ANDROID_NETWORK_LIBRARY_H_ |
+#define NET_ANDROID_NETWORK_LIBRARY_H_ |
+#pragma once |
+ |
+#include <jni.h> |
+ |
+#include <string> |
+#include <vector> |
+ |
+#include "base/basictypes.h" |
+ |
+namespace net { |
+namespace android { |
+ |
+enum VerifyResult { |
+ // Certificate verification was successful. |
+ VERIFY_OK, |
+ // Certificate domain name doesn't match host name. |
+ VERIFY_BAD_HOSTNAME, |
+ // Certificate verification was failed. There is no detail error information |
+ // given by Android API. |
+ VERIFY_NO_TRUSTED_ROOT, |
+ // Error occurs when invoke JNI methods. |
+ VERIFY_INVOCATION_ERROR, |
+}; |
+ |
+// |cert_chain| is DER encoded chain of certificates, with the server's own |
+// certificate listed first. |
+// |hostname| is validated against the supplied cert. |auth_type| is as per |
+// the Java X509Certificate.checkServerTrusted method. |
+ |
+VerifyResult VerifyX509CertChain(const std::vector<std::string>& cert_chain, |
+ const std::string& hostname, |
+ const std::string& auth_type); |
+ |
+// Helper for the <keygen> handler. Passes the DER-encoded key pair via |
+// JNI to the Credentials store. |
+bool StoreKeyPair(const uint8* public_key, |
+ size_t public_len, |
+ const uint8* private_key, |
+ size_t private_len); |
+ |
+// Get the mime type (if any) that is associated with the file extension. |
+// Returns true if a corresponding mime type exists. |
+bool GetMimeTypeFromExtension(const std::string& extension, |
+ std::string* result); |
+ |
+// Register JNI methods |
+bool RegisterNetworkLibrary(JNIEnv* env); |
+ |
+} // namespace android |
+} // namespace net |
+ |
+#endif // NET_ANDROID_NETWORK_LIBRARY_H_ |