Jeden z naszych partnerów biznesowych prosi nas o użycie certyfikatu TLS SHA256 do łączenia się z ich interfejsami API. Nie jestem pewien, jak wygenerować te żądania. W przeszłości używałem openssl do tworzenia tych żądań, ale wygenerował on certyfikat SSL przy użyciu SHa1. Czy mogę użyć openssl do wygenerowania tego żądania? Jeśli nie, jak wygenerować to, o co proszą?
Nie jestem ekspertem w tej dziedzinie, więc nawet nie wiem, czy to, o co pytam, ma sens.
Odpowiedzi:
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:Jak sprawdzić typ skrótu CSR
A oto, w jaki sposób można sprawdzić typ skrótu swojego CSR:
Dobrze. Używa SHA256 tak, jak chcieliśmy.
źródło
Jeśli korzystasz z OpenSSL, możesz po prostu dodać
-sha256
opcję wiersza poleceń, która wygeneruje CSR z algorytmem podpisu SHA-256.źródło