Como posso usar um certificado SSL gerado com o keytool Java com o Nginx?

3

Eu usei o keytool Java para gerar um "keystore":

keytool -genkey -alias example.com -keyalg RSA -keystore example.com.keystore

Em seguida, gerou um CSR (Certificate Signing Request):

keytool -certreq -keyalg RSA -alias example.com -file example.com.csr
-keystore example.com.keystore

Em seguida, emiti um certificado e salvei-o em um arquivo de texto example.com.crt

Agora quero usar este certificado com o Nginx.

Eu coloquei meu certificado em /etc/ssl/certs/example.com.cert e eu coloquei meu "keystore" (acho que ele contém minha chave privada?) em /etc/ssl/private/example.com.keystore

Depois eu configurei meu Nginx seguindo Nginx, SSL e vhosts . Mas quando eu recarregar o arquivo de configuração Nginx eu recebo esta mensagem de erro:

sudo service nginx reload
Reloading nginx configuration: [emerg]: SSL_CTX_use_certificate_chain_file("/etc/ssl/certs/myssl.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib)
configuration file /etc/nginx/nginx.conf test failed

Quando segui o mesmo guia e gerou um certificado SSL usando openssl , funcionou bem. Mas usando o Java keytool eu recebo este erro.

Como posso usar um certificado SSL e chaves do keytool Java com o Nginx?

    
por Jonas 13.05.2011 / 12:41

1 resposta

2

Você não pode usar um armazenamento de chaves com praticamente nada que não esteja escrito em Java, até onde eu sei. Também não é possível extrair a chave com keytool .

Eu recomendaria usar algo como link ou as easy-rsa -tools incluídas no OpenVPN para gerar uma nova combinação de chave / certificado, que por padrão será gerada em um formato legível por nginx.

Se for importante extrair a chave do keystore, há um guia no link sobre como extrair isso.

    
por 27.05.2011 / 20:38