Problema na criação de cadeia de certificados de vários níveis usando o OpenSSL

1

Estou criando três níveis de certificados, a saber, Root- > A- > B. A é assinado por root e B é assinado por A. Os certificados são gerados usando o utilitário de linha de comando OpenSSL para Windows. Os certificados são criados com sucesso e eu os instalei no Win7.Now o problema é com o Certificado 'B'. Anexando as capturas de tela

Estou seguindo as etapas fornecidas no blog abaixo sobre como criar uma raiz e subordinar e obter o subordinado assinado pela raiz -

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

Alguém pode me ajudar com o que estou fazendo de errado? Basicamente eu estou tentando criar cadeia de certificados e navegar para o certificado raiz dado qualquer intermediário.

    
por user1242010 04.01.2016 / 12:23

1 resposta

0

No arquivo de configuração do OpenSSL que você usou para a solicitação do CA A , você deve ter um basicConstraints como mostrado abaixo:

[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

O mesmo vale para o Root. Você não deve defini-lo na solicitação de B .

Como alternativa, o arquivo de configuração do OpenSSL que você usou para Root ao assinar a si mesmo e o CA A deve ter:

[ ca ]
default_ca      = CA_default

[ CA_default ]
x509_extensions = x509_ext

[ x509_ext ]
basicConstraints = critical; CA:TRUE

Mais informações sobre CA:TRUE podem ser obtidas da documentação do OpenSSL e de RFC 5280 seção 4.2.1.9

    
por 28.01.2016 / 14:47