diff options
author | Brian Carlstrom <bdc@google.com> | 2011-06-07 13:46:19 -0700 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2011-06-07 15:36:13 -0700 |
commit | 2942ff86b52c8a12c5d137d94ce4a21300575887 (patch) | |
tree | b26df1c4f8aadaa5ae56fe9e84fe18d0103911dd /src | |
parent | c8150af204ffd38ac46635ff8793261045490ea2 (diff) | |
download | android_packages_apps_CertInstaller-2942ff86b52c8a12c5d137d94ce4a21300575887.tar.gz android_packages_apps_CertInstaller-2942ff86b52c8a12c5d137d94ce4a21300575887.tar.bz2 android_packages_apps_CertInstaller-2942ff86b52c8a12c5d137d94ce4a21300575887.zip |
Move CredentialHelper.convertToPem to frameworks/base for reuse by KeyChain
Change-Id: I96d5a23201c070a7d0ce8856d189e54e3b05e3bd
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/certinstaller/CredentialHelper.java | 49 |
1 files changed, 18 insertions, 31 deletions
diff --git a/src/com/android/certinstaller/CredentialHelper.java b/src/com/android/certinstaller/CredentialHelper.java index 7c7abfb..f9bd0e9 100644 --- a/src/com/android/certinstaller/CredentialHelper.java +++ b/src/com/android/certinstaller/CredentialHelper.java @@ -24,22 +24,16 @@ import android.security.Credentials; import android.security.IKeyChainService; import android.text.Html; import android.util.Log; - import com.android.org.bouncycastle.asn1.ASN1InputStream; import com.android.org.bouncycastle.asn1.ASN1Sequence; import com.android.org.bouncycastle.asn1.DEROctetString; import com.android.org.bouncycastle.asn1.x509.BasicConstraints; -import com.android.org.bouncycastle.openssl.PEMWriter; - import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.io.OutputStreamWriter; import java.security.KeyFactory; import java.security.KeyStore.PasswordProtection; import java.security.KeyStore.PrivateKeyEntry; import java.security.KeyStore; -import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.cert.Certificate; @@ -254,17 +248,25 @@ class CredentialHelper { // 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"); - if (mUserKey != null) { - intent.putExtra(Credentials.USER_PRIVATE_KEY + mName, convertToPem(mUserKey)); - } - if (mUserCert != null) { - intent.putExtra(Credentials.USER_CERTIFICATE + mName, convertToPem(mUserCert)); - } - if (!mCaCerts.isEmpty()) { - Object[] caCerts = (Object[]) mCaCerts.toArray(new X509Certificate[mCaCerts.size()]); - intent.putExtra(Credentials.CA_CERTIFICATE + mName, convertToPem(caCerts)); + try { + if (mUserKey != null) { + intent.putExtra(Credentials.USER_PRIVATE_KEY + mName, + Credentials.convertToPem(mUserKey)); + } + if (mUserCert != null) { + intent.putExtra(Credentials.USER_CERTIFICATE + mName, + Credentials.convertToPem(mUserCert)); + } + if (!mCaCerts.isEmpty()) { + Object[] caCerts = (Object[]) + mCaCerts.toArray(new X509Certificate[mCaCerts.size()]); + intent.putExtra(Credentials.CA_CERTIFICATE + mName, + Credentials.convertToPem(caCerts)); + } + return intent; + } catch (IOException e) { + throw new AssertionError(e); } - return intent; } boolean installCaCertsToKeyChain(IKeyChainService keyChainService) { @@ -339,19 +341,4 @@ class CredentialHelper { return true; } - - private byte[] convertToPem(Object... objects) { - try { - ByteArrayOutputStream bao = new ByteArrayOutputStream(); - OutputStreamWriter osw = new OutputStreamWriter(bao); - PEMWriter pw = new PEMWriter(osw); - for (Object o : objects) { - pw.writeObject(o); - } - pw.close(); - return bao.toByteArray(); - } catch (IOException e) { - throw new AssertionError(e); - } - } } |