Я пытаюсь создать самоподписанный корневой сертификат, сертификат промежуточного и конечного пользователя, но по какой-то причине я могу только проверить промежуточный сертификат, полная цепочка завершается неудачей.
Это команды, которые я 'm для создания сертификатов:
mkdir root interm end
# Root CA:
openssl ecparam -out root/privatekey.pem -name prime256v1 -genkey
openssl req -new -x509 -days 365 -key root/privatekey.pem -out root/certificate.pem -sha256
# Intermediate
openssl ecparam -out interm/privatekey.pem -name prime256v1 -genkey
openssl req -new -key interm/privatekey.pem -out interm/request.csr -sha256
openssl x509 -req -days 365 -in interm/request.csr -CA root/certificate.pem -CAkey root/privatekey.pem -out interm/certificate.pem -sha256 -CAcreateserial
# End user
openssl ecparam -out end/privatekey.pem -name prime256v1 -genkey
openssl req -new -key end/privatekey.pem -out end/request.csr -sha256
openssl x509 -req -days 365 -in end/request.csr -CA interm/certificate.pem -CAkey interm/privatekey.pem -out end/certificate.pem -sha256 -CAcreateserial
Теперь проверка промежуточного сертификата с корневым сертификатом проходит хорошо:
openssl verify -CAfile root/certificate.pem interm/certificate.pem
interm/certificate.pem: OK
Но когда я пытаюсь проверить конечный сертификат, он терпит неудачу:
openssl verify -CAfile root/certificate.pem -untrusted interm/certificate.pem end/certificate.pem
error 24 at 1 depth lookup: invalid CA certificate
error end/certificate.pem: verification failed
Я неправильно создаю сертификаты?Я попытался добавить -verbose, но вывод остался прежним, не уверен, почему он говорит, что сертификат CA недействителен, он самопроверка ok:
openssl verify -CAfile root/certificate.pem root/certificate.pem
root/certificate.pem: OK