如何在没有Bouncy Castle的情况下从私人(ecdsa)制作公钥?

时间:2017-11-06 20:26:55

标签: java ecdsa

我有私钥(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中创建公钥?

1 个答案:

答案 0 :(得分:0)

假设您的私钥是OpenSSH格式,您可以使用-y选项ssh-keygen。例如,如果您的私有包含在mykey中,则以下命令将生成其公钥

ssh-keygen -y -f mykey > mykey.pub