Estou usando o openssl no Mac OS X 10.9 para gerar um certificado autoassinado para os Serviços de Área de Trabalho Remota do Windows Server.
Usando o comando abaixo, posso gerar o certificado,
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout myserver.key -out myserver.crt
No entanto, preciso adicionar uma string de uso de chave estendida, Server Authentication (1.3.6.1.5.5.7.3.1), e não consigo descobrir como fazer isso no comando acima.
Eu tentei usar a opção openssl -extfile com um arquivo contendo isso,
[= default ]
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
No entanto, recebo um erro que "a opção -extfile não foi encontrada"
Respostas:
Enquanto
openssl x509
usa-extfile
, o comando que você está usandoopenssl req
, precisa-config
especificar o arquivo de configuração.Portanto, você pode usar um comando como este:
Os prompts usuais para os bits de nome distinto são definidos no arquivo de configuração padrão (que provavelmente está
/System/Library/OpenSSL/openssl.cnf
no OS X), mas esse arquivo não é processado quando você usa-config
, portanto, seu arquivo de configuração também deve incluir alguns bits DN. Assim, o acima mencionadocert_config
pode ser algo como isto:Conforme indicado no comentário, você provavelmente pode deixar de fora a maioria dos campos DN. Para o uso de HTTPS, acho que tudo o que você precisa é de uma CN que corresponda ao seu nome de host.
A seção Nome distinto e Formato da seção de atributo do req (1) mostra como você pode modificar a configuração acima para solicitar valores (e fornecer valores padrão) se desejar gerar vários certificados / solicitações semelhantes.
Se você precisar de outras extensões de certificado, verifique em x509v3_config (5) quais outros bits você pode especificar nas seções de extensão.
fonte