diff --git a/src/com/android/keychain/KeyChainService.java b/src/com/android/keychain/KeyChainService.java
index 2024c26..2564d03 100644
--- a/src/com/android/keychain/KeyChainService.java
+++ b/src/com/android/keychain/KeyChainService.java
@@ -139,25 +139,6 @@
             broadcastStorageChange();
         }
 
-        @Override public void installKeyPair(byte[] privateKey, byte[] userCertificate,
-                String alias) {
-            checkCertInstallerOrSystemCaller();
-            if (!mKeyStore.importKey(Credentials.USER_PRIVATE_KEY + alias, privateKey, -1,
-                    KeyStore.FLAG_ENCRYPTED)) {
-                Log.e(TAG, "Failed to import private key " + alias);
-                return;
-            }
-            if (!mKeyStore.put(Credentials.USER_CERTIFICATE + alias, userCertificate, -1,
-                    KeyStore.FLAG_ENCRYPTED)) {
-                Log.e(TAG, "Failed to import user certificate " + userCertificate);
-                if (!mKeyStore.delKey(Credentials.USER_PRIVATE_KEY + alias)) {
-                    Log.e(TAG, "Failed to delete private key after certificate importing failed");
-                }
-                return;
-            }
-            broadcastStorageChange();
-        }
-
         private X509Certificate parseCertificate(byte[] bytes) throws CertificateException {
             CertificateFactory cf = CertificateFactory.getInstance("X.509");
             return (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(bytes));
