Один из наших деловых партнеров просит нас использовать сертификат TLS SHA256 для подключения к их API. Я не уверен, как генерировать эти запросы. В прошлом я использовал openssl для создания этих запросов, но он генерировал SSL-сертификат, используя SHa1. Могу ли я использовать openssl для генерации этого запроса? Если нет, то как мне создать то, что они просят?
Я не эксперт в этой области, поэтому я даже не знаю, имеет ли смысл то, что я спрашиваю.
Ответы:
CSR хэш и хэш сертификата не связан
Тип хеша по запросу и по фактическому сертификату не связаны друг с другом.
CA проверяет подпись на CSR. Таким образом, CA может проверить, что CSR не был изменен при передаче. Это все, что делает подпись на CSR.
Не существует официального (или даже полуофициального) внутриполосного способа сообщить CA, какой хеш вы хотите. Вместо этого компания CA может запустить несколько CA, один из которых использует исключительно SHA256. И если вы хотите SHA256, то вы отправляете свой CSR на веб-сайте этого конкретного SHA256-only-CA. (И не на их веб-сайте SHA1-CA.)
Часто теоретизируют что-то вроде этого: «Если я отправлю CSR, подписанный с SHA1, то мой сертификат будет подписан с SHA1». Обычно это не делается. ( Единственный известный мне CA, который раньше делал это, был Gandi.net .)
Как подписать CSR с SHA256
При этом используйте
-sha256
параметр, чтобы подписать CSR с SHA256 следующим образом:Как проверить тип хэша CSR
И вот как вы узнаете тип хэша вашего CSR:
Хороший. Он использует SHA256, как мы и хотели.
источник
Если вы используете OpenSSL, вы можете просто добавить параметр
-sha256
командной строки, который будет генерировать CSR с алгоритмом подписи SHA-256.источник