2013-03-31 2 views
0

У меня есть модуль и показатель ключа публичного ключа. Могу ли я генерировать открытый ключ с помощью openssl api в php? Я читал http://php.net/manual/en/ref.openssl.php, но, похоже, нет никакой функции, которая бы архивировала это.создать открытый ключ PEM-файл с существующим модулем и экспонентой в php с библиотекой openssl

Если openssl не может этого сделать (создать открытый ключ с модулем и экспонентой), могу ли я использовать любой параметр в php для этого?

+0

Я не эксперт PHP. Но этот подход не очень хорош. Обычно рекомендуется изменить открытый ключ и закрытый ключ после определенного периода времени. Как правило, сертификат имеет срок действия. Если вы используете модуль и показатель ключа, у вас есть открытый ключ (это то, что означает открытый ключ RSA). Если вам нужен сертификат, вам нужен секретный ключ для генерации CSR. – doptimusprime

ответ

1

Использование phpseclib, a pure PHP RSA implementation:

<?php 
include('Crypt/RSA.php'); 

$rsa = new Crypt_RSA(); 

$rsa->loadKey(array ('e'=>new Math_BigInteger('65537'), 'n'=>new Math_BigInteger('11944573237954459805614520005393273287786384679965238498958830373752732874397055'. 
'98832111464872863171681422024469555089029360351247093972211786644957214280299847'. 
'26868375359168203283442617134197706515425366188396513684446494070223079865755643'. 
'116690165578452542158755074958452695530623055205290232290667934914919'))); 

echo $rsa; 

Выход следующим образом:

-----BEGIN PUBLIC KEY----- 
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVx 
wTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFnc 
CzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0T 
p0GbMJDyR4e9T04ZZwIDAQAB 
-----END PUBLIC KEY----- 
Смежные вопросы