prune resources in MemoryCache
[chromium-blink-merge.git] / net / android / cert_verify_result_android.h
blobe1cd3ce659adab4c16e414df4b8a678a24a6c360
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
3 // found in the LICENSE file.
5 #ifndef NET_ANDROID_CERT_VERIFY_RESULT_ANDROID_H_
6 #define NET_ANDROID_CERT_VERIFY_RESULT_ANDROID_H_
8 #include <jni.h>
10 #include <string>
11 #include <vector>
13 #include "base/basictypes.h"
15 namespace net {
17 namespace android {
19 // The list of certificate verification results returned from Java side to the
20 // C++ side.
22 // A Java counterpart will be generated for this enum.
23 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.net
24 enum CertVerifyStatusAndroid {
25 // Certificate is trusted.
26 CERT_VERIFY_STATUS_ANDROID_OK = 0,
27 // Certificate verification could not be conducted.
28 CERT_VERIFY_STATUS_ANDROID_FAILED = -1,
29 // Certificate is not trusted due to non-trusted root of the certificate
30 // chain.
31 CERT_VERIFY_STATUS_ANDROID_NO_TRUSTED_ROOT = -2,
32 // Certificate is not trusted because it has expired.
33 CERT_VERIFY_STATUS_ANDROID_EXPIRED = -3,
34 // Certificate is not trusted because it is not valid yet.
35 CERT_VERIFY_STATUS_ANDROID_NOT_YET_VALID = -4,
36 // Certificate is not trusted because it could not be parsed.
37 CERT_VERIFY_STATUS_ANDROID_UNABLE_TO_PARSE = -5,
38 // Certificate is not trusted because it has an extendedKeyUsage field, but
39 // its value is not correct for a web server.
40 CERT_VERIFY_STATUS_ANDROID_INCORRECT_KEY_USAGE = -6,
43 // Extract parameters out of an AndroidCertVerifyResult object.
44 void ExtractCertVerifyResult(jobject result,
45 CertVerifyStatusAndroid* status,
46 bool* is_issued_by_known_root,
47 std::vector<std::string>* verified_chain);
49 // Register JNI methods.
50 bool RegisterCertVerifyResult(JNIEnv* env);
52 } // namespace android
54 } // namespace net
56 #endif // NET_ANDROID_CERT_VERIFY_RESULT_ANDROID_H_