diff --git a/core/java/android/net/http/SslCertificate.java b/core/java/android/net/http/SslCertificate.java
index 5079c23ceb640..f35002ad244cd 100644
--- a/core/java/android/net/http/SslCertificate.java
+++ b/core/java/android/net/http/SslCertificate.java
@@ -16,15 +16,19 @@
package android.net.http;
+import android.content.Context;
import android.os.Bundle;
+import android.text.format.DateFormat;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+import java.security.cert.X509Certificate;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
-import java.security.cert.X509Certificate;
-
import com.android.org.bouncycastle.asn1.DERObjectIdentifier;
import com.android.org.bouncycastle.asn1.x509.X509Name;
@@ -58,7 +62,7 @@ public class SslCertificate {
*/
private Date mValidNotAfter;
- /**
+ /**
* Bundle key names
*/
private static final String ISSUED_TO = "issued-to";
@@ -108,8 +112,10 @@ public class SslCertificate {
* Creates a new SSL certificate object
* @param issuedTo The entity this certificate is issued to
* @param issuedBy The entity that issued this certificate
- * @param validNotBefore The not-before date from the certificate validity period in ISO 8601 format
- * @param validNotAfter The not-after date from the certificate validity period in ISO 8601 format
+ * @param validNotBefore The not-before date from the certificate
+ * validity period in ISO 8601 format
+ * @param validNotAfter The not-after date from the certificate
+ * validity period in ISO 8601 format
* @deprecated Use {@link #SslCertificate(X509Certificate)}
*/
@Deprecated
@@ -202,9 +208,8 @@ public class SslCertificate {
* @return A string representation of this certificate for debugging
*/
public String toString() {
- return
- "Issued to: " + mIssuedTo.getDName() + ";\n" +
- "Issued by: " + mIssuedBy.getDName() + ";\n";
+ return ("Issued to: " + mIssuedTo.getDName() + ";\n"
+ + "Issued by: " + mIssuedBy.getDName() + ";\n");
}
/**
@@ -328,4 +333,65 @@ public class SslCertificate {
return mUName != null ? mUName : "";
}
}
+
+ /**
+ * Inflates the SSL certificate view (helper method).
+ * @return The resultant certificate view with issued-to, issued-by,
+ * issued-on, expires-on, and possibly other fields set.
+ * If the input certificate is null, returns null.
+ *
+ * @hide Used by Browser and Settings
+ */
+ public View inflateCertificateView(Context context) {
+ LayoutInflater factory = LayoutInflater.from(context);
+
+ View certificateView = factory.inflate(
+ com.android.internal.R.layout.ssl_certificate, null);
+
+ // issued to:
+ SslCertificate.DName issuedTo = getIssuedTo();
+ if (issuedTo != null) {
+ ((TextView) certificateView.findViewById(com.android.internal.R.id.to_common))
+ .setText(issuedTo.getCName());
+ ((TextView) certificateView.findViewById(com.android.internal.R.id.to_org))
+ .setText(issuedTo.getOName());
+ ((TextView) certificateView.findViewById(com.android.internal.R.id.to_org_unit))
+ .setText(issuedTo.getUName());
+ }
+
+ // issued by:
+ SslCertificate.DName issuedBy = getIssuedBy();
+ if (issuedBy != null) {
+ ((TextView) certificateView.findViewById(com.android.internal.R.id.by_common))
+ .setText(issuedBy.getCName());
+ ((TextView) certificateView.findViewById(com.android.internal.R.id.by_org))
+ .setText(issuedBy.getOName());
+ ((TextView) certificateView.findViewById(com.android.internal.R.id.by_org_unit))
+ .setText(issuedBy.getUName());
+ }
+
+ // issued on:
+ String issuedOn = formatCertificateDate(context, getValidNotBeforeDate());
+ ((TextView) certificateView.findViewById(com.android.internal.R.id.issued_on))
+ .setText(issuedOn);
+
+ // expires on:
+ String expiresOn = formatCertificateDate(context, getValidNotAfterDate());
+ ((TextView) certificateView.findViewById(com.android.internal.R.id.expires_on))
+ .setText(expiresOn);
+
+ return certificateView;
+ }
+
+ /**
+ * Formats the certificate date to a properly localized date string.
+ * @return Properly localized version of the certificate date string and
+ * the "" if it fails to localize.
+ */
+ private String formatCertificateDate(Context context, Date certificateDate) {
+ if (certificateDate == null) {
+ return "";
+ }
+ return DateFormat.getDateFormat(context).format(certificateDate);
+ }
}
diff --git a/core/res/res/layout-land/ssl_certificate.xml b/core/res/res/layout-land/ssl_certificate.xml
new file mode 100644
index 0000000000000..56e4e70ca0332
--- /dev/null
+++ b/core/res/res/layout-land/ssl_certificate.xml
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/core/res/res/layout/ssl_certificate.xml b/core/res/res/layout/ssl_certificate.xml
new file mode 100644
index 0000000000000..7206077ce6f55
--- /dev/null
+++ b/core/res/res/layout/ssl_certificate.xml
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index a3267125b84c2..648f6656c4c70 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -1106,4 +1106,14 @@
+ "شهادة الأمان"
+ "هذه الشهادة صالحة."
+ "تم الإصدار إلى:"
+ "الاسم الشائع:"
+ "المؤسسة:"
+ "وحدة تنظيمية:"
+ "تم الإصدار بواسطة:"
+ "الصلاحية:"
+ "تم الإصدار في:"
+ "تنتهي الصلاحية في:"
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 563380741219b..6401b1c79f668 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1106,4 +1106,14 @@
+ "Сертификат за сигурност"
+ "Сертификатът е валиден."
+ "Издаден на:"
+ "Общо име:"
+ "Организация:"
+ "Организационна единица:"
+ "Издаден от:"
+ "Валидност:"
+ "Издаден на:"
+ "Изтича на:"
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index e812217c37469..a2e75d3e476ee 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certificat de seguretat"
+ "Aquest certificat és vàlid."
+ "Emès per a:"
+ "Nom comú:"
+ "Organització:"
+ "Unitat organitzativa:"
+ "Publicat per:"
+ "Validesa:"
+ "Publicat el:"
+ "Caduca el:"
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index d10e1b4654e17..ca3035d1f320d 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certifikát zabezpečení"
+ "Tento certifikát je platný."
+ "Vydáno komu:"
+ "Běžný název:"
+ "Organizace:"
+ "Organizační jednotka:"
+ "Vydal:"
+ "Platnost:"
+ "Datum vydání:"
+ "Platnost vyprší:"
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index a7f62ecc9015c..715341615b581 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -1106,4 +1106,14 @@
+ "Sikkerhedscertifikat"
+ "Dette certifikat er gyldigt."
+ "Udstedt til:"
+ "Fællesnavn:"
+ "Organisation:"
+ "Organisatorisk enhed:"
+ "Udstedt af:"
+ "Gyldighed:"
+ "Udstedt den:"
+ "Udløber den:"
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index afa606f3c7ac2..975348250c6bb 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1106,4 +1106,14 @@
+ "Sicherheitszertifikat"
+ "Dies ist ein gültiges Zertifikat."
+ "Ausgegeben an:"
+ "Allgemeiner Name."
+ "Organisation:"
+ "Organisationseinheit:"
+ "Ausgegeben von:"
+ "Gültigkeit:"
+ "Ausgegeben am:"
+ "Läuft ab am:"
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 65d04b48278ef..81b9107ee5d0e 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -1106,4 +1106,14 @@
+ "Πιστοποιητικό ασφαλείας"
+ "Αυτό το πιστοποιητικό είναι έγκυρο."
+ "Εκδόθηκε στις:"
+ "Κοινό όνομα:"
+ "Οργανισμός:"
+ "Μονάδα οργάνωσης:"
+ "Εκδόθηκε:"
+ "Ισχύς:"
+ "Εκδόθηκε στις:"
+ "Λήγει:"
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index c048b99f7e1fc..7c2cc2f891689 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certificado de seguridad"
+ "Este certificado es válido."
+ "Emitido para:"
+ "Nombre común:"
+ "Organización:"
+ "Departamento:"
+ "Emitido por:"
+ "Validez:"
+ "Fecha de emisión:"
+ "Fecha de caducidad:"
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 4ea2aa7218a5a..48ad6f169484e 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -1106,4 +1106,14 @@
+ "گواهی امنیتی"
+ "این گواهی معتبر است."
+ "صدور برای:"
+ "نام عادی:"
+ "سازمان:"
+ "واحد سازمانی:"
+ "صدور توسط:"
+ "اعتبار:"
+ "صدور در:"
+ "تاریخ انقضا:"
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 50c02680c4459..5ddbb4554b82b 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -1106,4 +1106,14 @@
+ "Suojausvarmenne"
+ "Varmenne on voimassa."
+ "Varmenteen saaja:"
+ "Yleinen nimi:"
+ "Organisaatio:"
+ "Organisaatioyksikkö:"
+ "Myöntäjä:"
+ "Voimassa:"
+ "Myönnetty:"
+ "Vanhenee:"
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 8d9533820ea42..fe1dd13c5850d 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certificat de sécurité"
+ "Ce certificat est valide."
+ "Émis à :"
+ "Nom commun :"
+ "Organisation :"
+ "Unité d\'organisation :"
+ "Émis par :"
+ "Validité :"
+ "Émis le :"
+ "Expire le :"
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 71d49cc75c558..391fd08cc5bbd 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certifikat o sigurnosti"
+ "Ovaj je certifikat valjan."
+ "Izdano do:"
+ "Zajednički naziv:"
+ "Tvrtka ili ustanova:"
+ "Organizacijska jedinica:"
+ "Izdao:"
+ "Vrijedi do:"
+ "Izdano dana:"
+ "Ističe dana:"
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index bbe635f428696..c5e16cfa7dc20 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1106,4 +1106,14 @@
+ "Biztonsági tanúsítvány"
+ "A tanúsítvány érvényes."
+ "Kiállítva a következőnek:"
+ "Név:"
+ "Szervezet:"
+ "Szervezeti egység:"
+ "Kiállította:"
+ "Érvényesség:"
+ "Kiállítva:"
+ "Lejár:"
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 53d245a20216a..4e7504a610f18 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1106,4 +1106,14 @@
+ "Sertifikat keamanan"
+ "Sertifikat ini valid."
+ "Diterbitkan ke:"
+ "Nama umum:"
+ "Organisasi:"
+ "Unit organisasi:"
+ "Diterbitkan oleh:"
+ "Validitas:"
+ "Diterbitkan pada:"
+ "Kedaluwarsa pada:"
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 3c9d90901616a..10d1787fc62db 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certificato di protezione"
+ "Questo certificato è valido."
+ "Rilasciato a:"
+ "Nome comune:"
+ "Organizzazione:"
+ "Unità organizzativa:"
+ "Rilasciato da:"
+ "Validità:"
+ "Rilasciato il:"
+ "Scade il:"
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 71aa9f199193b..3fce696481f49 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -1106,4 +1106,14 @@
+ "אישור אבטחה"
+ "אישור זה תקף."
+ "הופק עבור:"
+ "שם משותף:"
+ "ארגון:"
+ "יחידה ארגונית:"
+ "הופק על ידי:"
+ "חוקיות:"
+ "הונפק בתאריך:"
+ "פג תוקף ב:"
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 388b47b23d1c6..9771a29459a3f 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1106,4 +1106,14 @@
+ "セキュリティ証明書"
+ "この証明書は有効です。"
+ "発行先:"
+ "共通名:"
+ "組織:"
+ "組織単位:"
+ "発行者:"
+ "有効期間:"
+ "発行:"
+ "有効期限:"
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index f7e1a757366be..a50f743df9f44 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -1106,4 +1106,14 @@
+ "보안 인증서"
+ "유효한 인증서입니다."
+ "발급 대상:"
+ "일반 이름:"
+ "조직:"
+ "조직 구성 단위:"
+ "발급 기관:"
+ "유효성:"
+ "발급 날짜:"
+ "만료 날짜:"
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 549641ff4cec5..d99d0ec92a7bd 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -1106,4 +1106,14 @@
+ "Saugos sertifikatas"
+ "Šis sertifikatas galioja."
+ "Išduota:"
+ "Bendras pavadinimas:"
+ "Organizacija:"
+ "Organizacinis vienetas:"
+ "Išdavė:"
+ "Galiojimas:"
+ "Išduota:"
+ "Galiojimas baigiasi:"
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index e32df3be9b7c3..553f3eed2f963 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -1106,4 +1106,14 @@
+ "Drošības sertifikāts"
+ "Sertifikāts ir derīgs."
+ "Izdots:"
+ "Kopējais nosaukums:"
+ "Organizācija:"
+ "Organizācijas vienība:"
+ "Izsniedzējs:"
+ "Derīgums:"
+ "Izsniegšanas datums:"
+ "Derīguma termiņš:"
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index 15896ae6e5e20..f432672985ff1 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -1127,4 +1127,14 @@
+ "Sijil keselamatan"
+ "Sijil ini sah."
+ "Dikeluarkan kepada:"
+ "Nama biasa:"
+ "Organisasi:"
+ "Unit Organisasi:"
+ "Dikeluarkan oleh:"
+ "Kesahan:"
+ "Dikeluarkan pada:"
+ "Tamat tempoh pada:"
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index ca6d608c96c8b..aca95fd5c229c 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -1106,4 +1106,14 @@
+ "Sikkerhetssertifikat"
+ "Sertifikatet er gyldig."
+ "Utstedt til:"
+ "Ordinært navn:"
+ "Organisasjon:"
+ "Organisasjonsenhet:"
+ "Utstedt av:"
+ "Gyldighet:"
+ "Utstedt:"
+ "Utløper den:"
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 8f543311167a4..5fe75fc77d0e9 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1106,4 +1106,14 @@
+ "Beveiligingscertificaat"
+ "Dit certificaat is geldig."
+ "Uitgegeven voor:"
+ "Algemene naam:"
+ "Organisatie:"
+ "Organisatie-eenheid:"
+ "Uitgegeven door:"
+ "Geldigheid:"
+ "Uitgegeven op:"
+ "Verloopt op:"
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 10bc6149e06cf..0221da7fefe22 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certyfikat zabezpieczeń"
+ "Ten certyfikat jest prawidłowy."
+ "Otrzymujący:"
+ "Nazwa pospolita:"
+ "Organizacja:"
+ "Jednostka organizacyjna:"
+ "Wystawca:"
+ "Poprawność:"
+ "Data wystawienia:"
+ "Wygasa:"
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index a17277e65a0aa..09f08766bdb31 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certificado de segurança"
+ "Este certificado é válido."
+ "Emitido para:"
+ "Nome comum:"
+ "Organização:"
+ "Unidade organizacional:"
+ "Emitido por:"
+ "Validade:"
+ "Emitido em:"
+ "Expira em:"
diff --git a/core/res/res/values-rm/strings.xml b/core/res/res/values-rm/strings.xml
index b1fa2179d2628..c6fea8eff1fae 100644
--- a/core/res/res/values-rm/strings.xml
+++ b/core/res/res/values-rm/strings.xml
@@ -1223,4 +1223,14 @@
+ "Certificat da segirezza"
+ "Quest certificat è valid."
+ "Emess a:"
+ "Num general:"
+ "Organisaziun:"
+ "Unitad d\'organisaziun:"
+ "Emess da:"
+ "Validitad:"
+ "Emess ils:"
+ "Scroda ils:"
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 404570a59147d..25fdb541284f4 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certificat de securitate"
+ "Certificatul este valid."
+ "Emis de:"
+ "Nume comun:"
+ "Organizaţie:"
+ "Organizaţie:"
+ "Emis de:"
+ "Validitate:"
+ "Emis pe:"
+ "Expiră pe:"
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 44cc9dfbcef77..170ee8548b2a0 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -1106,4 +1106,14 @@
+ "Сертификат безопасности"
+ "Этот сертификат действителен."
+ "Владелец сертификата:"
+ "Стандартное имя:"
+ "Организация:"
+ "Подразделение организации:"
+ "Выпущен:"
+ "Срок действия:"
+ "Дата издания:"
+ "Дата окончания действия:"
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index dc962b17dd230..4ef89b7dfbfd9 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certifikát zabezpečenia"
+ "Certifikát je platný."
+ "Vydané pre:"
+ "Bežný názov:"
+ "Organizácia:"
+ "Organizačná jednotka:"
+ "Vydal:"
+ "Platnosť:"
+ "Dátum vydania:"
+ "Platnosť vyprší:"
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index e613bf07a5d6f..86546e02a1b4a 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -1106,4 +1106,14 @@
+ "Varnostno potrdilo"
+ "Potrdilo je veljavno."
+ "Izdano za:"
+ "Pogosto ime:"
+ "Organizacija:"
+ "Organizacijska enota:"
+ "Izdal:"
+ "Veljavnost:"
+ "Izdano:"
+ "Velja do:"
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 455e1a9d48c67..2fd051c26d4fe 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1106,4 +1106,14 @@
+ "Безбедносни сертификат"
+ "Овај сертификат је важећи."
+ "Издато за:"
+ "Уобичајени назив:"
+ "Организација:"
+ "Организациона јединица:"
+ "Издавалац:"
+ "Ваљаност:"
+ "Издато дана:"
+ "Датум истека:"
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 22ca7e26cf2dd..a17dc8d8c3c40 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1106,4 +1106,14 @@
+ "Säkerhetscertifikat"
+ "Detta certifikat är giltigt."
+ "Utfärdat till:"
+ "Nätverksnamn:"
+ "Organisation:"
+ "Organisationsenhet:"
+ "Utfärdat av:"
+ "Giltighet:"
+ "Utfärdat den:"
+ "Upphör att gälla:"
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index b6de800c89a42..2eb1b79165f67 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -1106,4 +1106,14 @@
+ "ใบรับรองความปลอดภัย"
+ "ใบรับรองนี้ใช้งานได้"
+ "ออกให้แก่:"
+ "ชื่อทั่วไป:"
+ "องค์กร:"
+ "หน่วยองค์กร:"
+ "ออกโดย:"
+ "อายุการใช้งาน:"
+ "ออกเมื่อ:"
+ "หมดอายุวันที่:"
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index bba5e2f70d319..760724b8a9aa0 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1106,4 +1106,14 @@
+ "Certificate na pangseguridad"
+ "Wasto ang certificate na ito."
+ "Ibinigay kay:"
+ "Karaniwang pangalan:"
+ "Samahan:"
+ "Unit na pangsamahan:"
+ "Ibinigay ni:"
+ "Pagpapatunay:"
+ "Ibinigay noong:"
+ "Mag-e-expire sa:"
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 3bce91b76e78b..f9f2a1647726a 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1106,4 +1106,14 @@
+ "Güvenlik sertifikası"
+ "Bu sertifika geçerli."
+ "Alıcı:"
+ "Ortak ad:"
+ "Kuruluş:"
+ "Kuruluş birimi:"
+ "Yayınlayan:"
+ "Geçerlilik:"
+ "Yayınlanma tarihi:"
+ "Sona erme tarihi:"
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 3bb3788b67457..02636af03b6e0 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -1106,4 +1106,14 @@
+ "Сертифікат безпеки"
+ "Цей сертифікат є дійсним."
+ "Кому видано:"
+ "Загальне ім\'я:"
+ "Організація:"
+ "Організац. підрозділ:"
+ "Ким видано:"
+ "Чинність:"
+ "Дата видачі:"
+ "Діє до:"
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index db408d8e6ecd6..1b1c8ba2accb7 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -1106,4 +1106,14 @@
+ "Chứng chỉ bảo mật"
+ "Chứng chỉ này hợp lệ."
+ "Cấp cho:"
+ "Tên chung:"
+ "Tổ chức:"
+ "Đơn vị tổ chức:"
+ "Cấp bởi:"
+ "Tính hợp lệ:"
+ "Cấp vào:"
+ "Hết hạn vào:"
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index b5f408423adfd..cd52a5aea2190 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -2959,4 +2959,26 @@
tap to enable
+
+
+ Security certificate
+
+ This certificate is valid.
+
+ Issued to:
+
+ Common name:
+
+ Organization:
+
+ Organizational unit:
+
+ Issued by:
+
+ Validity:
+
+ Issued on:
+
+ Expires on:
+
diff --git a/keystore/java/android/security/IKeyChainService.aidl b/keystore/java/android/security/IKeyChainService.aidl
index 2763e46f3beff..23ffd59f2fa6e 100644
--- a/keystore/java/android/security/IKeyChainService.aidl
+++ b/keystore/java/android/security/IKeyChainService.aidl
@@ -30,5 +30,6 @@ interface IKeyChainService {
void installCaCertificate(in byte[] caCertificate);
// APIs used by Settings
+ boolean deleteCaCertificate(String alias);
boolean reset();
}