我正在尝试相当于以下命令,但在Java中:
openssl genrsa -out privatekey.pem 1024
openssl req -newkey rsa:1024 -x509 -key privatekey.pem -out publickey.cer -days 365
openssl pkcs8 -topk8 -nocrypt -in privatekey.pem -out privatekey.pcks8
我有以下代码,我理解生成pcks8格式的两个密钥,但是如何以与上面相同的格式获取公钥输出?我还缺少什么?
KeyPairGenerator keyGen = null;
try {
keyGen = KeyPairGenerator.getInstance("RSA");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
KeyPair pair = keyGen.generateKeyPair();
String privateKey = Base64.encodeBase64String(pair.getPrivate().getEncoded());
String publicKey = Base64.encodeBase64String(pair.getPublic().getEncoded());
非常感谢任何帮助。这是我第一次使用非对称密钥。