1

Я создаю три уровня сертификатов, а именно, Root-> A-> B. A подписан root, а B подписан A. Сертификаты создаются с помощью утилиты командной строки OpenSSL для Windows. Сертификаты созданы успешно, и я установил их в Win7.Теперь проблема с сертификатом «B». Прикрепление скриншотов

Я следую инструкциям, приведенным в блоге ниже, о том, как создать корня и подчиненного и получить подпись, подписанную корнем.

blog.didierstevens.com/2015/03/30/howto-make-your-own-cert-with-openssl-on-windows/.

Может ли кто-нибудь помочь мне с тем, что я делаю неправильно? В основном я пытаюсь создать цепочку сертификатов и перейти к корневому сертификату с указанием любого промежуточного звена.

1 ответ1

0

В файле конфигурации OpenSSL, который вы использовали для запроса CA A , вы должны иметь basicConstraints как показано ниже:

[req]
prompt = no
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
organizationalUnitName  = Test Certificate Authority
commonName = Test Subordinate CA

[ v3_req ]
basicConstraints = critical; CA:TRUE

То же самое относится и к Root. Вы не должны устанавливать его в запросе B

В качестве альтернативы файл конфигурации OpenSSL, который вы использовали для Root при подписании самого себя и CA A должен иметь:

[ ca ]
default_ca      = CA_default

[ CA_default ]
x509_extensions = x509_ext

[ x509_ext ]
basicConstraints = critical; CA:TRUE

Больше информации о CA:TRUE можно почерпнуть из документации OpenSSL и из RFC 5280, раздел 4.2.1.9.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .