1 // Copyright 2015 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 #include "chrome/browser/ui/android/certificate_viewer_android.h"
7 #include "base/android/jni_string.h"
8 #include "base/logging.h"
9 #include "chrome/grit/generated_resources.h"
10 #include "jni/CertificateViewer_jni.h"
11 #include "net/cert/x509_certificate.h"
12 #include "ui/base/l10n/l10n_util.h"
14 using base::android::ConvertUTF8ToJavaString
;
15 using base::android::ScopedJavaLocalRef
;
17 void ShowCertificateViewer(content::WebContents
* web_contents
,
18 gfx::NativeWindow parent
,
19 net::X509Certificate
* cert
) {
20 // For Android, showing the certificate is always handled in Java.
24 static ScopedJavaLocalRef
<jstring
> GetCertIssuedToText(JNIEnv
* env
, jclass
) {
25 return ConvertUTF8ToJavaString(
26 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_SUBJECT_GROUP
));
29 static ScopedJavaLocalRef
<jstring
> GetCertInfoCommonNameText(JNIEnv
* env
,
31 return ConvertUTF8ToJavaString(
32 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_COMMON_NAME_LABEL
));
35 static ScopedJavaLocalRef
<jstring
> GetCertInfoOrganizationText(JNIEnv
* env
,
37 return ConvertUTF8ToJavaString(
38 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_ORGANIZATION_LABEL
));
41 static ScopedJavaLocalRef
<jstring
> GetCertInfoSerialNumberText(JNIEnv
* env
,
43 return ConvertUTF8ToJavaString(
44 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_SERIAL_NUMBER_LABEL
));
47 static ScopedJavaLocalRef
<jstring
> GetCertInfoOrganizationUnitText(JNIEnv
* env
,
49 return ConvertUTF8ToJavaString(
50 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_ORGANIZATIONAL_UNIT_LABEL
));
53 static ScopedJavaLocalRef
<jstring
> GetCertIssuedByText(JNIEnv
* env
, jclass
) {
54 return ConvertUTF8ToJavaString(
55 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_ISSUER_GROUP
));
58 static ScopedJavaLocalRef
<jstring
> GetCertValidityText(JNIEnv
* env
, jclass
) {
59 return ConvertUTF8ToJavaString(
60 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_VALIDITY_GROUP
));
63 static ScopedJavaLocalRef
<jstring
> GetCertIssuedOnText(JNIEnv
* env
, jclass
) {
64 return ConvertUTF8ToJavaString(
65 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_ISSUED_ON_LABEL
));
68 static ScopedJavaLocalRef
<jstring
> GetCertExpiresOnText(JNIEnv
* env
, jclass
) {
69 return ConvertUTF8ToJavaString(
70 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_EXPIRES_ON_LABEL
));
73 static ScopedJavaLocalRef
<jstring
> GetCertFingerprintsText(JNIEnv
* env
,
75 return ConvertUTF8ToJavaString(
76 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_FINGERPRINTS_GROUP
));
79 static ScopedJavaLocalRef
<jstring
> GetCertSHA256FingerprintText(JNIEnv
* env
,
81 return ConvertUTF8ToJavaString(
82 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_SHA256_FINGERPRINT_LABEL
));
85 static ScopedJavaLocalRef
<jstring
> GetCertSHA1FingerprintText(JNIEnv
* env
,
87 return ConvertUTF8ToJavaString(
88 env
, l10n_util::GetStringUTF8(IDS_CERT_INFO_SHA1_FINGERPRINT_LABEL
));
91 bool RegisterCertificateViewer(JNIEnv
* env
) {
92 return RegisterNativesImpl(env
);