0
我有base64中的ECDSA私鑰字符串(我從此https://stackoverflow.com/a/8571649/7661555答案中檢查此字符串與正則表達式)。從base64字符串創建私鑰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.S. 生成PrivateKey後,我想用它來簽署另一個字符串。 爲此我找到下一個代碼:
Signature sig = Signature.getInstance("SHA256withECDSA");
sig.initSign(priv);
sig.update(token.getBytes());
這是對的嗎?或者這可能導致另一個異常?