Як створити запит на сертифікат TLS SHA256


10

Один з наших ділових партнерів просить нас використовувати сертифікат TLS SHA256 для підключення до своїх API. Я не впевнений, як генерувати ці запити. Раніше я використовував openssl для створення цих запитів, але він генерував сертифікат SSL за допомогою SHa1. Чи можна використовувати openssl для створення цього запиту? Якщо ні, як я генерую те, що вони просять?

Я не є експертом у цій галузі, тому навіть не знаю, чи є те, що я прошу, має сенс.

tls  openssl 

Мені було б цікаво, якби ти був одним із 12 людей, яким я мав сьогодні сказати, щоб повернутися з КСА SHA256 замість SHA1.
Хіпі

@Hyppy Я сподіваюся, що ви все ще вважаєте, що це наприкінці року :)
Maarten Bodewes

Відповіді:


12

CSH хеш і cert хеш не пов'язані

Тип хешу у запиті та фактичному сертифікаті не пов'язані один з одним.

КС перевіряє підпис на КСВ. Таким чином, CA може перевірити, що КСВ не було змінено під час транзиту. Ось і весь підпис на КСВ.

Не існує офіційного (або навіть напівофіційного) загальнодоступного способу сказати КА, який хеш ви хочете. Натомість компанія CA може управляти кількома ЦА, в одному з яких використовується виключно SHA256. І якщо ви хочете SHA256, ви надсилаєте свою КСВ на веб-сайті одного конкретного SHA256-CA-CA. (А не на веб-сайті SHA1-CA.)

Те, що часто теоретизується, є приблизно так: "Якщо я надішлю КСВ, підписаний із SHA1, то мій сертифікат буде підписаний із SHA1." Зазвичай це не робиться. ( Єдиний КА, який я знав про це, який раніше робив це, був Gandi.net .)

Як підписати КСВ з SHA256 Враховуючи
це, використовуйте -sha256параметр, щоб підписати КСВ з SHA256 так:

openssl req -new -newkey rsa: 2048 -nodes -sha256 -out www.example.com.sha256.csr -keyout www.example.com.key -subj "/ C = US / ST = ExampleState / L = ExampleLocation / O = ExampleOrganisation / CN = www.example.com "

Як перевірити хеш-тип CSR.
Ось як дізнаєтесь хеш-тип вашої CSR:

$ openssl req -in www.example.com.sha256.csr -noout -text | grep Signature  
    Signature Algorithm: sha256WithRSAEncryption

Добре. Він використовує SHA256 так, як ми хотіли.


5

Якщо ви використовуєте OpenSSL, ви можете просто додати параметр -sha256командного рядка, який генерує CSR за допомогою алгоритму підпису SHA-256.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.