Я хотів би встановити власний OCSP Responder (лише для тестування). Для цього потрібно мати кореневий сертифікат і кілька сертифікатів, згенерованих з нього.
Мені вдалося створити самопідписаний сертифікат за допомогою openssl. Я хочу використовувати його як кореневий сертифікат. Наступним кроком буде створення похідних сертифікатів. Я, здається, не можу знайти документацію, як це зробити. Хтось знає, де я можу знайти цю інформацію?
Редагувати
Ретроспективно, на моє запитання ще не повністю відповіли. Для уточнення проблеми я представляю такий свій ланцюжок сертифікатів:
КОРИНИ -> А -> В -> С -> ...
Наразі я можу створити сертифікати ROOT та A, але я не дізнався, як зробити довший ланцюжок.
Моя команда для створення кореневого сертифіката:
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
Сертифікат A створюється так:
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.cer
Ця команда неявно залежить від кореневого сертифіката, для якого він знаходить необхідну інформацію у файлі конфігурації openssl.
Однак сертифікат B повинен покладатися лише на A, який не зареєстрований у конфігураційному файлі, тому попередня команда тут не працюватиме.
Який командний рядок потрібно використовувати для створення сертифікатів B і вище?
Редагувати
Я знайшов відповідь у цій статті . Сертифікат B (ланцюг 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
Я також змінив файл openssl.cnf:
[ usr_cert ]
basicConstraints=CA:TRUE # prev value was FALSE
Цей підхід, здається, працює добре.