Официально рекомендуемый метод создания CSR SSL-сертификата веб-сервера (согласно документации RHEL6 и CentOS 6) заключается в использовании утилиты genkey. При использовании в соответствии с документами это создает CSR с подписью SHA1. Наш центр сертификации запросил CSR с подписью SHA256 (потому что нам нужен сертификат SSL SHA256 в соответствии с новыми требованиями браузера chrome / ie). Мне не удалось найти никаких документов о том, как это сделать с помощью genkey. Я пробовал использовать флаг командной строки --sha256, но он не распознается genkey. Кто-нибудь может описать, как это сделать?
Подпись, о которой вы говорите, находится в сертификате SSL, а не в CSR. Вот почему вы не можете найти вариант. :)
Что вам нужно сделать, так это убедиться, что ваш эмитент сертификатов генерирует ваши сертификаты на основе вашего CSR с правильными параметрами. Точный способ сделать это меняется с CA на CA. Например, у GoDaddy обычно есть раскрывающийся список на экране запроса сертификата прямо под тем местом, куда вы вставляете CSR, и вы можете выбрать SHA-1 или SHA-2 (который будет генерировать сертификат SHA256).
Интерактивная команда genkey не даст вам возможности изменить значения по умолчанию, но вы сможете обновить свой /etc/pki/tls/openssl.cnf, если действительно хотите использовать эту команду.
Изменить:
default_md = sha1
Кому:
default_md = sha256
Или вы можете использовать команду openssl напрямую. Если для алгоритма хеширования по умолчанию установлено значение SHA1, вы можете использовать переключатель -sha256 для принудительного использования SHA2.
openssl req -new -sha256 -key private.key> new_sha256.csr