Chcę skonfigurować korporacyjny urząd certyfikacji dla mojej domeny. Mogę więc wystawiać certyfikaty do różnych celów. Chciałbym postępować zgodnie z najlepszą praktyką posiadania offline urzędu certyfikacji jako głównego i skonfigurować mój korporacyjny urząd certyfikacji jako podwładnego. Ale głupio wydaje się licencjonowanie pełnej kopii systemu Windows do tego zadania.
Mam nadzieję, że uda mi się zainstalować dystrybucję na żywo na dysku flash USB, a następnie zainstalować openssl i skonfigurować mój urząd certyfikacji na dysku flash. Kiedy będę gotowy do zbudowania klucza / certyfikatu root, odłączę komputer od sieci, a następnie nigdy nie użyję tego dysku USB na komputerze podłączonym do sieci.
Czy będę w stanie poprawnie podpisać i utworzyć certyfikat podrzędnego urzędu certyfikacji dla urzędu certyfikacji przedsiębiorstwa Windows, który będzie użyteczny. Jakich opcji muszę używać z OpenSSL, aby zbudować urząd certyfikacji i poprawnie podpisać certyfikat podrzędnego urzędu certyfikacji.
Próbowałem przeszukać sieć i to była jedyna rzecz, jaką mogłem znaleźć na ten temat. Ale poprzedza rok 2008 i nie jestem do końca pewien, czy ta osoba odnosiła sukcesy.
źródło
Odpowiedzi:
Tak, działa dobrze; urząd certyfikacji systemu Windows nie ma żadnych wątpliwości co do działania jako jednostka podrzędna w stosunku do katalogu głównego innego niż Windows.
Przetestowano przy użyciu katalogu głównego OpenSSL i podwładnego systemu Windows 2008 R2 w trybie Enterprise.
Kilka rzeczy do zabawy z tym, czego oczekuje MS CA w konfiguracji OpenSSL:
Prawidłowe lokalizacje AIA i CDP powinny mieć zastosowanie do certyfikatu głównego w sekcji skonfigurowanej przez
x509_extensions
właściwość[req]
sekcji dla roota z podpisem własnym. Coś w tym stylu:Dana konfiguracja OpenSSL prawdopodobnie domyślnie nie pozwala na podrzędne urzędy certyfikacji. Zmień to w przypadku podpisanych żądań (oczywiście upewnij się, że nie ma tego w przypadku żądań, które nie powinny być urzędami certyfikacji). Będzie to w sekcji skonfigurowanej przez
x509_extensions
właściwość[ca]
sekcji:Zrobimy więc urząd certyfikacji w celu przetestowania.
Zrób swój root:
Postępuj zgodnie ze swoją konfiguracją i utwórz niezbędne pliki i katalogi w
[ca]
sekcji swojej konfiguracji OpenSSL.Wszystko gotowe, aby wszystko działało po stronie Microsoftu; utwórz podrzędny urząd certyfikacji systemu Windows z ręcznym podpisywaniem.
Prześlij żądanie certyfikatu na serwer OpenSSL. W tym momencie pobierz certyfikat główny. Zaimportuj go do zaufanego katalogu głównego - komputera, a nie użytkownika!
Wystaw certyfikat podrzędny:
Jeśli to nie zadziałało, prawdopodobnie urząd certyfikacji ma problem z katalogiem config - new certs, plikiem indeksu, plikiem szeregowym itp. Sprawdź komunikat o błędzie.
Jeśli poszło, to o to chodzi. Jeśli nie, zrób listę CRL i umieść ją w CDP, który skonfigurowałeś powyżej; Właśnie zainstalowałem Apache i zablokowałem go w katalogu głównym:
I umieść swój certyfikat w lokalizacji AIA, jeśli jeszcze nie jest:
Pobierz nowo wydany certyfikat podrzędny i zainstaluj go w urzędzie certyfikacji za pomocą przystawki MMC urzędu certyfikacji. Zajmie się wszelkimi kwestiami związanymi z zaufaniem lub potwierdzeniem, ale nie ma moralnego sprzeciwu wobec tego.
Wynik końcowy; działający urząd certyfikacji systemu Windows bez żadnych skarg ze strony przystawki Enterprise PKI, z charakterystycznym
OpenSSL Generated Certificate
atrybutem.źródło
Rozumiem, do czego zmierzasz, ale nie sądzę, że OpenSSL jest całkiem odpowiednim narzędziem do tego zadania. Możesz przyjrzeć się projektom Open Source Certificate Authority, takim jak EJBCA, które są bardziej skoncentrowane na tej funkcjonalności niż OpenSSL i mają określoną dokumentację, z której możesz skorzystać.
Nie widzę powodu, dla którego koncepcja nie zadziałałaby, ponieważ wszystko, co robisz, to podpisywanie certyfikatu podległego urzędu certyfikacji. Jeśli płacisz za to publicznemu urzędowi certyfikacji, niekoniecznie będziesz wiedzieć, czy dbasz o smak używanego serwera.
Wszystko, o co musisz dbać, to:
Nie mogę powiedzieć, że to zrobiłem, ale jestem pewien, że jeśli postępujesz zgodnie z dokumentami dotyczącymi generowania CSR z okna systemu Windows, a następnie postępujesz zgodnie z dokumentami urzędu certyfikacji w celu generowania certyfikatu .p7k z CSR, to powinno być w porządku.
Nawiasem mówiąc - zalecam utworzenie urzędu certyfikacji jako maszyny wirtualnej dla popularnego hiperwizora, takiego jak Hyper-V lub VMware, zamiast dysku rozruchowego, upewnij się, że przechowujesz go bardzo bezpiecznie w miejscu, w którym może go znaleźć następca, i zakręć nim okresowo offline, aby upewnić się, że działa, lub przenieś go na nowe media / technologię. Główny urząd certyfikacji może mieć życie 10 lub 20 lat ...
źródło