próbuję stworzyć parę kluczy za pomocą android Keystore po moim kodu:Android KeyStore: Nie można wygenerować certyfikat z podpisem własnym, datę nieprawidłowy ciąg
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();
Na starcie dostałem ten wyjątek:
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)
Przeszukałem ten problem i nie znalazłem żadnego możliwego rozwiązania, proszę o pomoc w rozwiązaniu problemu.
Uwagi: - Urządzenie: HTC M9, Android v.6.0, numer kompilacji: przykłady formatu 3.35.401.12
- Data: Data rozpoczęcia: Sob 12 marca 23:10:08 GMT + 03 : 00 2016. Data zakończenia: czw. 12 marca 23:10:08 GMT + 03: 00 2026
Z góry dziękuję.
1. Jaki jest model urządzenia, wersja Androida, numer kompilacji urządzenia z systemem Android, na którym występuje? 2. Co jest drukowane, jeśli wydrukujesz zmienne początkową i końcową tuż przed generKeyPair? –
Urządzenie: HTC M9, Android v.6.0, numer kompilacji: 3.35.401.12 – Radi
Przykłady formatów daty: data rozpoczęcia: sob. 12 marca 23:10:08 GMT + 03: 00 2016. Data zakończenia: czw. 12 marca 23:10:08 GMT + 03: 00 2026 – Radi