diff options
Diffstat (limited to 'keystore/java/android/security/Credentials.java')
-rw-r--r-- | keystore/java/android/security/Credentials.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/keystore/java/android/security/Credentials.java b/keystore/java/android/security/Credentials.java index 68ba2b1..72332eb 100644 --- a/keystore/java/android/security/Credentials.java +++ b/keystore/java/android/security/Credentials.java @@ -185,4 +185,19 @@ public class Credentials { Log.w(LOGTAG, e.toString()); } } + + /** + * Delete all types (private key, certificate, CA certificate) for a + * particular {@code alias}. All three can exist for any given alias. + * Returns {@code true} if there was at least one of those types. + */ + static boolean deleteAllTypesForAlias(KeyStore keystore, String alias) { + /* + * Make sure every type is deleted. There can be all three types, so + * don't use a conditional here. + */ + return keystore.delKey(Credentials.USER_PRIVATE_KEY + alias) + | keystore.delete(Credentials.USER_CERTIFICATE + alias) + | keystore.delete(Credentials.CA_CERTIFICATE + alias); + } } |