众所周知,公钥由公共指数和模数组成。
我的问题是:
如何从公共指数和RSA模数生成DER / PEM证书?
非常感谢你。
答案 0 :(得分:5)
使用公共指数和模数,您可能希望做的最好的事情就是得到这样的结果:
-----BEGIN PUBLIC KEY-----
MIGGAoGAfHlcdrcuOK6C02rbGR3SgV/ZJ2wnTiFBguh5FHduoB6LcZz49LIC/KcIiH/TckK8GxQd
oJ7wHCPBpNiumrlC6caj/C8jO/HZ3cb12Wuk4gUuJq1lg5+HTv4KRJ9pFeEFQqS6X+BTztY+EoRx
uc8MlLXS4PUeouwd9Ios2K0Y5/sCASU=
-----END PUBLIC KEY-----
也就是说,通常DER / PEM文件用于保存私钥,当你所拥有的只是公共密钥时,你将无法获得私人指数。但是,如果您正在寻找以上内容,请告诉我,我可以发布有关如何从模数/公共指数中获取它的进一步说明!
编辑:我是这样做的:
<?php
include('Crypt/RSA.php');
$modulus = new Math_BigInteger($modulusBinaryString, 256);
$exponent = new Math_BigInteger($exponentBinaryString, 256);
$rsa = new Crypt_RSA();
$rsa->modulus = $modulus;
$rsa->exponent = $exponent;
$rsa->publicExponent = $exponent;
$rsa->k = strlen($rsa->modulus->toBytes());
echo $rsa->getPublicKey(CRYPT_RSA_PRIVATE_FORMAT_PKCS1);
?>