Ich versuche, einen privaten Schlüssel Elliptische Kurve zu generieren, aber ich bekomme diesen Fehler auf Android-Betriebssystemversionen 5 und 6. Unten ist der Code zum Generieren des PrivateKey mit EC-Kryptografie .Android: InvalidKeySpecException: Routinen mit elliptischen Kurven: EC_GROUP_new_by_curve_name: UNKNOWN_GROUP
private static java.security.PrivateKey createPrivateKey(List<PrivateKey> privateKeys, String appInstallationIdentifier) throws Exception {
PrivateKey privateKey = getPrivateKeyForActivation(privateKeys);
String key = decryptMessage(privateKey.getEncryptedPrivateKey(), appInstallationIdentifier, privateKey.getIv());
key = key.replace("-----BEGIN PRIVATE KEY-----", "")
.replace("-----END PRIVATE KEY-----", "")
.replaceAll("\\s", "");
byte[] privateKeyFileContent = decode(key);
KeyFactory keyFactory = KeyFactory.getInstance("EC");
PKCS8EncodedKeySpec ks = new PKCS8EncodedKeySpec(privateKeyFileContent);
return keyFactory.generatePrivate(ks);
}
Und hier ist es, die Fehler, die ich auf OS-Versionen erhalten Sie 5 und 6
java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0f06707b:elliptic curve routines:EC_GROUP_new_by_curve_name:UNKNOWN_GROUP
Irgendwelche Ideen, warum ich diese Fehler erhalten? auch EC soll ab API 11 und höher unterstützt werden, daher sollte die Verwendung von EC kein Problem sein.