php - 如何从RSA的公开指数和模数生成DER/PEM证书?

标签 php rsa pem der

众所周知,公钥由一个公共(public)指数和一个模数组成。

我的问题是:

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

非常感谢您。

最佳答案

有了公共(public)指数和模数,您希望做的最好的事情就是得到这样的结果:

-----BEGIN PUBLIC KEY-----
MIGGAoGAfHlcdrcuOK6C02rbGR3SgV/ZJ2wnTiFBguh5FHduoB6LcZz49LIC/KcIiH/TckK8GxQd
oJ7wHCPBpNiumrlC6caj/C8jO/HZ3cb12Wuk4gUuJq1lg5+HTv4KRJ9pFeEFQqS6X+BTztY+EoRx
uc8MlLXS4PUeouwd9Ios2K0Y5/sCASU=
-----END PUBLIC KEY-----

也就是说,通常 DER/PEM 文件用于保存私钥,当您只有公共(public)指数时,您将无法获得私有(private)指数。但是,如果以上是您要查找的内容,请告诉我,我可以发布有关如何从模数/公共(public)指数中获取它的更多说明!

编辑:我会这样做:

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

关于php - 如何从RSA的公开指数和模数生成DER/PEM证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5973086/

相关文章:

php - 使用 composer load 时如何使用 __autoload 函数

php - 从目录中为所有类生成测试

performance - 如何加速java卡加密/解密(RSA)

c# - C# : What part defines the public key? 中的 RSA 加密

encryption - 从 X.509 证书中提取 PEM 公钥

iphone - 如何从 DER/PEM 文件获取 SecKeyRef

php - 检测请求是否来自不同域或子域的最佳方法

php - 变量不流动?

java - AES key 加解密与RSA key

node.js - NODE https客户端请求如何使用JKS证书