Como posso especificar a validade de um certificado em um arquivo de configuração OpenSSL?

3

Eu sou relativamente novo no OpenSSL e estou tentando especificar um certificado que é válido por apenas uma hora usando o OpenSSL. Eu obtive sucesso com openssl ca usando as opções -startdate e -enddate , mas eu queria saber se é possível definir a validade em um arquivo de configuração para uso com openssl req ? Em caso afirmativo, você poderia fornecer um exemplo?

Eu tentei usar uma sintaxe semelhante como:

privateKeyUsagePeriod = ASN1:SEQUENCE:privateKeyUsagePeriod

[privateKeyUsagePeriod]

notBefore = IMPLICIT:0,GENERALIZEDTIME:20170501000000Z

notAfter = IMPLICIT:0,GENERALIZEDTIME:22910501000000Z

Esta sintaxe parece não funcionar para a validade. Obrigado a todos antecipadamente por qualquer orientação que você possa me dar.

    
por Michael Tingey 09.05.2017 / 12:14

1 resposta

3

Primeiro, seu exemplo para PrivateKeyUsagePeriod está errado; notAfter deve ser marcado como 1 e não. Embora, como praticamente nenhum software jamais analise o PKUP, esse erro pode não importar.

Mais substantivamente, o PKUP é uma extensão e as extensões X509v3 usam uma estrutura OID + variada que requer que o OpenSSL permita basicamente qualquer tipo de ASN.1 para suportar futuras adições sem alteração de código. A validade faz parte da parte fixa (da v1) e é implementada por código específico, e não é do mesmo tipo (não marcada, não OPCIONAL e ESCOLHA {UTCTime, GeneralizedTime}).

Para openssl ca , você pode usar default_startdate e default_enddate na seção do arquivo de configuração nomeada por default_ca (não a nomeada por x509_extensions ) em vez das opções de linha de comando. Veja a página do manual em seu sistema ou na web em 'OPÇÕES DE ARQUIVO DE CONFIGURAÇÃO'.

Para outras operações de linha de comando, não há atualmente nenhum código que suporte isso; você pode escrever seus próprios aplicativos chamando a biblioteca, ou desde que OpenSSL é opensource apenas faça uma cópia e modifique-a.

    
por 16.05.2017 / 02:58

Tags