summaryrefslogtreecommitdiff
path: root/keystore/java/android/security/Credentials.java
diff options
context:
space:
mode:
authorShawn Willden <swillden@google.com>2016-02-02 08:27:39 -0700
committerShawn Willden <swillden@google.com>2016-02-08 19:29:54 +0000
commit8d8c7477746c357d54f586fc92e8d422a4fc6441 (patch)
tree4f045715493d846d7b08b393c13fee3c312fa689 /keystore/java/android/security/Credentials.java
parentd1bbdeb86e5b6b83465440947dffc89de46a3f93 (diff)
Add attestation API to Android KeyStore.
Bug: 22914603 Change-Id: I7c6162dc7a390aa48a2542494780959b01c23bd4
Diffstat (limited to 'keystore/java/android/security/Credentials.java')
-rw-r--r--keystore/java/android/security/Credentials.java29
1 files changed, 17 insertions, 12 deletions
diff --git a/keystore/java/android/security/Credentials.java b/keystore/java/android/security/Credentials.java
index c8333c87c69c..302b0bd73065 100644
--- a/keystore/java/android/security/Credentials.java
+++ b/keystore/java/android/security/Credentials.java
@@ -20,9 +20,11 @@ import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
+
import com.android.org.bouncycastle.util.io.pem.PemObject;
import com.android.org.bouncycastle.util.io.pem.PemReader;
import com.android.org.bouncycastle.util.io.pem.PemWriter;
+
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -147,20 +149,23 @@ public class Credentials {
Reader reader = new InputStreamReader(bai, StandardCharsets.US_ASCII);
PemReader pr = new PemReader(reader);
- CertificateFactory cf = CertificateFactory.getInstance("X509");
-
- List<X509Certificate> result = new ArrayList<X509Certificate>();
- PemObject o;
- while ((o = pr.readPemObject()) != null) {
- if (o.getType().equals("CERTIFICATE")) {
- Certificate c = cf.generateCertificate(new ByteArrayInputStream(o.getContent()));
- result.add((X509Certificate) c);
- } else {
- throw new IllegalArgumentException("Unknown type " + o.getType());
+ try {
+ CertificateFactory cf = CertificateFactory.getInstance("X509");
+
+ List<X509Certificate> result = new ArrayList<X509Certificate>();
+ PemObject o;
+ while ((o = pr.readPemObject()) != null) {
+ if (o.getType().equals("CERTIFICATE")) {
+ Certificate c = cf.generateCertificate(new ByteArrayInputStream(o.getContent()));
+ result.add((X509Certificate) c);
+ } else {
+ throw new IllegalArgumentException("Unknown type " + o.getType());
+ }
}
+ return result;
+ } finally {
+ pr.close();
}
- pr.close();
- return result;
}
private static Credentials singleton;