我有私钥(ecdsa,secp256r1)。
private final static String SHA = "SHA-256";
private final static String MODE = "EC";
private final static String PROV = "SunEC";
private final static String ECC_ALGO = "secp256r1";
public static KeyPair eccKeyGen() {
KeyPairGenerator kpg;
KeyPair kp = null;
try {
kpg = KeyPairGenerator.getInstance(MODE, PROV);
ECGenParameterSpec ecsp;
ecsp = new ECGenParameterSpec(ECC_ALGO);
kpg.initialize(ecsp);
kp = kpg.genKeyPair();
return kp;
} catch (Exception e) {
System.out.println("Key generation error.");
e.printStackTrace();
}
return kp;
如果没有Bouncy Castle,我如何在java中创建公钥?
答案 0 :(得分:0)
假设您的私钥是OpenSSH格式,您可以使用-y
选项ssh-keygen
。例如,如果您的私有包含在mykey
中,则以下命令将生成其公钥
ssh-keygen -y -f mykey > mykey.pub