| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/05/2010 17:16:30
|
pedruhenrik
GUJ Master
![[Avatar]](/images/avatar/fe35cdc3b5e88ce55f6659889fe2937f.jpg)
Membro desde: 08/05/2008 11:48:36
Mensagens: 1043
Localização: São Paulo - SP
Offline
|
Boa tarde pessoal!
Estou apanhando feio com o seguinte problema:
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.
Bom em resumo preciso encontrar uma maneira de encontrar o token a3 e descobrir seu name e library ehehe, se alguém puder ajudar agradeço MUITO mesmo!
Obrigado!
P.S: 1° post no GUJ, fiquei em dúvida entre abrir um novo tópico ou inserir a msg neste: http://guj.com.br/posts/list/91330.java#797805 se fiz errado desculpa aé! heheh
This message was edited 3 times. Last update was at 02/06/2011 18:18:48
|
...tem um plano A e tem um plano B...
http://twitter.com/pedruhenrik |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/05/2010 19:19:50
|
psevestre
JavaEvangelist
Membro desde: 13/05/2005 12:53:19
Mensagens: 432
Localização: São Paulo
Offline
|
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.
Um pouco enrolado, mas funciona.
|
http://justaphilpicks.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2010 17:24:08
|
pedruhenrik
GUJ Master
![[Avatar]](/images/avatar/fe35cdc3b5e88ce55f6659889fe2937f.jpg)
Membro desde: 08/05/2008 11:48:36
Mensagens: 1043
Localização: São Paulo - SP
Offline
|
ai caramba!!!
que trabalhareira hahaha
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
valeu!
|
...tem um plano A e tem um plano B...
http://twitter.com/pedruhenrik |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/07/2010 18:04:39
|
pedruhenrik
GUJ Master
![[Avatar]](/images/avatar/fe35cdc3b5e88ce55f6659889fe2937f.jpg)
Membro desde: 08/05/2008 11:48:36
Mensagens: 1043
Localização: São Paulo - SP
Offline
|
opa, voltando ao tópico apenas para finalizar...
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.
bom é isso aé, finished!
|
...tem um plano A e tem um plano B...
http://twitter.com/pedruhenrik |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2010 19:02:39
|
leonardom
Virtual Machine Man
![[Avatar]](/images/avatar/7f5d04d189dfb634e6a85bb9d9adf21e.jpg)
Membro desde: 23/02/2003 11:41:23
Mensagens: 679
Localização: Anywhere
Offline
|
Oi pedruhenrik,
Estou apanhando aqui para acessar o certificado A3 de um SmartCard. Poderia postar seu código para eu ver como vc vez a sua solução?
Obrigado,
Leonardo
|
"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."
George Bernard Shaw (1856 - 1950) - Irish dramatist - Nobel Prize of Literature, 1925
blog: http://leonardom.wordpress.com
http://www.insidecode.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/09/2010 15:37:47
|
pedruhenrik
GUJ Master
![[Avatar]](/images/avatar/fe35cdc3b5e88ce55f6659889fe2937f.jpg)
Membro desde: 08/05/2008 11:48:36
Mensagens: 1043
Localização: São Paulo - SP
Offline
|
olá leonardom, td bem?
desculpa a demora em responder, só vi ontem o email do tópico,hehe malz ai,
abaixo esta como eu faço p/ localizar o certificado q será utilizado,
nos demais processos eu só passo o aliaskey como parametro.
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!
|
...tem um plano A e tem um plano B...
http://twitter.com/pedruhenrik |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/09/2010 11:01:16
|
javer
Virtual Machine Man
![[Avatar]](/images/avatar/133cc6b5565f9a47831eeea9854a29a2.jpg)
Membro desde: 10/09/2007 12:06:29
Mensagens: 642
Localização: São Paulo - SP
Offline
|
pedruhenrik wrote:olá leonardom, td bem?
desculpa a demora em responder, só vi ontem o email do tópico,hehe malz ai,
abaixo esta como eu faço p/ localizar o certificado q será utilizado,
nos demais processos eu só passo o aliaskey como parametro.
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!
O que essa linha faz?
KeyStore ks = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
O que é esse Windows-MY?
|
------------------------------------------------------
Java Desktop Developer (Swing) - www.javasis.com.br
--- Disponível para Emprego --- |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/09/2010 11:24:41
|
pedruhenrik
GUJ Master
![[Avatar]](/images/avatar/fe35cdc3b5e88ce55f6659889fe2937f.jpg)
Membro desde: 08/05/2008 11:48:36
Mensagens: 1043
Localização: São Paulo - SP
Offline
|
O que essa linha faz?
KeyStore ks = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
até onde eu entendi ela q vai criar a instancia keystore p/ poder acessar os certificados disponiveis no windows.
O que é esse Windows-MY?
o primeiro parametro é o tipo de keystore,
nesse caso o keystore do windows,
tb tem o Windows-ROOT mas oq deu certo p/ mim foi o Windows-My msm.
outra maneira tb de acessar o token:
o arquivo token.cfg:
e ai o processo de assinatura é quase o mesmo do token A1(se não o mesmo...rsrs)
att,
|
...tem um plano A e tem um plano B...
http://twitter.com/pedruhenrik |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/12/2010 13:18:06
|
joellazzari
JavaChild
Membro desde: 13/11/2008 09:00:25
Mensagens: 141
Offline
|
estou com um problema meio bobo, mas não consegui identificar o motivo.
tenho uma exception, quando tento rodar qualquer código que envolva KeyStore (com Windows-MY ou Windows-ROOT)
java.security.NoSuchProviderException: no such provider: SunMSCAPI
Eu preciso alguma configuração/permissão de segurança no meu sistema operacional pra isso? (estou usando Windows 7 e JAVA 6)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2011 14:04:08
|
orlandocn
Java Ninja
![[Avatar]](/images/avatar/4efc9e02abdab6b6166251918570a307.jpeg)
Membro desde: 30/07/2005 12:42:29
Mensagens: 262
Offline
|
@pedruhenrik
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?
obrigado
|
CGHP - Certified Go Horse Professional
CFMU - Certified Fanfarrão Masters of the Universe
next target --> CFG - Certified Fanfarrão Guru
"Scrum é apenas XP sem as práticas e técnicas que a fazem funcionar." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2011 16:20:33
|
pedruhenrik
GUJ Master
![[Avatar]](/images/avatar/fe35cdc3b5e88ce55f6659889fe2937f.jpg)
Membro desde: 08/05/2008 11:48:36
Mensagens: 1043
Localização: São Paulo - SP
Offline
|
opa q bom q ajudou!
http://www.guj.com.br/java/237281-tutorial-consumir-webservice-nfe-20
da uma olhada nesse link e vê se te ajuda, ok?
att,
|
...tem um plano A e tem um plano B...
http://twitter.com/pedruhenrik |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/05/2011 14:08:16
|
hiroshisilva
Debugger
Membro desde: 28/03/2010 18:54:01
Mensagens: 65
Offline
|
pessoal será que existe alguma bibilioteca dessas no linux?
Obrigado!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2011 12:24:18
|
pedruhenrik
GUJ Master
![[Avatar]](/images/avatar/fe35cdc3b5e88ce55f6659889fe2937f.jpg)
Membro desde: 08/05/2008 11:48:36
Mensagens: 1043
Localização: São Paulo - SP
Offline
|
pessoal será que existe alguma bibilioteca dessas no linux?
talvez eu esteja falando a maior besteira do universo...mas será q openssl não ajudaria nesse caso?
att,
|
...tem um plano A e tem um plano B...
http://twitter.com/pedruhenrik |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2011 21:50:08
|
Henrique Borges
Smalltalk
Membro desde: 29/10/2011 21:28:39
Mensagens: 1
Offline
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2012 08:14:32
|
flaviojmendes
Thread.start()
![[Avatar]](/images/avatar/7cc03929aed13cfa1f35a1b5945f8879.jpg)
Membro desde: 18/08/2009 12:19:26
Mensagens: 33
Offline
|
Um token normalmente possui um PIN (senha) e um PUK, que é usado quando você erra a senha repetidas vezes. Consulte o fabricante.
Escrevi um post sobre tokens em meu site: http://www.flaviojmendes.com/blog/2012/02/24/assinando-um-documento-com-token-ou-smartcard/
|
Flávio J. Mendes
flaviojmendes@gmail.com
http://www.flaviojmendes.com |
|
|
 |
|
|