Я новичок в шифровании java ecc. Итак, я получил массив данных открытого ключа ECC с java-карты. Размер составляет 49 байт. Итак, мне нужно сгенерировать Eccpublic ключ. Итак, я создал открытый ключ. но это дает ошибку:
java.security.spec.InvalidKeySpecException: спецификация закодированного ключа не распознана
Это мой код. Как сгенерировать Eccpublickey с использованием массива данных?
byte[] pub = new byte[] {
/*(Public data) 49 length byte ARRAY
*/
};
System.out.println("Length :" + pub.length);
X509EncodedKeySpec ks = new X509EncodedKeySpec(pub);
KeyFactory kf;
try {
kf = KeyFactory.getInstance("ECDH");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return;
}
ECPublicKey remotePublicKey;
try {
remotePublicKey = (ECPublicKey) kf.generatePublic(ks);
} catch (InvalidKeySpecException e) {
e.printStackTrace();
return;
} catch (ClassCastException e) {
e.printStackTrace();
return;
}
System.out.println(remotePublicKey);
} catch (Exception e) {
e.printStackTrace();
}