GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Java e certificado Digital


#1

Olá pessoal estou desenvolvendo um aplicativo que utiliza certificado digital. Já gerei o certificado (arquivos: .crt, .key). gostaria de um apoio de como usar este certificado que eu gerei no java.


#2

Deu um trabalho bem grande para eu chegar nesse ponto aqui..... Você está com sorte.. heheheh

Criar uma aplicação com Certificado Digital

1. Obter o certificado

Utilize um navegador como o Internet Explorer e acesse o site onde deseja buscar o certificado.

Clique no ícone do cadeado do navegador e clique em Exibir certificados.

Escolha a aba Detalhes e clique em Copiar para arquivo.

Salve o certificado em qualquer arquivo no computador.

2. Instalar o certificado em um Trust Store

Inicie um prompt.

Execute o comando:

keytool  -import -keystore jssecacerts -alias myserver -file certificado.cer

Onde:

· import = comando para importar o certificado
· keystore = trust store onde deve ser salvo o certificado (podem ser colocados vários arquivos em um keystore, com vários comandos import)
· alias = nome do servidor
· file = caminho do arquivo do certificado (o que foi salvo pelo IE)

Será pedido uma senha, utilize (se não houver problemas), a senha changeit pois é a padrão do Java e caso haja algum imprevisto ou problema as documentações utilizadas na internet utilizarão essa senha.

Existe um arquivo padrão de trust store do Java, que fica em JAVA_HOME/jre/lib/security arquivo cacerts. Mas nos testes que realizei o programa Java não utilizou por padrão esse arquivo.

3. Desenvolver o programa Java

O acesso ao recurso protegido é feito da mesma forma, mas serão utilizadas dois parâmetros para a máquina virtual informando a trust store e a senha:

System.setProperty("javax.net.ssl.trustStore", "c:\\jssecacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

Depois de configurar o trust store, a sequência do programa segue igual a um programa que não necessite certificação:

URL url = new URL("https://servidor/recurso");
InputStream in = url.openStream();

Espero que te ajude.. até mais


#3

obrigado rogelgarcia

Porém eu mesmo criei o certificado usando o openssl.

   1. keytool  -import -keystore jssecacerts -alias myserver -file certificado.cer

Com isso tenho arquivos .crt, .key e. csr. E não um .cer, o processo é o mesmo?


#4

Agora voce me apertou... não sei...

Eu sabia só com laranjas.. com maças nao... :smiley:

Talvez tenha alguma forma de transformar esses seus arquivos em um .cer

Ou algum já tenha esse formato, ou algum já esteja no formato certo pra usar no java..

Mas eu acho que esse jssecacerts.. vc vai precisar...

Tem que dar uma verificada nisso..


#5

A questão é: você usará o seu certificado para quê? Como?


#6

Usarei o certificado para fechar conexao.


#7

Deixe eu entender: você gerou o certificado para uso do lado servidor? Quer rodar um servlet container sob HTTPS?


#8

criei um certficado do lado do servidor, e quero no lado do client usar ele para fechar a conexao, autenticar.


#9

Seu programa é desktop ou web?


#10

desktop


#11