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

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

我的问题是:

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

非常感谢你提前.

解决方法:

使用公共指数和模数,你可能希望做的最好的事情是得到这样的东西:

-----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.

上一篇:OpenSSL密码库算法笔记——第6.3.5章 验证原理


下一篇:UVA1426 Discrete Square Roots