Java中RSA秘钥需使用PKCS#8编码,OpenSSL默认生成的秘钥可通过如下的命令转换为PKCS#8格式:
1 |
openssl.exe pkcs8 -topk8 -in rsa_private_key.pem -out pkcs8_rsa_private_key.pem -nocrypt |
对比如下:
在Java中的使用形如:
1 2 3 4 5 |
byte[] keyBytes = Base64.decodeBase64(this.privateKey); PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes); this.privateKey = KeyFactory.getInstance("RSA").generatePrivate(keySpec); this.cipher = Cipher.getInstance("RSA"); cipher.init(Cipher.DECRYPT_MODE, privateKey); |
转载时请保留出处,违法转载追究到底:进城务工人员小梅 » Java处理OpenSSL生成的RSA秘钥