Abrir tela para selecionar o certificado digital

Olá amigos,

Gostaria de saber se há como abrir a janela para que o usuário possa selecionar o certificado digital instalado na máquina em Java pelo browser.

Desde já agradeço.

Fábio Freitas

cara… eu nunca mexi com isso, mas conheço quem ja…
vi aqui na app que se usa tomahawk
<t:inputFileUpload> e javascript…
…se servir de alguma coisa…

Olá Amigo,

Obrigado pela atenção, mas nunca programei em java e estou tentando resolver este pepino que é apresentar o certificado digital em uma página da internet, tive que correr para java afim de resolver o problema de permissão de acessar a máquina do cliente.

Vamos vê se alguém mais possa me ajudar, estou a alguns dias procurando uma luz no fim do tunel, já me indicaram o Applet, mas sem nenhum exmplo.

Um abraço

Fábio Freitas

Alguém tem alguma sugestão.

Selecionar o certificado digital a ser usado em uma assinatura depende um pouco do browser a ser usado.
No caso do IE, essa seleção é feita pela CryptoAPI quando você entra em uma página que é protegida via HTTPS - SSL - “Client Cert”. Aí o browser lhe mostra uma janelinha (a qual você não tem absolutamente nenhum controle, sorry) para escolher um dos tais certificados. Mal e mal você consegue resetar o estado do certificado a ser usado, usando uma opção do browser que não dá para setar via programa - o usuário é que tem de ficar clicando em um monte de telas de configuração do browser (que podem estar até desabilitadas por alguma política da empresa :frowning: ) até chegar lá. Pelo menos é disso que me lembro; não sei se as coisas melhoraram - faz uns 6 anos que não mexo mais nisso.
No caso do Firefox, não sei exatamente como é que isso funciona.
Eu aconselharia você a procurar mais ainda; talvez você tenha de procurar em um site em inglês mesmo. Não sei se o pessoal do JavaRanch pode lhe ajudar rapidamente com isso, por exemplo.

No caso do IE, há essa quantidade de anos atrás, eu escreveria um ActiveX em C++ que faria isso.
Só que pelo que vi, nenhum ActiveX roda direito mais nos browsers IE, devido àqueles problemas de segurança, a menos que você disponibilize um instalador (que deve fazer uma mágica qualquer que a Microsoft deve indicar) para fazer isso (instalação de um ActiveX). Portanto, eu não recomendaria usar um ActiveX.
Java não sei se seria uma boa pedida. Provavelmente você teria de usar JNI, e para usar JNI corretamente com um browser, e neceesário também disponibilizar um instalador para pôr a DLL no lugar necessário. (Não adianta tentar fazer a applet copiar a DLL no lugar certo, já que devido a todas essas restrições de segurança, mesmo assinando a applet não garante que seja possível escrever uma DLL no lugar desejado).

Obrigado,

Caso alguém tenha alguma sugestão, estou precisando muito !!!

Um abraço

Bom, andei procurando a solucção com Applet, mas não obtive sucesso.

Caso alguém já tenha passado por isso e possa me dar uma luz, agradeço

Ainda buscando uma solução.

Olá Galera,

Eu também estou procurando como abrir no browser a solicitação do certificado, mas até agora não encontrei nada…

Parece bem simples como no site da Receita https://cav.receita.fazenda.gov.br/scripts/CAV/login/login.asp

Já tentei colocar SSL com clientAuth=true no Connector do Tomcat, transport-guarantee CONFIDENTIAL e auth-method CLIENT-CERT mas nada disso adiantou, não consegui fazer o browser solicitar o certificado.

Alguém já conseguiu ou sabe o caminho das pedras???

[]´s
Yano

Boa tarde, será que alguém obteve alguma solução em relação a isso?

Não tenho ideia por onde começar a procurar, se alguém tiver alguma ideia ou dica de onde procurar (tirando o google) eu agradeço.

Obrigado.

Bom dia Douglas,

Esta dificil, muito dificil…

Abcs…

Bom dia,

A solução que encontrei até o momento é fazer o S.O abrir o certificado digital. Não testei o código no linux, porém no Windows funcionou.

Bom dia,

Em Java?

Então Fabio, eu não estou lembrando onde está o código, pois eu acabei nem precisando mais. Porém de uma coisa eu lembro, usei o Runtime.getRuntime().exec() para abrir o arquivo .crt.

Via browser?

Via browser?

Sim, esse comando faz uma chamada ao arquivo, mas tem que ver certinho como usar. Ai ele abre o certificado.

Fala Douglas,

Meu projeto é em dot.net, não descobri como fazer, pois tive alguns obstaculos referente a segurança, assim andei procurando e algumas pessoas escreviam que com Java seria possivel, sendo assim ainda teria de aprender um pouco de java e como adicionar um conteudo java em meu projeto.

Vou pensar no final de semana, para aonde seguir…

Obrigado.

Mas assim, dê uma olhada no método que eu citei em um outro post, acho que irá te ajudar.