Fui eu mesmo que escrevi depois de muita luta… 1 dia e 1/2 tentando fazer isso ai. e discobrir que não existe material em portugues, e o tutorial que tem no site do tomcat tem umas gafes…
Tentei usar o exmplo mas sem sucesso.
O que me acontece é que depois de seguir todos os passos até à parte do conector acontece-me o mesmo que acontecia quando usei o que estava no site do tomcat sobre como configurar o ssl.
Quando faço https://localhost:8443 a página fica a tentar abrir durante algum tempo e depois dá erro a dizer que nao pode apresentar a página.
Já ando à imenso tempo de volta disto e nao consigo colocar a funcionar de maneira nenhuma.
INFO: Starting Coyote HTTP/1.1 on http-8080
14/06/2006 17:00:07 org.apache.coyote.http11.Http11Protocol start
SEVERE: Error starting endpoint
java.io.IOException: Cannot recover key
at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14SocketFactory.java:127)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:88)
at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:259)
at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:281)
at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:171)
at org.apache.coyote.tomcat5.CoyoteConnector.start(CoyoteConnector.java:1527)
at org.apache.catalina.core.StandardService.start(StandardService.java:489)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
14/06/2006 17:00:07 org.apache.catalina.startup.Catalina start
SEVERE: Catalina.start:
LifecycleException: Protocol handler start failed: java.io.IOException: Cannot recover key
at org.apache.coyote.tomcat5.CoyoteConnector.start(CoyoteConnector.java:1529)
at org.apache.catalina.core.StandardService.start(StandardService.java:489)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
14/06/2006 17:00:07 org.apache.catalina.startup.Catalina start
INFO: Server startup in 7531 ms
Boa noite,
Estou desenvolvendo uma aplicação JFS com Eclipse, JDK 1.5 e TOMCAT 5.5. Gostaria de rodá-la sob SSL, porém ao executar minha aplicação https://localhost:8443/gerenciador/index.jsf, depois de alguns segundos é retornado página não encontrada. Sem o módo de seguraça a aplicação roda sem problemas. Segui e revisei todos os passos sugeridos aqui, no how-to do próprio site do TOMCAT e chequei também as variáveis de ambiente. Nos logs do TOMCAT não consta nenhum erro. Alguma sugestão de algo que eu possa verificar?
Gerei um certificado com a keytool, seguindo todos os passos, mas nao deu certo o eskema, apareceu uma msg no browser avisando que o certificado era invalido ou corrompido e nao fungou…
Essa configuração não funciona , quando tento acessar https://localhost:8443/
página não é carregada, logo a conexão é perdida.Não estou desmerecendo
quem o escreveu ,na minha opinião, o artigo é muito bom porém não está funcionando ou está faltando algum parâmetro na configuração …
mark_domi, nesse seu exemplo, depois q vc faz o loguin, a sua aplicação continua usando o protocolo https?
Pq no meu caso eu queria q depois do login voltasse ao http. nao teria uma configuração pra fazer as requisições de um determinado contexto serem acessadas por http? ou seja fazer o caminho inverso https --> http.
mesmo após instalar o openssl,ainda está sendo apresentada a mensagem de certificado inválido,como mostro em anexo.
Há alguma configuração que precise ser feita além das mostradas no texto?
Atenciosamente,
Rafael Roque
ITIL Foundations Certified
Sun Certified Enterprise Architect for Java 2 Enterprise Edition(I)
Sun Certified Web Component Developer for Java 2 Enterprise Edition
Sun Certified Programmer for Java 2 Platform Edition
Em resumo, o problema eh que o password para a ssl key tem que ser identico ao passoword para o keystore.
EXEMPLO:
keytool -genkey -alias certif -keyalg DSA -keypass 123456 -store pass 123456 -keystore C:/cert.jks -dname “cn=NNN, ou=MM, o=WW, l=XX, S=YY, c=ZZ” -validity 365
Perceba que ambos sao 123456…
Pra quem ta com preguica de ir ao site… ta ae:
What’s going wrong?
This has to do with the password used for the SSL private key.
There is a restriction in the Tomcat server that the password for
the SSL key must be identical to the password for the keystore.
(This restriction is currently not mentioned in the Installation
and Configuration Guide.)
You can fix this by changing the password of your SSL key using
the ‘keytool’ command line tool. At the command prompt change
to the keystore directory (by default this is the Ponton X/P installation
directory) and type the following:
mesmo após instalar o openssl,ainda está sendo apresentada a mensagem de certificado inválido,como mostro em anexo.
Há alguma configuração que precise ser feita além das mostradas no texto?
[/quote]
Isso quer dizer que você está usando um certificado que não foi emitido por uma autoridade certificadora que está instalada como “confiável” no browser (como a Verisign, Certisign, etc.) Esse erro é esperado mas é incômodo; só lhe lembra que você tem de solicitar um certificado para seu site, comprá-lo e instalá-lo (no Tomcat, solicitar um certificado e instalar é meio complicado porque você tem de fazer tudo com o keytool. No caso do Sun Java Application Server, WebSphere etc., por exemplo, isso já tem uma interface via browser para fazer essa solicitação e instalação. ).
Pessoal, para quem não conseguiu acertar a configuração, isso vai depender da versão do tomcat e da classe utilizada para comunicação https, para funcionar na versão do tomcat que estou usando foi necessário os seguintes ajustes:
Porém não consegui fazer com que o certificado seja aceito automaticamente no browser do usuário, sempre ocorre a msg que o certificado não é seguro…
mesmo seguindo os passos com o OPENSSL… e colocando a mesma senha e tals…
Obs: Segundo o post. para não ocorrer a msg de certificado invalido, o certificado deve ser gerado com o OPENSSL e não o Keytool colocando a mesma senha e tals… não entendi essa ultima resposta…
Fiz o certificado gerando o p12 configurei o server.xml e nada…
Porém não consegui fazer com que o certificado seja aceito automaticamente no browser do usuário, sempre ocorre a msg que o certificado não é seguro…
mesmo seguindo os passos com o OPENSSL… e colocando a mesma senha e tals…
Obs: Segundo o post. para não ocorrer a msg de certificado invalido, o certificado deve ser gerado com o OPENSSL e não o Keytool colocando a mesma senha e tals… não entendi essa ultima resposta…
Fiz o certificado gerando o p12 configurei o server.xml e nada…
[quote=Sorriso][quote=rafael.mendes]Bom dia Pessoal…
Primeiramente, um excelente post. salvou meu dia
Porém não consegui fazer com que o certificado seja aceito automaticamente no browser do usuário, sempre ocorre a msg que o certificado não é seguro…
mesmo seguindo os passos com o OPENSSL… e colocando a mesma senha e tals…
Obs: Segundo o post. para não ocorrer a msg de certificado invalido, o certificado deve ser gerado com o OPENSSL e não o Keytool colocando a mesma senha e tals… não entendi essa ultima resposta…
Fiz o certificado gerando o p12 configurei o server.xml e nada…
Alguém pode dar um help???
Grato.
Rafael[/quote]
Hehe, estou com a mesma duvida do cara aí.[/quote]
Pessoal o nosso colega thingol explica um pouco mais acima o porque isso ocorre. Na verdade a chave deve ser emitida por uma certificadora conhecida como: verisign, certisign. Daí sim você importa utilizando a ferramenta keytool.