Как сгенерировать сертификат DER / PEM из публичного показателя и модуля RSA A - PullRequest
5 голосов
/ 12 мая 2011

Как мы знаем, открытый ключ состоит из открытого показателя степени и модуля.

Мои вопросы:

Как создать сертификат DER / PEM из открытого показателя степени и модуля RSA100

Заранее большое спасибо.

1 Ответ

5 голосов
/ 12 мая 2011

С открытым показателем и модулем лучшее, на что вы могли бы надеяться, это получить что-то вроде этого:

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

При этом обычно файлы DER / PEM используются для хранения закрытых ключей, и выВы не сможете получить частный показатель, когда все, что у вас есть, является открытым.Однако, если вышесказанное - то, что вы ищете, дайте мне знать, и я могу опубликовать дальнейшие инструкции о том, как получить его по модулю / общему показателю!

edit: вот как бы я это сделал:

<?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, чистую реализацию PHP RSA .

...