diff options
author | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2013-07-25 00:00:01 +0100 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2013-07-25 00:00:01 +0100 |
commit | 3ec8fd3289b85f77e8b1ed03e0b81f8f0a50870a (patch) | |
tree | ad94ff4477367d58168ac7f36eb6cb9c0415226d | |
parent | 2e1fae116335f8aa258f7e10eadfdcb81e2f3735 (diff) | |
parent | b256d69334d9141aefb3473d0839c31c9f396741 (diff) | |
download | android_packages_apps_CertInstaller-3ec8fd3289b85f77e8b1ed03e0b81f8f0a50870a.tar.gz android_packages_apps_CertInstaller-3ec8fd3289b85f77e8b1ed03e0b81f8f0a50870a.tar.bz2 android_packages_apps_CertInstaller-3ec8fd3289b85f77e8b1ed03e0b81f8f0a50870a.zip |
Merge tag 'android-4.3_r2.1' into cm-10.2
Android 4.3 release 2.1
57 files changed, 389 insertions, 38 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 2791a41..b2880d6 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -5,6 +5,9 @@ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> + <permission android:name="com.android.certinstaller.INSTALL_AS_USER" + android:protectionLevel="signature" /> + <application android:label="@string/app_name" android:allowBackup="false"> <activity android:name=".CertInstallerMain" @@ -23,21 +26,24 @@ </intent-filter> </activity> - <activity android:name=".CertInstaller" - android:theme="@style/Transparent" - android:configChanges="orientation|keyboardHidden"> + <activity-alias android:name=".InstallCertAsUser" + android:targetActivity=".CertInstallerMain" + android:permission="com.android.certinstaller.INSTALL_AS_USER"> <intent-filter> - <action android:name="android.intent.action.MAIN" /> + <action android:name="android.credentials.INSTALL_AS_USER" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> + </activity-alias> + + <activity android:name=".CertInstaller" + android:theme="@style/Transparent" + android:configChanges="orientation|keyboardHidden" + android:exported="false"> </activity> <activity android:name=".CertFileList" - android:configChanges="orientation|keyboardHidden"> - <intent-filter> - <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.DEFAULT" /> - </intent-filter> + android:configChanges="orientation|keyboardHidden" + android:exported="false"> </activity> </application> </manifest> diff --git a/res/layout/name_credential_dialog.xml b/res/layout/name_credential_dialog.xml index 21588ff..f68c8f7 100644 --- a/res/layout/name_credential_dialog.xml +++ b/res/layout/name_credential_dialog.xml @@ -18,10 +18,10 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + <LinearLayout android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:padding="15dip"> <TextView android:id="@+id/error" @@ -31,17 +31,44 @@ android:textStyle="bold" android:visibility="gone" /> - <TextView android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="@string/credential_name" /> + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/credential_name" + android:textAppearance="?android:attr/textAppearanceMedium" /> + <EditText android:id="@+id/credential_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="True"/> - <TextView android:layout_width="match_parent" + <LinearLayout + android:id="@+id/credential_usage_group" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="vertical" > + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingTop="12dp" + android:text="@string/credential_usage_label" + android:textAppearance="?android:attr/textAppearanceMedium" /> + + <Spinner + android:id="@+id/credential_usage" + android:layout_width="fill_parent" android:layout_height="wrap_content" - android:text="@string/credential_info" /> + android:entries="@array/credential_usage" /> + + </LinearLayout> + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingTop="12dp" + android:text="@string/credential_info" /> + <TextView android:id="@+id/credential_info" android:layout_width="match_parent" android:layout_height="wrap_content" /> diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index 9a08616..ba6cc94 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-berging nie beskikbaar nie."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD-kaart is nie daar nie."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Slegs die eienaar van hierdie toestel kan sertifikate installeer."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Eiebewysgebruik:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN en programme"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 82cd9cc..4b2d487 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB ማከማቻ የለም።"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD ካርድ የለም።"</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"የዚህ መሣሪያ ብቻ ነው የዕውቅና ማረጋገጫዎችን ሊጭን የሚችለው።"</string> + <string name="credential_usage_label" msgid="1513892208033156805">"የምስክርነት አጠቃቀም፦"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"ቪ ፒ ኤን እና መተግበሪያዎች"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 6d3d7cf..0fb4074 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"وحدة تخزين USB غير متاحة."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"بطاقة SD غير موجودة."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"يُسمح لمالك هذا الجهاز فقط تثبيت الشهادات."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"استخدام بيانات الاعتماد:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"الشبكة الظاهرية الخاصة والتطبيقات"</item> + <item msgid="692322974985472861">"لاسلكي"</item> + </string-array> </resources> diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index f8a3596..13285fd 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-назапашвальнiк адсутнічае."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD-карта не знойдзена."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Сертыфiкаты можа ўсталёўваць толькi ўладальнiк гэтай прылады."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Выкарыстанне ўліковых дадзеных:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN і прыкладанні"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index a81f964..60fd54a 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB хранилището не е налице."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD картата липсва."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Само собственикът на това устройство може да инсталира сертификати."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Използв. на идент. данни"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"Виртуални частни мрежи (VPN) и прилож."</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index 20d45a7..6aa0867 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -21,7 +21,7 @@ <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extreu el certificat"</string> <string name="extracting_pkcs12" msgid="1881267738821799771">"S\'està extraient..."</string> <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extracció de %s"</string> - <string name="name_credential_dialog_title" msgid="277729846491554437">"Assignació d\'un nom al certificat"</string> + <string name="name_credential_dialog_title" msgid="277729846491554437">"Nom del certificat"</string> <string name="credential_name" msgid="1974979771369744378">"Nom del certificat:"</string> <string name="credential_password" msgid="3520176519550993326">"Introdueix la contrasenya per extreure els certificats."</string> <string name="credential_info" msgid="2436768402308470397">"El paquet conté:"</string> @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Emmagatzematge USB no disponible."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"No hi ha cap targeta SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Només el propietari d\'aquest dispositiu pot instal·lar certificats."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Ús de les credencials:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN i aplicacions"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index bea2926..3e1001e 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Úložiště USB není připojeno."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Karta SD není k dispozici."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Certifikáty může instalovat pouze majitel tohoto zařízení."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Použití pověření:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN a aplikace"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 7411c68..3d2d710 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-lager ikke tilgængeligt."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD-kort er ikke til stede."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Kun ejeren af denne enhed kan installere certifikater."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Brug af loginoplysninger:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN og apps"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index fd933fb..895a587 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -40,12 +40,17 @@ <string name="no_cert_to_saved" msgid="5708884372817309068">"Kein zu installierendes Zertifikat"</string> <string name="invalid_cert" msgid="7704228670980743590">"Das Zertifikat ist ungültig."</string> <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> ist installiert."</string> - <string name="cert_too_large_error" msgid="8715414972725646285">"Installation nicht möglich, da das Zertifikat zu groß ist"</string> - <string name="cert_missing_error" msgid="7040527352278728220">"Installation nicht möglich, da die Zertifikatdatei nicht gefunden wurde"</string> - <string name="cert_read_error" msgid="7353463360652419796">"Installation nicht möglich, da die Zertifikatdatei nicht gelesen werden konnte"</string> + <string name="cert_too_large_error" msgid="8715414972725646285">"Installation nicht möglich, weil das Zertifikat zu groß ist"</string> + <string name="cert_missing_error" msgid="7040527352278728220">"Installation nicht möglich, weil die Zertifikatdatei nicht gefunden wurde"</string> + <string name="cert_read_error" msgid="7353463360652419796">"Installation nicht möglich, weil die Zertifikatdatei nicht gelesen werden konnte"</string> <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Keine Zertifikatdatei auf USB-Speicher gefunden."</string> <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Auf der SD-Karte wurde keine Zertifikats-Datei gefunden."</string> <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Kein USB-Speicher verfügbar"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD-Karte ist nicht vorhanden."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Nur der Eigentümer dieses Geräts kann Zertifikate installieren."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Verwendung der Anmeldedaten:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN und Apps"</item> + <item msgid="692322974985472861">"WLAN"</item> + </string-array> </resources> diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 8bddde1..a478d07 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Μη διαθέσιμος χώρος αποθ. USB."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Δεν υπάρχει κάρτα SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Μόνο ο κάτοχος αυτής της συσκευής μπορεί να εγκαταστήσει πιστοποιητικά."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Χρήση διαπιστευτηρίων:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN και εφαρμογές"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index e1c51fd..f918442 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB storage not available."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD card isn\'t present."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Only the owner of this device may install certificates."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Credential use:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN and apps"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 6ccaf6b..e70759e 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Alm. USB no disponible"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"No se insertó la tarjeta SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Solo el propietario de este dispositivo puede instalar certificados."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Uso de credencial:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN y aplicaciones"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 116c61d..349f1ca 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB no disponible"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"La tarjeta SD no está presente."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Solo el propietario de este dispositivo puede instalar certificados."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Uso de credenciales:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN y aplicaciones"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index 3981ce5..7506035 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-mäluseade pole saadaval"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD-kaarti pole."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Ainult seadme omanik võib installida sertifikaate."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Mandaadi kasutus:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN ja rakendused"</item> + <item msgid="692322974985472861">"WiFi"</item> + </string-array> </resources> diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 4414e14..e7cf998 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"حافظهٔ USB موجود نیست."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"کارت SD موجود نیست."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"فقط مالک این دستگاه میتواند گواهیها را نصب نماید."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"استفاده از اطلاعات کاربری:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN و برنامهها"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index a386b4d..8b1ed4b 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-tila ei ole käytettävissä."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Ei SD-korttia."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Vain tämän laitteen omistaja voi asentaa varmenteita."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Käyttöoikeustietojen käyttö:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN ja sovellukset"</item> + <item msgid="692322974985472861">"Wifi"</item> + </string-array> </resources> diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index f5344a7..af49790 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Mémoire USB indisponible"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Carte SD manquante."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Seul le propriétaire de cet appareil peut installer des certificats."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Utilisation du certificat :"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN et applications"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 1564fa9..cf17a43 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB संग्रहण उपलब्ध नहीं है."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD कार्ड मौजूद नहीं है."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"केवल इस उपकरण का स्वामी ही प्रमाणपत्रों को इंस्टॉल कर सकता है."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"क्रेडेंशियल उपयोग:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN और एप्लिकेशन"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 85f5e38..e79cfc6 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Memorija USB nije dostupna."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD kartica nije priključena."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Samo vlasnik ovog uređaja može instalirati certifikate."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Upotreba vjerodajnice:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN i aplikacije"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 7aa1b1c..6eb2b59 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Az USB-tár nem érhető el."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Az SD-kártya hiányzik."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Csak az eszköz tulajdonosa telepíthet tanúsítványokat."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Hitelesítési adatok használata:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN és alkalmazások"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index d7f5c7d..2730dd2 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Penyimpanan USB tidak tersedia."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Kartu SD tidak ada."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Hanya pemilik perangkat ini yang dapat memasang sertifikat."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Penggunaan kredensial:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN dan aplikasi"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index de18d82..50de0aa 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Archivio USB non disponibile."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Scheda SD non presente."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Solo il proprietario di questo dispositivo può installare certificati."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Utilizzo della credenziale:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN e app"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index dcb80f3..8f81d6e 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"אחסון USB לא זמין."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"אין כרטיס SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"רק הבעלים של מכשיר זה יכול להתקין אישורים."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"השימוש בפרטי הכניסה:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN ויישומים"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 000eab7..759eae6 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USBストレージがありません。"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SDカードが挿入されていません。"</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"証明書をインストールできるのはこの端末の所有者だけです。"</string> + <string name="credential_usage_label" msgid="1513892208033156805">"認証情報の使用:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPNとアプリ"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 15e8726..bff4006 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB 저장소를 사용할 수 없습니다."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD 카드가 없습니다."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"이 기기의 소유자만 인증서를 설치할 수 있습니다."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"자격증명 사용:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN 및 앱"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 7cb90c2..ec75a9e 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB atmintinė nepasiekiama."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Nėra SD kortelės."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Tik įrenginio savininkas gali įdiegti sertifikatus."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Kredencialų naudojimas:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN ir programos"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 1863286..facfd9f 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -21,7 +21,7 @@ <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Sertifikāta izgūšana"</string> <string name="extracting_pkcs12" msgid="1881267738821799771">"Notiek izvilkšana..."</string> <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Izvilkšana no: %s"</string> - <string name="name_credential_dialog_title" msgid="277729846491554437">"Nosaukuma piešķiršana sertifikātam"</string> + <string name="name_credential_dialog_title" msgid="277729846491554437">"Sertifikāta nosaukšana"</string> <string name="credential_name" msgid="1974979771369744378">"Sertifikāta nosaukums:"</string> <string name="credential_password" msgid="3520176519550993326">"Ierakstiet paroli, lai izvilktu sertifikātus."</string> <string name="credential_info" msgid="2436768402308470397">"Pakotnē ir ietverts:"</string> @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB krātuve nav pieejama."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD karte nav ievietota."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Tikai šīs ierīces īpašnieks var instalēt sertifikātus."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Akredit. datu lietojums:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN un lietotnes"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index 8a80113..63607b0 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Storan USB tidak tersedia."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Tiada kad SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Hanya pemilik peranti ini boleh memasang sijil."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Penggunaan bukti kelayakan:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN dan apl"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 634c2e4..168dd62 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-lagring ikke tilgjengelig."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Finner ikke SD-kort."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Bare eieren av denne enheten kan installere sertifikater."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Bruk av legitimasjon:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN og apper"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 55f1ba9..365c5f5 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-opslag niet beschikbaar."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Er is geen SD-kaart geplaatst."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Alleen de eigenaar van dit apparaat kan certificaten installeren."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Gebruik van referentiegegevens:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN en apps"</item> + <item msgid="692322974985472861">"Wifi"</item> + </string-array> </resources> diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 0c6b9b6..03c1c7a 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Nośnik USB jest niedostępny."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Brak karty SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Certyfikaty może instalować tylko właściciel tego urządzenia."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Przeznaczenie tych danych logowania:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN i aplikacje"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index d9363b2..9c87336 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Armaz. USB não disponível."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"O cartão SD não está presente."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Apenas o proprietário deste dispositivo pode instalar certificados."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Utilização de credenciais:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN e aplicações"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index bcad7b0..222aeff 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Armazenam. USB não disponível."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"O cartão SD não está presente."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Somente o dono do dispositivo pode instalar certificados."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Uso da credencial:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN e aplicativos"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml index 12ec903..8b2f91c 100644 --- a/res/values-rm/strings.xml +++ b/res/values-rm/strings.xml @@ -65,4 +65,8 @@ <skip /> <!-- no translation found for only_primary_user_allowed (4005084935023047716) --> <skip /> + <!-- no translation found for credential_usage_label (1513892208033156805) --> + <skip /> + <!-- no translation found for credential_usage:0 (375085478373011304) --> + <!-- no translation found for credential_usage:1 (692322974985472861) --> </resources> diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 1799afd..aa9f86a 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Stocarea USB nedisponibilă."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Nu există card SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Numai proprietarul acestui dispozitiv poate instala certificate."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Utilizarea datelor de conectare:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN și aplicații"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index b6ce20b..db24a9e 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-накопитель недоступен."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD-карта отсутствует."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Сертификаты может устанавливать только владелец устройства."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Использовать аккаунт:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN и приложения"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index c5f4684..2dc679b 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Ukl. priestor USB je nedostup."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Karta SD nie je k dispozícii."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Certifikáty môže inštalovať iba vlastník tohto zariadenia."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Použitie poverení:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN a aplikácie"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index cb56264..4f25e25 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -26,7 +26,7 @@ <string name="credential_password" msgid="3520176519550993326">"Za ekstrahiranje potrdil vnesite geslo."</string> <string name="credential_info" msgid="2436768402308470397">"V tem paketu je:"</string> <string name="p12_description" msgid="4128352087331630024">"Potrdila v shrambi ključev PKCS12"</string> - <string name="one_userkey" msgid="3500697912370644881">"ključ enega uporabnika"</string> + <string name="one_userkey" msgid="3500697912370644881">"en uporabniški ključ"</string> <string name="one_usercrt" msgid="7690798336332403106">"potrdilo enega uporabnika"</string> <string name="one_cacrt" msgid="2667950425420663146">"eno overjeno potrdilo"</string> <string name="n_cacrts" msgid="2141498640685639208">"%d overjenih potrdil"</string> @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Pomnilnik USB ni na voljo."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Ni kartice SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Samo lastnik sme namestiti potrdila."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Uporaba poverilnice:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"Navidezno zasebno omrežje in aplikacije"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index a17163d..697a4cc 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB меморија није доступна."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD картица није уметнута."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Само власник овог уређаја може да инсталира сертификате."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Коришћење акредитива:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN и апликације"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index e57ce52..602772b 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-enheten är ej tillgänglig."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Det finns inget SD-kort."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Endast ägaren av den här enheten kan installera certifikat."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Användning av användaruppgifter:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN och appar"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index 004acc1..f94cbb7 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Hifadhi ya USB haipatikani."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Kadi ya SD haipo."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Mmiliki wa kifaa hiki tu ndiye awezaye kusakinisha vyeti."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Matumizi ya kitambulisho:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN na programu"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index 133ab85..6a9626c 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"ที่เก็บข้อมูล USB ใช้งานไม่ได้"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"ไม่พบการ์ด SD"</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"เฉพาะเจ้าของอุปกรณ์นี้ที่สามารถติดตั้งใบรับรอง"</string> + <string name="credential_usage_label" msgid="1513892208033156805">"การใช้ข้อมูลรับรอง:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN และแอป"</item> + <item msgid="692322974985472861">"WiFi"</item> + </string-array> </resources> diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index 9cbfbbd..f75117d 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Hindi available imbakan na USB"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Wala ang SD card."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Ang may-ari lang ng device na ito ang maaaring mag-install ng mga certificate."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Paggamit ng kredensyal:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN at apps"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 4922b8c..cd20e31 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB bellek kullanılamıyor."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD kart yok."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Sadece bu cihazın sahibi sertifikaları yükleyebilir."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Kimlik bilgisinin kullanımı:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN ve uygulamalar"</item> + <item msgid="692322974985472861">"Kablosuz"</item> + </string-array> </resources> diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index d62c230..5188e08 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Носій USB недоступний."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Відсутня карта SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Лише власник цього пристрою може встановлювати сертифікати."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Використання облікових даних:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"Мережа VPN і програми"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 3f61fdf..04588c9 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Bộ nhớ USB không khả dụng."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Hiện không có thẻ SD."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Chỉ chủ sở hữu thiết bị này mới có thể cài đặt các chứng chỉ."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Sử dụng bản xác thực:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN và các ứng dụng"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 51afe6e..c05ab6d 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"不存在 USB 存储设备。"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD 卡不存在。"</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"只有此设备的拥有者才能安装证书。"</string> + <string name="credential_usage_label" msgid="1513892208033156805">"凭据用途:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN 和应用"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 3eb86fa..c23d8e1 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"沒有可用的 USB 儲存裝置。"</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"找不到 SD 卡。"</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"只有這個裝置的擁有者可以安裝憑證。"</string> + <string name="credential_usage_label" msgid="1513892208033156805">"憑證用途:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"VPN 和應用程式"</item> + <item msgid="692322974985472861">"Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index 42ef1ca..a3d6a39 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -48,4 +48,9 @@ <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Isitoreji se-USB asitholakali."</string> <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Ikhadi le-SD alikho."</string> <string name="only_primary_user_allowed" msgid="4005084935023047716">"Umnikazi kuphela wale divayisi ongafaka izitifiketi."</string> + <string name="credential_usage_label" msgid="1513892208033156805">"Ukusetshenziswa kokuqinisekisa:"</string> + <string-array name="credential_usage"> + <item msgid="375085478373011304">"I-VPN nezinhlelo zokusebenza"</item> + <item msgid="692322974985472861">"I-Wi-Fi"</item> + </string-array> </resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index 34d70b0..e0bd560 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -74,4 +74,15 @@ <!-- Message displayed when a user other than the owner on a multi-user system tries to install a certificate into the certificate store. [CHAR LIMIT=NONE] --> <string name="only_primary_user_allowed">Only the owner of this device may install certificates.</string> + + <!-- Label for spinner that shows the possible usage for a credential. Shown when user is + installing a credential [CHAR LIMIT=40] --> + <string name="credential_usage_label">Credential use:</string> + + <!-- Usage type for a credential that the user is installing. The label will restrict the + type of use for that credential. [CHAR LIMIT=40] --> + <string-array name="credential_usage"> + <item>VPN and apps</item> + <item>Wi-Fi</item> + </string-array> </resources> diff --git a/src/com/android/certinstaller/CertFile.java b/src/com/android/certinstaller/CertFile.java index 401c1a3..5b4bfbf 100644 --- a/src/com/android/certinstaller/CertFile.java +++ b/src/com/android/certinstaller/CertFile.java @@ -131,9 +131,17 @@ public class CertFile extends PreferenceActivity implements FileFilter { String fileName = file.getName(); Bundle bundle = getIntent().getExtras(); - String name = ((bundle == null) - ? fileName - : bundle.getString(KeyChain.EXTRA_NAME, fileName)); + + final String name; + final int installAsUid; + if (bundle == null) { + name = fileName; + installAsUid = -1; + } else { + name = bundle.getString(KeyChain.EXTRA_NAME, fileName); + installAsUid = bundle.getInt(Credentials.EXTRA_INSTALL_AS_UID, -1); + } + if (file.exists()) { if (file.length() < MAX_FILE_SIZE) { byte[] data = Util.readFile(file); @@ -143,7 +151,7 @@ public class CertFile extends PreferenceActivity implements FileFilter { return; } mCertFile = file; - install(fileName, name, data); + install(fileName, name, installAsUid, data); } else { Log.w(TAG, "cert file is too large: " + file.length()); toastError(CERT_TOO_LARGE_ERROR); @@ -176,9 +184,10 @@ public class CertFile extends PreferenceActivity implements FileFilter { Environment.MEDIA_MOUNTED); } - private void install(String fileName, String name, byte[] value) { + private void install(String fileName, String name, int uid, byte[] value) { Intent intent = new Intent(this, CertInstaller.class); intent.putExtra(KeyChain.EXTRA_NAME, name); + intent.putExtra(Credentials.EXTRA_INSTALL_AS_UID, uid); if (fileName.endsWith(Credentials.EXTENSION_PFX) || fileName.endsWith(Credentials.EXTENSION_P12)) { intent.putExtra(KeyChain.EXTRA_PKCS12, value); diff --git a/src/com/android/certinstaller/CertFileList.java b/src/com/android/certinstaller/CertFileList.java index 5e2b681..1d32c26 100644 --- a/src/com/android/certinstaller/CertFileList.java +++ b/src/com/android/certinstaller/CertFileList.java @@ -21,6 +21,7 @@ import android.os.Environment; import android.os.FileObserver; import android.preference.Preference; import android.preference.PreferenceScreen; +import android.security.Credentials; import android.util.Log; import android.widget.Toast; diff --git a/src/com/android/certinstaller/CertInstaller.java b/src/com/android/certinstaller/CertInstaller.java index c953416..907646e 100644 --- a/src/com/android/certinstaller/CertInstaller.java +++ b/src/com/android/certinstaller/CertInstaller.java @@ -25,7 +25,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; -import android.os.UserHandle; +import android.os.Process; import android.security.Credentials; import android.security.KeyChain; import android.security.KeyChain.KeyChainConnection; @@ -34,7 +34,10 @@ import android.text.TextUtils; import android.util.Log; import android.view.View; import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemSelectedListener; import android.widget.EditText; +import android.widget.Spinner; import android.widget.Toast; import java.io.Serializable; @@ -64,6 +67,10 @@ public class CertInstaller extends Activity { // key to KeyStore private static final String PKEY_MAP_KEY = "PKEY_MAP"; + // Values for usage type spinner + private static final int USAGE_TYPE_SYSTEM = 0; + private static final int USAGE_TYPE_WIFI = 1; + private final KeyStore mKeyStore = KeyStore.getInstance(); private final ViewHelper mView = new ViewHelper(); @@ -85,12 +92,6 @@ public class CertInstaller extends Activity { protected void onCreate(Bundle savedStates) { super.onCreate(savedStates); - if (UserHandle.myUserId() != UserHandle.USER_OWNER) { - toastErrorAndFinish(R.string.only_primary_user_allowed); - finish(); - return; - } - mCredentials = createCredentialHelper(getIntent()); mState = (savedStates == null) ? STATE_INIT : STATE_RUNNING; @@ -132,7 +133,7 @@ public class CertInstaller extends Activity { private boolean needsKeyStoreAccess() { return ((mCredentials.hasKeyPair() || mCredentials.hasUserCertificate()) - && (mKeyStore.state() != KeyStore.State.UNLOCKED)); + && !mKeyStore.isUnlocked()); } @Override @@ -273,7 +274,7 @@ public class CertInstaller extends Activity { return; } byte[] bytes = Util.toBytes(map); - if (!mKeyStore.put(PKEY_MAP_KEY, bytes)) { + if (!mKeyStore.put(PKEY_MAP_KEY, bytes, KeyStore.UID_SELF, KeyStore.FLAG_ENCRYPTED)) { Log.w(TAG, "savePkeyMap(): failed to write pkey map"); } } @@ -366,6 +367,31 @@ public class CertInstaller extends Activity { } mView.setText(R.id.credential_info, mCredentials.getDescription(this).toString()); final EditText nameInput = (EditText) view.findViewById(R.id.credential_name); + if (mCredentials.isInstallAsUidSet()) { + view.findViewById(R.id.credential_usage_group).setVisibility(View.GONE); + } else { + final Spinner usageSpinner = (Spinner) view.findViewById(R.id.credential_usage); + + usageSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { + switch ((int) id) { + case USAGE_TYPE_SYSTEM: + mCredentials.setInstallAsUid(KeyStore.UID_SELF); + break; + case USAGE_TYPE_WIFI: + mCredentials.setInstallAsUid(Process.WIFI_UID); + break; + default: + Log.w(TAG, "Unknown selection for scope: " + id); + } + } + + @Override + public void onNothingSelected(AdapterView<?> parent) { + } + }); + } nameInput.setText(getDefaultName()); nameInput.selectAll(); Dialog d = new AlertDialog.Builder(this) diff --git a/src/com/android/certinstaller/CertInstallerMain.java b/src/com/android/certinstaller/CertInstallerMain.java index 7d7ed6e..9b10c07 100644 --- a/src/com/android/certinstaller/CertInstallerMain.java +++ b/src/com/android/certinstaller/CertInstallerMain.java @@ -60,14 +60,28 @@ public class CertInstallerMain extends CertFile implements Runnable { Intent intent = getIntent(); String action = (intent == null) ? null : intent.getAction(); - if (Credentials.INSTALL_ACTION.equals(action)) { + if (Credentials.INSTALL_ACTION.equals(action) + || Credentials.INSTALL_AS_USER_ACTION.equals(action)) { Bundle bundle = intent.getExtras(); + + /* + * There is a special INSTALL_AS_USER action that this activity is + * aliased to, but you have to have a permission to call it. If the + * caller got here any other way, remove the extra that we allow in + * that INSTALL_AS_USER path. + */ + if (bundle != null && !Credentials.INSTALL_AS_USER_ACTION.equals(action)) { + bundle.remove(Credentials.EXTRA_INSTALL_AS_UID); + } + // If bundle is empty of any actual credentials, install from external storage. // Otherwise, pass extras to CertInstaller to install those credentials. // Either way, we use KeyChain.EXTRA_NAME as the default name if available. if (bundle == null || bundle.isEmpty() - || (bundle.size() == 1 && bundle.containsKey(KeyChain.EXTRA_NAME))) { + || (bundle.size() == 1 + && (bundle.containsKey(KeyChain.EXTRA_NAME) + || bundle.containsKey(Credentials.EXTRA_INSTALL_AS_UID)))) { if (!isSdCardPresent()) { Toast.makeText(this, R.string.sdcard_not_present, Toast.LENGTH_SHORT).show(); diff --git a/src/com/android/certinstaller/CredentialHelper.java b/src/com/android/certinstaller/CredentialHelper.java index f9c35eb..c131268 100644 --- a/src/com/android/certinstaller/CredentialHelper.java +++ b/src/com/android/certinstaller/CredentialHelper.java @@ -64,6 +64,7 @@ class CredentialHelper { private HashMap<String, byte[]> mBundle = new HashMap<String, byte[]>(); private String mName = ""; + private int mUid = -1; private PrivateKey mUserKey; private X509Certificate mUserCert; private List<X509Certificate> mCaCerts = new ArrayList<X509Certificate>(); @@ -83,6 +84,9 @@ class CredentialHelper { mName = name; } + mUid = bundle.getInt(Credentials.EXTRA_INSTALL_AS_UID, -1); + bundle.remove(Credentials.EXTRA_INSTALL_AS_UID); + Log.d(TAG, "# extras: " + bundle.size()); for (String key : bundle.keySet()) { byte[] bytes = bundle.getByteArray(key); @@ -244,11 +248,20 @@ class CredentialHelper { return mName; } + void setInstallAsUid(int uid) { + mUid = uid; + } + + boolean isInstallAsUidSet() { + return mUid != -1; + } + Intent createSystemInstallIntent() { Intent intent = new Intent("com.android.credentials.INSTALL"); // To prevent the private key from being sniffed, we explicitly spell // out the intent receiver class. intent.setClassName("com.android.settings", "com.android.settings.CredentialStorage"); + intent.putExtra(Credentials.EXTRA_INSTALL_AS_UID, mUid); try { if (mUserKey != null) { intent.putExtra(Credentials.EXTRA_USER_PRIVATE_KEY_NAME, |