2013-08-08 18 views

Odpowiedz

16

Tak, z technicznego punktu widzenia można użyć tego samego żądania podpisania certyfikatu w celu utworzenia wielu certyfikatów dla wielu firm, co oczywiste, żądanie certyfikatu musi zostać przesłane z właściwego konta programisty.

CSR zawiera w rzeczywistości klucz publiczny wnioskodawcy, który będzie używany przez urząd certyfikacji (w tym przypadku Apple) do utworzenia żądanego certyfikatu. Można zobaczyć jej zawartość za pomocą polecenia openssl:

 
openssl req -text -noout -verify -in CertificateSigningRequest.certSigningRequest 

Ale jako użytkownik prawidłowo zauważył w komentarzu, wszystkie certyfikaty będą powiązane z tym samym kluczem prywatnym (publiczna/para klucz prywatny jest w rzeczywistości regenerowany za każdym razem, gdy tworzysz CSR), a to może doprowadzić do zmniejszenia bezpieczeństwa, jeśli maszyna żądająca certyfikatu zostanie naruszona. Niektóre usługi wymagają unikalnego CSR dla każdego generowania certyfikatu, ale w chwili obecnej nie jest to egzekwowane przez firmę Apple, która pozwala na ponowne użycie tego samego CSR. Ta separacja CSR jest szczególnie przydatna do tworzenia certyfikatów dystrybucji i certyfikatów produkcji APNS.

+0

Świetnie. Dziękuję Ci. – EmptyStack

+4

Tak, możesz to zrobić, ale celowo przełamujesz jedną z wielu warstw mechanizmów bezpieczeństwa chroniących sygnaturę kodu. Pary kluczy są generowane tylko podczas konstruowania CSR, a nie za każdym razem, gdy przesyłasz CSR do Apple, więc każda firma kończy pracę, używając tej samej pary kluczy, która narusza podział na PKI. Poświęć dodatkowe 30 sekund i zregeneruj parę kluczy za każdym razem, gdy poprosisz o nowy certyfikat; Twoi klienci będą Ci wdzięczni za złamanie zabezpieczeń maszyny roboczej i ponowne wystawienie certyfikatów dla wszystkich klientów. –

+0

Świetne wyjaśnienie. Dziękuję Ci. –

Powiązane problemy