Originalmente, o arquivo de configuração só era necessário e especificável explicitamente, para req
e ca
, devido aos parâmetros relativamente complicados necessários para solicitação e emissão de cert. ts
adicionado em 1.0.0 fez o mesmo, e srp
adicionado em 1.0.2 (mas não documentado) faz isso sem nenhuma razão óbvia para mim, talvez apenas moda. x509
originalmente era sobre exibição de dados, o que geralmente não precisa de configuração (veja abaixo); alguns recursos mínimos semelhantes a CA foram adicionados ao longo do tempo e (somente) usam um arquivo no formato de configuração para extensões; isso é identificado por -extfile
e deve ser explícito .
No entanto, desde aproximadamente 0.9.8 (mais para trás do que posso verificar convenientemente), houve um conceito de configuração automática para subcomandos de linha de comando e também aplicativos usando libcrypto, mesmo aqueles que não tem itens de configuração específicos da operação ou específicos do programa. Isso é descrito na configuração da página man (5) em seu sistema Unixy com o OpenSSL instalado corretamente, ou na web e é afetado pelo envvar OPENSSL_CONF
.
Tudo começou com a configuração de OIDs personalizados que poderiam ser aplicados em x509
, e configurações do ENGINE que podem ser usados se você usar uma chave de hardware (para assinar) ou GOST (em absoluto). O modo FIPS padrão (em aplicativos não codificados) foi adicionado em meados de 1.0.1 e as configurações (ou padrões) para SSL / TLS em 1.1.0.