如何从公共指数和RSA模数生成DER / PEM证书?

时间:2011-05-12 03:46:46

标签: php rsa pem der

众所周知,公钥由公共指数和模数组成。

我的问题是:

如何从公共指数和RSA模数生成DER / PEM证书?

非常感谢你。

1 个答案:

答案 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);
?>

我正在使用phpseclib, a pure PHP RSA implementation