Mam certyfikat do podpisywania kodu z StartCom (StartSSL). Jestem bardzo zadowolony z ich obsługi: obsługa klienta jest bardzo szybka, a ceny są bardzo rozsądne.
Uzyskanie certyfikatu do podpisywania kodu
Uzyskanie certyfikatu do podpisywania kodu wymaga weryfikacji tożsamości klasy 2 . StartCom przeprowadzi Cię przez cały proces (z doskonałymi wskaźnikami odpowiedzi, z mojego doświadczenia zwykle w ciągu dziesięciu minut).
Jeśli chcesz uzyskać szczegółowe informacje od razu, przeczytaj ten wpis na blogu . Zostałem zweryfikowany w ciągu godziny (za opłatą 59,90 $, przez Paypal).
Po weryfikacji wygeneruj nowy klucz prywatny i żądanie podpisania certyfikatu (CSR). Zauważ, że wszystkie pola z wyjątkiem klucza publicznego są ignorowane . Wszystkie informacje zawarte w certyfikacie są wywnioskowane z informacji podanych podczas weryfikacji tożsamości, a nie z Twojego CSR .
Prześlij to przez interfejs sieciowy, a szybko otrzymasz nowy certyfikat ważny przez dwa lata (mój otrzymałem w ciągu godziny).
Problem: OID podpisywania na całe życie
Certyfikaty klasy 2 firmy StartCom mają ustawiony identyfikator Lifetime Signing OID. Z tego powodu podpis podpisanego kodu straci ważność po wygaśnięciu certyfikatu, nawet jeśli jest oznaczony znacznikiem czasu.
Kiedy zapytałem Eddy'ego Nigga (COO / CTO w StartCom) o powód tego OID, odpowiedział:
Wymaga od nas, aby listy CRL działały przez okres do 20 lat po wygaśnięciu certyfikatów. To jest coś, co możemy zrobić dla certyfikatów na poziomie EV (dużo mniejszy wolumen, różne warunki płatności), ale podniosłoby to cenę dla klasy 2 tylko dla tej korzyści (gdzie podpisywanie kodu jest tylko częścią opcji na tym poziomie).
Dlatego oznaczanie czasu jest dostępne tylko po rozszerzonej walidacji (EV), która jest dostępna tylko dla legalnie działających organizacji i kosztuje 199,90 $. Dlatego indywidualni programiści nie mogą używać znaczników czasu z certyfikatem do podpisywania kodu z StartCom .
Przez długi czas uważałem to ograniczenie za duży problem. Ostatnio zmieniłem zdanie: zdarza się to tylko raz na dwa lata, użytkownicy zorientowani na bezpieczeństwo mogą być bardziej skłonni do pobrania najnowszej wersji mojego oprogramowania, a stare wersje oprogramowania nadal będą działać (dla tych, którzy chcą z niego korzystać; choć bez weryfikowanego podpisu).
Uwaga: zawsze oznaczaj swój kod sygnaturą czasową, nawet jeśli flaga podpisywania dożywotniego jest ustawiona ! Podpisy z datownikiem pozostaną ważne do daty wygaśnięcia certyfikatu, nawet jeśli certyfikat został unieważniony (oczywiście tylko wtedy, gdy podpis został złożony przed unieważnieniem certyfikatu).
Praktyczne wykorzystanie certyfikatu
W StartCom płacisz tylko za walidację. Weryfikacja tożsamości jest ważna przez 350 dni iw tym okresie możesz bezpłatnie zażądać certyfikatów do podpisywania kodu. Możesz mieć tylko jeden ważny certyfikat podpisujący kod i można go użyć do podpisania dowolnego kodu (MSI, DLL, XPI, ...), ale nie kodu sterownika (wymaga to EV).
Aby zmienić atrybut na certyfikacie, poprzedni certyfikat musi zostać unieważniony i zażądany nowy. Cofnięcie certyfikatu kosztuje 29,90 $. Chociaż dzień po otrzymaniu certyfikatu do podpisywania kodu zmieniłem adres e-mail, wyjątkowo unieważnili mój certyfikat bez opłaty (byłem pozytywnie zaskoczony)!
Wygaśnięcie
Kiedy Twój certyfikat wkrótce wygaśnie (po prawie dwóch latach), otrzymasz powiadomienie (z dwutygodniowym wyprzedzeniem). Jeśli Twoja zweryfikowana tożsamość jest nadal ważna (pamiętaj, że walidacja wygasa po 350 dniach; wtedy musisz ponownie potwierdzić swoją tożsamość za 59,90 $), możesz poprosić o nowy certyfikat bez unieważniania poprzedniego. Nie zapomnij opublikować nowej wersji oprogramowania, która jest podpisana tym nowym certyfikatem do podpisywania kodu, ponieważ w poprzednich wersjach wkrótce będzie wyświetlany komunikat „(niezweryfikowany)” lub coś podobnego.
OCSP
Kiedy otrzymałem certyfikat, podpisałem dodatek do Firefoksa. Jednak nadal wyświetlał się komunikat „(Autor niezweryfikowany)”, mimo że mój plik XPI został poprawnie podpisany. Okazało się, że Firefox nie uzyskał aktualnego statusu certyfikatu, gdy odpytywał serwery OCSP StartCom o stan odwołania mojego nowego certyfikatu. prawdopodobnie odpowiedni temat na forum
Po około pół dniu mój certyfikat był znany serwerom OCSP, a moje imię i nazwisko pojawiło się zgodnie z oczekiwaniami. Wyciągnięta lekcja: po otrzymaniu nowego certyfikatu zaczekaj około jednego dnia, zanim opublikujesz oprogramowanie z nowym podpisem.