diff options
author | Chia-chi Yeh <chiachi@android.com> | 2009-09-18 12:00:12 +0800 |
---|---|---|
committer | Chia-chi Yeh <chiachi@android.com> | 2009-09-18 12:03:04 +0800 |
commit | 9b7a3f1a6437605022568cad0b92d5006a2ab391 (patch) | |
tree | 4d3dcf473cb06af26bc2b6bc68bd54a65422c92c /keystore/java/android/security/Credentials.java | |
parent | adbc99be6d7e35f71bbbdcdfef5562c5a9b53b07 (diff) |
Add a helper class to send out credentials.
Change-Id: I9a550c6edc55d5c2c601223c011922b183cb4d30
Diffstat (limited to 'keystore/java/android/security/Credentials.java')
-rw-r--r-- | keystore/java/android/security/Credentials.java | 98 |
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 000000000000..28c29927ef0f --- /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()); + } + } +} |