我有一個RSA私鑰存儲爲字符串,我需要將其轉換爲用於API的PrivateKey對象。我可以找到從私鑰文件轉換爲字符串的人的例子,但沒有其他方式。將RSA PKCS1私鑰字符串轉換爲Java PrivateKey對象
我設法將其轉換爲一個專用密鑰對象,但它是在PKCS8,當我需要它是PKCS1,我知道Java沒有PKCS1EncodedKeySpec
byte[] key64 = Base64.decodeBase64(privateKeyString.getBytes());
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
KeySpec privateKeySpec = new PKCS8EncodedKeySpec(privateKeyBytes);
PrivateKey privateKey = keyFactory.generatePrivate(privateKeySpec);
如果您的意思是_must_接受PKCS1 RSAPrivateKey(又名OpenSSL的'傳統'格式)base64(〜PEM或DER),並且無法修復它:如果清除請參閱https://stackoverflow.com/questions/3243018/如何加載rsa私人密鑰從文件或我的黑客在https://stackoverflow.com/questions/23709898/java-convert-dkim-private-key-from-rsa-to-der-for -javamail加密PEM(不太可能?)請參閱https://stackoverflow.com/questions/44681737/get-a-privatekey-from-a-rsa-pem-file或https://stackoverflow.com/questions/35276820/decrypting-an-openssl-pem-encoded-rsa-private-key-with java –
你的第二段沒有任何意義。 –