Pergunta

Estou tentando configurar um servidor Tomcat com SSL. Eu gerei um teclado assim:

$ keytool -genkeypair -alias tomcat -keyalg RSA -keystore keys

Em seguida, gero uma solicitação de assinatura de certificado:

$ keytool -certreq -keyalg RSA -alias tomcat -keystore keys -file tomcat.csr

Então copio colo o conteúdo de tomcat.csr em um formulário no site da Thawte, solicitando um certificado SSL de teste. Em troca, recebo dois certificados delimitados com -----BEGIN ... -----END, que eu salvo sob tomcat.crt e thawte.crt. (Thawte chama o segundo certificado de certificado de "Teste de Teste Ca").

Quando tento importar qualquer um deles, falha:

$ keytool -importcert -alias tomcat -file tomcat.crt -keystore keys
Enter keystore password:
keytool error: java.lang.Exception: Failed to establish chain from reply

$ keytool -importcert -alias thawte -file thawtetest.crt -keystore keys
Enter keystore password:
keytool error: java.lang.Exception: Input not an X.509 certificate

Adicionando o -trustcacerts A opção para qualquer um desses comandos também não muda nada.

Alguma ideia do que estou fazendo de errado aqui?

Foi útil?

Solução

Eu finalmente entendi o que estava acontecendo aqui. Acontece que as respostas que recebi de Thawte são formatadas como PKCs#7, enquanto keytool espera certificado no formato X.509.

openssl pode ser usado para converter certificados de um formato para outro:

$ openssl pkcs7 -in thawtetest.crt -print_certs |
  openssl x509 > thawtetest.x509

Agora você pode importar thawtetest.x509 com Keytool, e tomcat.crt logo atrás dele.

Outras dicas

Você poderá importar cadeias PKCS#7 usando o Keytool, desde que esteja usando uma versão mais recente. Exportar os certificados para arquivos distintos também funcionará, mas se você estiver executando uma versão recente do Keytool, não deve haver problema em importar o próprio arquivo PKCS#7.

Tendo encontrado o mesmo problema que encontrei esta postagem o que me ajudou. Coloquei os certificados de teste que recebi em um único arquivo e usei o keytool para importar a criação Claro que o alias (Keytool -alias param) que usei foi diferente (ou seja, não é o mesmo alias que usei ao criar os certificados para a solicitação). É uma mensagem de erro bizarra, uma vez que simplesmente não gosta de você tentar importar para o mesmo alias.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top