所以我必须根据其位长,模数,第一个素数和公共指数生成私钥(RSA)。
问题是我有十六进制对的模数和prime1。我已尝试手动完成,但数量很长(很明显)。我也尝试使用openssl genpkey
,但对于RSA,它没有我需要的参数。
有人知道这样做的方法,或者我必须以十六进制/二进制方式手动操作吗?
答案 0 :(得分:-1)
正如James K Polk对此问题的评论,openssl不支持以这种方式生成密钥。你必须自己编写一个程序才能做到这一点。
例如,以下Java代码可以使用。您还需要处理异常。
BigInteger modulus = /* modulus here */;
BigInteger exponent = /* exponent here */;
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
keyFactory.generatePrivate(new RSAPrivateKeySpec(modulus, exponent));