Desenvolvi uma aplicação que efetua a assinatura digital tanto com certificado A1 quanto A3.
Agora preciso implementar a aplicação para escolher antes da assinatura qual certificado ele deseja utilizar seja A1 ou A3 porém o usuário pode usar QUALQUER tipo de token A3 e até aonde eu entendi, através do SunPKCS11 ele sempre irá exigir um arquivo de configuração (exp: token.cfg).
O fato é que nem sempre o usuário final tem essas informações para gerar o arquivo, dei uma lida em vários materiais no google e não encontrei nenhum solução (quase) pronta.
Achei muito bom o material JavaTM PKCS#11 Reference Guide (http://migre.me/EWdb) e Java ? Cryptography Architecture
Sun Providers Documentation (http://migre.me/EWeV) porém até onde eu entendi sempre irei precisar do arquivo de configuração, o que não é viável!
Comecei a dar uma lida sobre o SunMSCAPI, e com base no código do vanderlanio(http://migre.me/EXcd) inclui o ‘if’ para listar os certificados do usuário.
O que fiz em cenário semelhante foi utilizar uma tabela interna com o nome dos módulos mais comuns e procurá-los no sistema do cliente em localizações igualmente “bem conhecidas”. Para a tabela inicial utilizei informações do projecto OpenSC, entre outros. O código de inicialização tenta localizar as DLLs (ou .SO em Linux) e, se encontrar uma, cria o arquivo de configuração “on-the-fly” e cria o provider.
psevestre estou estudando agora o OpenSC parace ser muito interessante (http://www.opensc-project.org/opensc) e ainda vou continuar pesquisando outras soluções heheh
por acaso vc tem 1 caminho das pedras for dummies sobrando aé???
bom supondo q no meu caso são quase 1 mil “pontos de venda” que podem ou não utilizar o token A3 e estão espalhados por todo o Brasil acho que eu vou encontrar com mts tokens por ai hahaah
faz quase 2 meses que eu consegui resolver esse PROBLEMINHA aqui heheh
tipo conseguir dar um “load” no token A3, carregar uma lista com todos os certificados A1 e A3 no pc e depois escolher qual será utilizado e informar a senha.
para isso eu utilizei MSCAPI pois o sistema Java esta integrado ao ERP que roda apenas em ambientes windows.
ajudou em alguma coisa?heheh
vou abrir o projeto e acho q consigo passar mais código depois, ok?
lembrando q desse jeito só funciona em sistemas operacionais windows e só consegui testar com certificados A1 e A3 do token.
Tem 1 cliente q tentou utilizar com smartcard mas ainda não tive retorno se deu certo ou não.
Teoricamente ñ era p/ ter erros já q fica preso ao repositório de certificados do windows.
ajudou em alguma coisa?heheh
vou abrir o projeto e acho q consigo passar mais código depois, ok?
lembrando q desse jeito só funciona em sistemas operacionais windows e só consegui testar com certificados A1 e A3 do token.
Tem 1 cliente q tentou utilizar com smartcard mas ainda não tive retorno se deu certo ou não.
Teoricamente ñ era p/ ter erros já q fica preso ao repositório de certificados do windows.
até.
abs![/quote]
O que essa linha faz? KeyStore ks = KeyStore.getInstance(“Windows-MY”, “SunMSCAPI”);
seus exemplos de uso do repositório do windows me ajudaram muito, eu consigo listar os certificados e assinar um arquivo, porém estou tendo problemas na hora de fazer uma conexão soap.
Você consegue consumir um webservice de nfe utilizando o repositório do windows? poderia postar algum código de exemplo?
Boa noite pedrohenrick estou com um problema no meu e-token pois perdi a senha e nao consigo acessa-lo ja usei quase todas as tentativas e se bloquea-lo terei que pedir outro certificado e pagar tudo novamente. Gostaria de saber se tem como acessar o token e mudar ou descobrir qual é a senha.
Fico no Aguardo obrigado
Pessoal, já consegui fazer a leitura do Token a3 e assinar um arquivo. Mas estou com o seguinte problema: o sistema que estou trabalhando gera um certificado que pode ser usado somente nele. No entanto quando o usuário instala o certificado e digita a senha, ela nunca mais é solicitada no mesmo computador.
Alguém sabe dizer se isso é configurável no navegador ou se isso é alguma configuração de leitura ? existe a possibilidade de sempre forçar o usuário a digitar a senha ?