Certificado autoassinado com CRL DP? Isso é possível?

1

Estou acostumado a criar certificados auto-assinados para uso local via:

openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out  certificate.pem
openssl pkcs12 -inkey key.pem -in certificate.pem -export -out certificate.p12

Hoje, após uma longa reunião, fui solicitado a criar um certificado auto-assinado padrão com um ponto de distribuição CLR sem raiz ca. Eu sempre criei certificados com um DP de CRL com base na CA. Como você geraria uma CRL depois de criar um certificado autoassinado sem CA? Isso é possível?

    
por user156514 07.11.2017 / 23:28

1 resposta

4

Ao assinar seu certificado, use a opção extfile , na qual você deve especificar um arquivo contendo algo como o seguinte:

crlDistributionPoints=URI:http://example.com/crl.pem

Para obter isso, em vez de criar um certificado diretamente com o openssl, crie um csr (use a opção -new com openssl req ) e a chave e gere o certificado seguindo este exemplo (usando seus próprios nomes de arquivos e parâmetros, se desejado):

openssl x509 -req -in cert.csr -out cert.pem -signkey key.pem -extfile crlfile.ext

Você pode verificar o resultado final com:

openssl x509 -in cert.pem -noout -text

Como observação, isso não faz sentido para melhorar a segurança. Essa CRL precisaria ser assinada com a mesma chave do certificado, de modo que, se a chave fosse comprometida, um novo, limpo, crl poderia ser criado e considerado válido a partir da mesma chave comprometida.

Para criar uma CRL com o openssl, você deve usar suas funções de CA, conforme descrito aqui . A diferença seria que a chave da CA seria sua chave de certificação e o certificado revogado seria o próprio certificado. Como você pode ver, isso não deveria funcionar dessa maneira, mesmo se você acabar com um certificado autoassinado com um CDP e um crl "válido" que está, na verdade, se invalidando revogando o certificado que o assinou.

    
por 08.11.2017 / 02:12