Hash CSR i hash cert nie są powiązane
Typ skrótu na żądanie i na rzeczywistym certyfikacie nie są ze sobą powiązane.
Urząd certyfikacji sprawdza podpis w CSR. W ten sposób urząd certyfikacji może sprawdzić, czy CSR nie został zmieniony podczas transportu. To wszystko, co robi podpis w CSR.
Nie ma oficjalnego (ani nawet półoficjalnego) wewnątrz-pasmowego sposobu mówienia CA, jaki chcesz skrót. Zamiast tego firma CA może prowadzić wiele urzędów certyfikacji, z których jeden używa wyłącznie SHA256. A jeśli chcesz SHA256, prześlij swój raport CSR na stronie internetowej tego konkretnego CA-tylko SHA256. (I nie na stronie internetowej SHA1-CA.)
Często teorią jest: „Jeśli prześlę CSR podpisany za pomocą SHA1, mój certyfikat zostanie podpisany za pomocą SHA1”. Zazwyczaj nie jest to robione. ( Jedyny znany mi urząd certyfikacyjny, który to robił przez pewien czas, to Gandi.net .)
Jak podpisać CSR za pomocą SHA256
To powiedziawszy, użyj tego -sha256
parametru, aby podpisać swój CSR za pomocą SHA256 w następujący sposób:
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 ”
Jak sprawdzić typ skrótu CSR
A oto, w jaki sposób można sprawdzić typ skrótu swojego CSR:
$ openssl req -in www.example.com.sha256.csr -noout -text | grep Signature
Signature Algorithm: sha256WithRSAEncryption
Dobrze. Używa SHA256 tak, jak chcieliśmy.