0
我想生成一个椭圆曲线私钥,但我一直在android操作系统版本5和6上得到这个错误。下面是代码生成与EC密码学的PrivateKey 。Android:InvalidKeySpecException:椭圆曲线例程: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);
}
这里是我收到的OS版本5和6
java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0f06707b:elliptic curve routines:EC_GROUP_new_by_curve_name:UNKNOWN_GROUP
为什么我收到此错误,任何想法的错误? EC也应该从API级别11以上获得支持,所以使用EC应该不成问题。