Erro com certificado

2 respostas
zoren

Tenho uma aplicação que usa um Keystore com os certificados dentro, para se comunicar com webservices

a aplicação funciona normalmente, mas me pediram pra fazer a aplicação enviar email,

Comecei desenvolvendo a parte para realizar testes e funcionou perfeitamente usando o yahoo

quando implementei na aplicação, recebi uns erros de que não era possivel encontrar o certificado no caminho especificado

aquele mesmo erro de quando o java não encontra o certificado no Keystore, realizei esse teste com o yahoo

resolvi fazer um teste usando um servidor de email sem autenticação e o email foi enviado normalmente

Então cheguei a conclusão de que essas linhas

System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
        Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

        System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
        System.setProperty("javax.net.ssl.keyStore", "certificado cliente");
        System.setProperty("javax.net.ssl.keyStorePassword", "senha certificado cliente");
        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", "caminho do arquivo keystore");

devem sobreescrever algum caminho que fizesse o java procurar o certificado no sistema operacional, no meu caso windows

Para enviar email eu utilizei a API JavaMail

Existe algum modo de eu fazer com o java procure os certificados nos dois lugares (se o erro for esse mesmo)??

ou alguém sabe uma solução alternatina??

não sei se eu vou realmente ter que usar autenticação pra enviar email, mas acho que sim, também pensei em usar uma aplicação separada que ficasse esperando a aplicação principal chama-la através da URL, assim enviando email, mas já fiz quase tudo aqui, só ficou pendente esse negócio do certificado

obs: a aplicação é web e roda no Tomcat

2 Respostas

O

zoren:

Existe algum modo de eu fazer com o java procure os certificados nos dois lugares (se o erro for esse mesmo)??

Acho que não.

zoren:

ou alguém sabe uma solução alternatina??

Carregue todos os seus certificados em uma unica keystore

zoren:

não sei se eu vou realmente ter que usar autenticação pra enviar email, mas acho que sim, também pensei em usar uma aplicação separada que ficasse esperando a aplicação principal chama-la através da URL, assim enviando email, mas já fiz quase tudo aqui, só ficou pendente esse negócio do certificado

Servidores de e-mail que suportam conexão via SSL geralmente são os “Web Mail”. Os servidores que as empresas e provedores usam geralmente usam SMTP apenas (no máximo com autenticação).

zoren

Também achei que não ia dar pra carregar os dois lugares ao mesmo tempo

Quanto a carregar tudo num lugar só é muito trabalhoso, porque eu não sei qual servidor de email o usuario vai usar, se cada um quiser usar um diferente, vai dar uma grande quantidade de certificados, ainda mais se eles começarem a expirar

vou conversar aqui na empresa e ver direito esse negócio, espero que não tenha que usar SSL, senão vai dar um baita trabalho

Vlw pela respota

Criado 23 de outubro de 2009
Ultima resposta 23 de out. de 2009
Respostas 2
Participantes 2