Status Update
Comments
si...@google.com <si...@google.com>
si...@google.com <si...@google.com>
si...@google.com <si...@google.com>
ga...@gmail.com <ga...@gmail.com> #2
This is incorrectly categorized as a duplicate.
ch...@pulsarinformatique.ca <ch...@pulsarinformatique.ca> #4
I still got the same issue, is there a solution available ?
Description
I'm generating an RSA keypair using the following code:
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
Calendar start = Calendar.getInstance();
Calendar end = Calendar.getInstance();
end.add(Calendar.YEAR, 30);
KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context)
.setAlias(KEY_ALIAS)
.setSubject(new X500Principal("CN=XXX, O=XXX"))
.setSerialNumber(BigInteger.ONE)
.setKeySize(2048)
.setStartDate(start.getTime())
.setEndDate(end.getTime())
.build();
keyPairGenerator.initialize(spec);
keyPairGenerator.generateKeyPair();
Then, when attempting to get the key using the right alias:
KeyStore.PrivateKeyEntry privateKeyEntry = (KeyStore.PrivateKeyEntry) keyStore.getEntry(KEY_ALIAS, null);
I get a warning in logcat :
04-06 11:43:03.078 13172-13172/
android.os.ServiceSpecificException: (code 7)
at android.os.Parcel.createException(Parcel.java:1956)
at android.os.Parcel.readException(Parcel.java:1865)
at android.security.IKeystoreService$Stub$Proxy.get(IKeystoreService.java:766)
at android.security.KeyStore.get(KeyStore.java:193)
at android.security.keystore.AndroidKeyStoreSpi.engineGetCertificateChain(AndroidKeyStoreSpi.java:117)
at java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:484)
at java.security.KeyStore.getEntry(KeyStore.java:1560)
at com.XXX.android.core.AndroidSecureStorageService.encryptRSA(AndroidSecureStorageService.java:211)
at com.XXX.android.core.AndroidSecureStorageService.generateSymmetricKey(AndroidSecureStorageService.java:295)
at com.XXX.android.core.AndroidSecureStorageService.<init>(AndroidSecureStorageService.java:84)
at com.XXX.android.bootstrap.AndroidBootstrapper.secureStorageService(AndroidBootstrapper.java:142)
at com.XXX.mobile.bootstrap.Bootstrap.init(Bootstrap.java:82)
at com.XXX.android.XXXApplication.onCreate(XXXApplication.java:38)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5874)
at android.app.ActivityThread.access$1100(ActivityThread.java:193)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1623)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)