1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Requisitar certificado digital ao browser com tomcat

Estou usando tomcat7 com spring security, preciso fazer autenticação com certificados digitais. Segui os passos do spring security http://docs.spring.io/spring-security/site/docs/3.0.x/reference/x509.html, funcionou corretamente, mas as instruções são para certificados A1, baseados em software. O que preciso fazer é autenticar um cliente que utilize ecpf, um certificado A3. O problema ocorre durante o handshake, o browser reconhece o certificado do servidor, mas não oferece ao cliente a tela para escolher o certificado (e digitar o PIN). Segue parte de meu server.xml:

<Connector protocol="HTTP/1.1"
port="8443" SSLEnabled="true"
maxThreads="150"  
acceptCount="100" scheme="https" secure="true"
clientAuth="true"  
sslProtocol="TLS"    
keystoreFile="/home/gileno/auth/ca/server.keystore"
keystorePass="123456"
truststoreFile="/home/gileno/auth/ca/server.truststore"
truststorePass="123456" />

O erro retornado segue abaixo:

"http-bio-8443"-exec-2, SEND TLSv1 ALERT:  fatal, description = bad_certificate
"http-bio-8443"-exec-2, WRITE: TLSv1 Alert, length = 2
"http-bio-8443"-exec-2, called closeSocket()
"http-bio-8443"-exec-2, handling exception: javax.net.ssl.SSLHandshakeException: null cert chain
"http-bio-8443"-exec-2, IOException in getSession():  javax.net.ssl.SSLHandshakeException: null cert chain
"http-bio-8443"-exec-2, called close()
"http-bio-8443"-exec-2, called closeInternal(true)

O tomcat está em um server ubuntu e tenho testado o cliente em windows 7 e xp (Explorer e Chrome).

  • Foi adicionada a cadeia de confiança do ecpf no truststore (/home/gileno/auth/ca/server.truststore)?

    Victor Maehira   20 de mai de 2014
  • Victor, valeu pela ajuda. Esse era o problema, estava usando a cadeia de versão errada, coloquei a correta e funcionou.

    sigma2k   20 de mai de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags tomcat ssl ou faça a sua própria pergunta.