如果我使用open ssl命令
sudo openssl genrsa -out privkey.pem 2048
Run Code Online (Sandbox Code Playgroud)
要生成rsa密钥,它只生成1个文件.这是私钥.我如何获得公钥.
我试图用Java读取RSA公钥和私钥文件.
我的RSA公钥和私钥是使用PuttyGen生成的.(SSH-2 RSA,1024位)
我用来读取文件的代码是:
//public key
pubkeyBytes = getBytesFromFile(new File(pubKeyfileName));
KeySpec pubSpec = new X509EncodedKeySpec(pubkeyBytes);
RSAPublicKey pubKey =(RSAPublicKey) rsakeyFactory.generatePublic(pubSpec);
//private key
privkeyBytes = getBytesFromFile(new File(privKeyfileName));
PKCS8EncodedKeySpec privSpec = new PKCS8EncodedKeySpec(privkeyBytes);
PrivateKey privKey = rsakeyFactory.generatePrivate(privSpec);
Run Code Online (Sandbox Code Playgroud)
它抛出:
java.security.InvalidKeyException: invalid key format
at sun.security.x509.X509Key.decode(Unknown Source)
Run Code Online (Sandbox Code Playgroud)