base64에 ECDSA 개인 키 문자열이 있습니다 (이 https://stackoverflow.com/a/8571649/7661555 답변에서이 문자열을 regexp로 확인).base64 문자열에서 PrivateKey 만들기 ECDSA 개인 키
그리고이 문자열에서 PrivateKey 인스턴스를 생성하려고합니다. 나는 내 프로젝트에 SpongyCastle을 포함,이 코드를 생성하려고 :
PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec(encKey);
KeyFactory keyFactory = KeyFactory.getInstance("ECDSA", "SC");
PrivateKey priv = keyFactory.generatePrivate(privKeySpec);
을하지만 난이 코드를 실행하면, 나는 다음 예외를 얻을 :
W/System.err에 : java.security합니다. spec.InvalidKeySpecException : 인코딩 된 키 사양이 인식되지 않음
내가 뭘 잘못했는지 말해 줄 수 있습니까?
P. PrivateKey를 생성 한 후에 다른 문자열에 서명해야합니다. 이를 위해 내가 다음 코드를 찾을 :
Signature sig = Signature.getInstance("SHA256withECDSA");
sig.initSign(priv);
sig.update(token.getBytes());
이 올바른 방법인가? 아니면 이것으로 인해 또 다른 예외가 생길 수 있습니까?