Мне нужно создать CSR для частного интерфейса RPC, защищенного с помощью сертификатов. В рамках требований указано, что единственный совместимый пакет:
SSL_RSA_EXPORT_WITH_RC4_40_MD5
Мои знания довольно ограничены, но я пробовал:
openssl genrsa -out mykey.private -des3 512
Затем извлеките открытый ключ через
openssl rsa -in mykey.private -pubout -out mykey.public
Затем конвертируйте в CSR через
openssl req -new ???
Неизвестная часть состоит в том, какие части комплектов шифров соответствуют частям запроса CSR, мне сказали, что это 512-битный ключ, однако я не понимаю актуальности части RC4 или MD5!
Прежде чем люди спросят, почему я не отправляю и не посмотрю, что происходит, нам начисляется плата за неудачный или успешный процесс подписания CSR.
С Уважением,
Том
RC4 - это симметричный шифр, который не появляется в запросе сертификата и в самом итоговом сертификате. Что может быть важным, так это алгоритм дайджеста сообщения; очевидно, ваш ЦС с ограниченным экспортом требует MD5.
Итак, сначала создайте CSR с помощью:
openssl req -new -key mykey.private -md5 -out my.csr
(фактически -md5
по-прежнему используется по умолчанию).
Затем ответьте на запросы соответствующим образом. После того, как файл сгенерирован, вы можете просмотреть его содержимое в текстовой форме:
openssl req -in my.csr -text -noout
Перед отправкой CSR убедитесь, что поля Тема, Алгоритм открытого ключа и Алгоритм подписи верны; вы также могли видеть, что там нет упоминания о RC4 или любом другом алгоритме симметричного шифрования.
SSL_RSA_EXPORT_WITH_RC4_40_MD5 - это набор шифров, который необходимо указать в конфигурации конечной точки SSL.
Но на всякий случай убедитесь, что вы используете -md5 при генерации CSR.