summaryrefslogtreecommitdiffstats
path: root/keystore
diff options
context:
space:
mode:
authorChia-chi Yeh <chiachi@android.com>2009-09-18 12:00:12 +0800
committerChia-chi Yeh <chiachi@android.com>2009-09-18 12:03:04 +0800
commit9b7a3f1a6437605022568cad0b92d5006a2ab391 (patch)
tree4d3dcf473cb06af26bc2b6bc68bd54a65422c92c /keystore
parentadbc99be6d7e35f71bbbdcdfef5562c5a9b53b07 (diff)
downloadframeworks_base-9b7a3f1a6437605022568cad0b92d5006a2ab391.zip
frameworks_base-9b7a3f1a6437605022568cad0b92d5006a2ab391.tar.gz
frameworks_base-9b7a3f1a6437605022568cad0b92d5006a2ab391.tar.bz2
Add a helper class to send out credentials.
Change-Id: I9a550c6edc55d5c2c601223c011922b183cb4d30
Diffstat (limited to 'keystore')
-rw-r--r--keystore/java/android/security/Credentials.java98
1 files changed, 98 insertions, 0 deletions
diff --git a/keystore/java/android/security/Credentials.java b/keystore/java/android/security/Credentials.java
new file mode 100644
index 0000000..28c2992
--- /dev/null
+++ b/keystore/java/android/security/Credentials.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.security;
+
+import android.content.ActivityNotFoundException;
+import android.content.Context;
+import android.content.Intent;
+import android.util.Log;
+
+import java.security.KeyPair;
+
+/**
+ * {@hide}
+ */
+public class Credentials {
+ private static final String LOGTAG = "Credentials";
+ private static final String UNLOCK_ACTION = "android.credentials.UNLOCK";
+ private static final String INSTALL_ACTION = "android.credentials.INSTALL";
+ private static Credentials singleton;
+
+ /** Key prefix for CA certificates. */
+ public static final String CA_CERTIFICATE = "CACERT_";
+
+ /** Key prefix for user certificates. */
+ public static final String USER_CERTIFICATE = "USRCERT_";
+
+ /** Key prefix for user private keys. */
+ public static final String USER_PRIVATE_KEY = "USRPKEY_";
+
+ /** Key prefix for VPN. */
+ public static final String VPN = "VPN_";
+
+ /** Key prefix for WIFI. */
+ public static final String WIFI = "WIFI_";
+
+ /** Data type for public keys. */
+ public static final String PUBLIC_KEY = "KEY";
+
+ /** Data type for private keys. */
+ public static final String PRIVATE_KEY = "PKEY";
+
+ /** Data type for certificates. */
+ public static final String CERTIFICATE = "CERT";
+
+ /** Data type for PKCS12. */
+ public static final String PKCS12 = "PKCS12";
+
+ public static Credentials getInstance() {
+ if (singleton == null) {
+ singleton = new Credentials();
+ }
+ return singleton;
+ }
+
+ public void unlock(Context context) {
+ try {
+ Intent intent = new Intent(UNLOCK_ACTION);
+ context.startActivity(intent);
+ } catch (ActivityNotFoundException e) {
+ Log.w(LOGTAG, e.toString());
+ }
+ }
+
+ public void install(Context context, KeyPair pair) {
+ try {
+ Intent intent = new Intent(INSTALL_ACTION);
+ intent.putExtra(PRIVATE_KEY, pair.getPrivate().getEncoded());
+ intent.putExtra(PUBLIC_KEY, pair.getPublic().getEncoded());
+ context.startActivity(intent);
+ } catch (ActivityNotFoundException e) {
+ Log.w(LOGTAG, e.toString());
+ }
+ }
+
+ public void install(Context context, String type, byte[] value) {
+ try {
+ Intent intent = new Intent(INSTALL_ACTION);
+ intent.putExtra(type, value);
+ context.startActivity(intent);
+ } catch (ActivityNotFoundException e) {
+ Log.w(LOGTAG, e.toString());
+ }
+ }
+}