I am trying to create keyPair using Keystore android after my code:
Calendar start = Calendar.getInstance(); Calendar end = Calendar.getInstance(); end.add(Calendar.YEAR, 10); KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(MyApplication.getInstance()) .setAlias(m_alias) .setSubject(new X500Principal("CN="+m_alias)) .setSerialNumber(BigInteger.ONE) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build(); KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore"); generator.initialize(spec); KeyPair keyPair = generator.generateKeyPair();
At runtime, I got this exception:
java.security.ProviderException: Failed to generate self-signed certificate at android.security.keystore.AndroidKeyStoreKeyPairGeneratorSpi.generateKeyPair(AndroidKeyStoreKeyPairGeneratorSpi.java:504) at java.security.KeyPairGenerator$KeyPairGeneratorImpl.generateKeyPair(KeyPairGenerator.java:276) .... Caused by: java.lang.IllegalArgumentException: invalid date string: Unparseable date: "af`cab`hdedfGMT+00:00" (at offset 0) at com.android.org.bouncycastle.asn1.ASN1UTCTime.<init>(ASN1UTCTime.java:115) at com.android.org.bouncycastle.asn1.DERUTCTime.<init>(DERUTCTime.java:23) at com.android.org.bouncycastle.asn1.x509.Time.<init>(Time.java:67)
I searched for this problem and did not find a possible solution. Please help fix the problem.
Notes: - Device: HTC M9, Android v.6.0, build number: 3.35.401.12
- Examples of the date format: start Date: Wed 12 Mar 23:10:08 GMT + 03: 00 2016. End date: Thu 12 Mar 23:10:08 GMT + 03: 00 2026
Thanks in advance.
java android x509certificate
Radi
source share