Chciałbym skonfigurować własny obiekt odpowiadający OCSP (tylko do celów testowych). Wymaga to posiadania certyfikatu głównego i kilku certyfikatów z niego wygenerowanych.
Udało mi się utworzyć samopodpisany certyfikat za pomocą openssl. Chcę go użyć jako certyfikatu głównego. Następnym krokiem byłoby utworzenie pochodnych certyfikatów. Nie mogę jednak znaleźć dokumentacji, jak to zrobić. Czy ktoś wie, gdzie mogę znaleźć te informacje?
Edytuj
Z perspektywy czasu moje pytanie nie jest jeszcze w pełni wyczerpane. Aby wyjaśnić problem, przedstawię mój łańcuch certyfikatów w następujący sposób:
ROOT -> A -> B -> C -> ...
Obecnie jestem w stanie utworzyć certyfikaty ROOT i A, ale nie dowiedziałem się, jak zrobić dłuższy łańcuch.
Moje polecenie utworzenia certyfikatu głównego to:
openssl req -new -newkey rsa:1024 -nodes -out ca.csr -keyout ca.key
openssl x509 -trustout -signkey ca.key -days 365 -req -in ca.csr -out ca.pem
Certyfikat A jest tworzony w następujący sposób:
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.cer
To polecenie domyślnie zależy od certyfikatu głównego, dla którego znajduje wymagane informacje w pliku konfiguracyjnym openssl.
Certyfikat B musi jednak polegać tylko na A, który nie jest zarejestrowany w pliku konfiguracyjnym, więc poprzednie polecenie nie będzie tutaj działać.
Jakiego wiersza poleceń należy używać do tworzenia certyfikatów B i późniejszych?
Edytuj
Znalazłem odpowiedź w tym artykule . Za pomocą tych dwóch poleceń można utworzyć certyfikat B (łańcuch A -> B):
# Create a certificate request
openssl req -new -keyout B.key -out B.request -days 365
# Create and sign the certificate
openssl ca -policy policy_anything -keyfile A.key -cert A.pem -out B.pem -infiles B.request
Zmieniłem również plik openssl.cnf:
[ usr_cert ]
basicConstraints=CA:TRUE # prev value was FALSE
To podejście wydaje się działać dobrze.