Intereting Posts
Ajax – наилучшая практика / подход для загрузки третичных данных PHP MYSQL: способ отображения таблицы в порядке возрастания Есть ли способ установить частное / защищенное статическое свойство с использованием классов отражения? Запуск php-кода внутри скрипта сервера node.js Как получить имя свойства JSON php Могу ли я использовать try-catch-finally вот так? Расчет расстояния между почтовыми индексами в PHP «Непрямая модификация перегруженного элемента SplFixedArray не влияет» CodeIgniter, как изменить буферизованный вывод перед отправкой Архив обратного изображения: складывание изображений снизу вверх с помощью CSS / Javascript? 500 Ошибка сервера: преждевременный конец заголовков сценариев: Интеграция с Paypal: вернитесь на страницу оплаты и исправьте адрес извлекать данные из mysql и отправлять по электронной почте PHP simpleXML как сохранить файл в отформатированном виде? Альтернатива filter_var

Как сгенерировать сертификат DER / PEM из общедоступного показателя и модуля RSA?

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

Мои вопросы:

Как сгенерировать сертификат DER / PEM из общедоступного показателя и модуля RSA?

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

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

-----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); ?> в <?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 .