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.