| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/11/2008 13:17:47
|
proteus_adi
JavaGuru
![[Avatar]](/images/avatar/13d7dc096493e1f77fb4ccf3eaf79df1.jpg)
Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline
|
Seguinte...
Eu construí uma classe de assinatura digital que funciona perfeitamente com meu certificado A1.
Estou agora tentando generalizar a classe, e faze-la aceitar o A3.
E tou com um GemPCTwin de cartãozinho...
Tenho no meu código:
Com o arquivo token.cfg
E o console diz:
java.security.KeyStoreException: pkcs11 not found
at java.security.KeyStore.getInstance(KeyStore.java:565)
at br.com.upbrasil.jni.NFe.signature(NFe.java:234)
at br.com.upbrasil.jni.NFe.main(NFe.java:305)
Detalhes adicionais:
E, o -Djava.security.debug=sunpkcs11,pkcs11
sunpkcs11: Initializing PKCS#11 library c:/windows/system32/aetpkss1.dll
Information for provider SunPKCS11-SmartCard
Library info:
cryptokiVersion: 2.11
manufacturerID: A.E.T. Europe B.V.
flags: 0
libraryDescription: Cryptographic Token Interface
libraryVersion: 2.00
All slots: 52481, 52482, 52483, 52484
Slots with tokens: 52483
Slot info for slot 52483:
slotDescription: Gemplus USB Smart Card Reader 0
manufacturerID: Gemplus USB Smart Card Reader 0
flags: CKF_TOKEN_PRESENT | CKF_REMOVABLE_DEVICE | CKF_HW_SLOT
hardwareVersion: 0.00
firmwareVersion: 0.00
Token info for token in slot 52483:
label: e-CNPJ Fenacon
manufacturerID: A.E.T. Europe B.V.
model: 23840D0703070000
flags: CKF_RNG | CKF_LOGIN_REQUIRED | CKF_USER_PIN_INITIALIZED | CKF_TOKEN_INITIALIZED
ulMaxSessionCount: 64
ulSessionCount: 0
ulMaxRwSessionCount: 64
ulRwSessionCount: 0
ulMaxPinLen: 8
ulMinPinLen: 4
ulTotalPublicMemory: 8650
ulFreePublicMemory: 3512
ulTotalPrivateMemory: 234
ulFreePrivateMemory: 234
hardwareVersion: 0.00
firmwareVersion: 0.00
utcTime:
Mechanism CKM_RSA_PKCS_KEY_PAIR_GEN:
ulMinKeySize: 720
ulMaxKeySize: 1024
flags: 65537 = CKF_HW | CKF_GENERATE_KEY_PAIR
Mechanism CKM_RSA_PKCS:
ulMinKeySize: 720
ulMaxKeySize: 1024
flags: 424705 = CKF_HW | CKF_ENCRYPT | CKF_DECRYPT | CKF_SIGN | CKF_SIGN_RECOVER | CKF_VERIFY | CKF_VERIFY_RECOVER | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_RSA_X_509:
ulMinKeySize: 720
ulMaxKeySize: 1024
flags: 424705 = CKF_HW | CKF_ENCRYPT | CKF_DECRYPT | CKF_SIGN | CKF_SIGN_RECOVER | CKF_VERIFY | CKF_VERIFY_RECOVER | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_RC2_KEY_GEN:
DISABLED in configuration
ulMinKeySize: 8
ulMaxKeySize: 1024
flags: 32768 = CKF_GENERATE
Mechanism CKM_RC2_ECB:
DISABLED in configuration
ulMinKeySize: 1
ulMaxKeySize: 1024
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_RC2_CBC:
DISABLED in configuration
ulMinKeySize: 1
ulMaxKeySize: 1024
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_RC2_CBC_PAD:
DISABLED in configuration
ulMinKeySize: 1
ulMaxKeySize: 1024
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_RC4_KEY_GEN:
DISABLED in configuration
ulMinKeySize: 8
ulMaxKeySize: 2048
flags: 32768 = CKF_GENERATE
Mechanism CKM_RC4:
DISABLED in configuration
ulMinKeySize: 8
ulMaxKeySize: 2048
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_DES_KEY_GEN:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 32768 = CKF_GENERATE
Mechanism CKM_DES_ECB:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_DES_CBC:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_DES_CBC_PAD:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_DES2_KEY_GEN:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 32768 = CKF_GENERATE
Mechanism CKM_DES3_KEY_GEN:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 32768 = CKF_GENERATE
Mechanism CKM_DES3_ECB:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_DES3_CBC:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_DES3_CBC_PAD:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 393984 = CKF_ENCRYPT | CKF_DECRYPT | CKF_WRAP | CKF_UNWRAP
Mechanism CKM_MD2:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 1024 = CKF_DIGEST
Mechanism CKM_MD5:
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 1024 = CKF_DIGEST
Mechanism CKM_SHA_1:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 1024 = CKF_DIGEST
Mechanism CKM_RIPEMD160:
DISABLED in configuration
ulMinKeySize: 0
ulMaxKeySize: 0
flags: 1024 = CKF_DIGEST
Mechanism CKM_MD5_RSA_PKCS:
DISABLED in configuration
ulMinKeySize: 720
ulMaxKeySize: 1024
flags: 10241 = CKF_HW | CKF_SIGN | CKF_VERIFY
Mechanism CKM_SHA1_RSA_PKCS:
ulMinKeySize: 720
ulMaxKeySize: 1024
flags: 10241 = CKF_HW | CKF_SIGN | CKF_VERIFY
Mechanism CKM_RIPEMD160_RSA_PKCS:
DISABLED in configuration
ulMinKeySize: 720
ulMaxKeySize: 1024
flags: 10241 = CKF_HW | CKF_SIGN | CKF_VERIFY
Mechanism Unknown 0x0000000080000001:
DISABLED in configuration
ulMinKeySize: 720
ulMaxKeySize: 1024
flags: 10241 = CKF_HW | CKF_SIGN | CKF_VERIFY
Bem...
Eu não consigo usar essa coisa...
Aceito dicas, sugestoes, conselhos, rezas e romarias e tudo mais...
Teoricamente... tudo deveria funcionar...
pliz,,, reupi mi
This message was edited 2 times. Last update was at 21/11/2008 13:19:35
|
"Remember Yesterday and think about tomorrow... but you have to live today"
Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/11/2008 13:46:32
|
Tecnoage
GUJ Master
Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline
|
ja tentou inverter as barras no arquivo token.cfg? Vc precisa realmente de todas essas configurações no arquivo? Os meus ficam tão mais simples...
|
Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/11/2008 14:06:59
|
proteus_adi
JavaGuru
![[Avatar]](/images/avatar/13d7dc096493e1f77fb4ccf3eaf79df1.jpg)
Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline
|
Baaah,,,
Eu achei que precisava...
na verdade... TUDO ali é tentativa...
Não achei nenhum manual de como fazer essas coisas...
e, os exemplos são todos tão simplezinhos que... de boa...
nem sei oq pensar na hora que dá erro...
Dai pensei... Deve ser alguma particularidade da minha DLL...
pqp... se pra cada cliente que comprar um hardware novo eu tiver toda essa batalha eu tou f*****
Boum...Voltando ao problema
eu retirei as configurações de mecanismos
e o arquivo cfg ficou
O que me resultou um erro num local afrente do habitual.
e, o debug retornou um
sunpkcs11: login succeeded
Sinal de que a configuração era um dos problemas...
Agora deu erro no uso de aliases,,,
Creio que agora seja questão de codificação aqui...
Eita trem chato esse tal de A3...
Se tiver mais problema eu retorno nesse mesmo bat canal... rs**
Mas,,,
Aqui...
Eu nada fiz de diferente.
E, aparentemente ele sempre carregava a dll...
não entendi o que está diferente...
|
"Remember Yesterday and think about tomorrow... but you have to live today"
Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/01/2009 13:06:03
|
PatricMaffi
Debugger
![[Avatar]](/images/avatar/65b5fc46fc82087ba24609b14f2dc4ff.jpg)
Membro desde: 05/06/2007 13:41:16
Mensagens: 66
Localização: PR
Offline
|
qual eh o servidor de aplicação usado?
tomcat??
se for pode ser que vc precise configurar la no server.xml do tomcat
na tag connector preste atenção que eh na porta 8443
coloque a senha do key
<Connector port="8443" address="localhost"
maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
scheme="https" secure="true" clientAuth="false"
keystoreType="PKCS11"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA"
keystorePass="12345" sslProtocol = "TLS"
/>
preciso da dica de como fazer isso no glassfish
se alguem souber por favor me digam
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/05/2009 15:05:04
|
ernanics
HelloWorld
Membro desde: 04/05/2009 08:49:31
Mensagens: 12
Offline
|
Bom, estou nesta mesma batalha também!
Certificado A1 foi mamão com açúcar... agora este A3
está me dando dor de cabeça.
Já fiz download de n componentes e não obtive sucesso com nada,
alguém poderia me dar uma luz, como assinar o XML com esse "querido"
certificado A3.
Att.
Ernani Cesar S.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/05/2009 15:46:58
|
proteus_adi
JavaGuru
![[Avatar]](/images/avatar/13d7dc096493e1f77fb4ccf3eaf79df1.jpg)
Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline
|
É igualzinho...
A diferença é q o a3 varia com o hardware...
Então...
A solução começa com o Hardware...
1) achar os parâmetros do seu hardware
2) Modificar seus fontes pra a3.
Pegou a ideia?
dai... na requisição... mesma coisa...
|
"Remember Yesterday and think about tomorrow... but you have to live today"
Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/05/2009 06:14:07
|
ernanics
HelloWorld
Membro desde: 04/05/2009 08:49:31
Mensagens: 12
Offline
|
Olha kra... é isso que eu estou fazendo, só que na hora de dar o load no KeyStore está dando um erro:
PKCS11 NOT FOUND, já baixei a dll do fabricante e nada, o erro continua!
E tem outra, quando eu uso o A1 eu extraio a PrivateKey do meu certificado para fazer a assinatura, o que eu
não posso fazer com o A3, como eu faço para mandar o meu Hardware assinar a minha Nota?
O meu leitor é umj GemPC Twin, meu cartão é um GemPlus.
O colega ou alguém poderia me ajudar, postar um exemplo por favor!
At..
Ernani César dos Santos
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/05/2009 10:03:02
|
PatricMaffi
Debugger
![[Avatar]](/images/avatar/65b5fc46fc82087ba24609b14f2dc4ff.jpg)
Membro desde: 05/06/2007 13:41:16
Mensagens: 66
Localização: PR
Offline
|
estou postando uma parte dos meus codigos
espero que ajudem a resolver
arquivo token.cfg
Aqui codigo para aplicar a segurança de conexao
aqui codigo para pegar o certificado
opção aqui de arquivo e e-certificados
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/05/2009 15:16:13
|
estevaofreitas
Entusiasta Java
Membro desde: 05/04/2006 09:05:24
Mensagens: 17
Localização: São Luís - MA
Offline
|
PatricMaffi o seu código está muito parecido com o meu, na verdade estou fazendo o meu código baseado no Nakov Document Signer, só que estou com um problema: uma vez inserida o pin code correto, é possível fazer qualquer operação com o token que funciona, até mesmo fazendo um load da keystore com a senha errada: keyStore.load(null, "senha errada", provider).
Já tentei até dá um remove no provider criado a partir do arquivo de configuração e nada.
|
Estevão Freitas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/05/2009 12:18:13
|
PatricMaffi
Debugger
![[Avatar]](/images/avatar/65b5fc46fc82087ba24609b14f2dc4ff.jpg)
Membro desde: 05/06/2007 13:41:16
Mensagens: 66
Localização: PR
Offline
|
Ola, estevao
quando você tentou remover o provider
utilizou este comando
Security.removeProvider(nome_provider); ??
se foi este e não funcionou tente este
Security.getProvider(nome_provider).clear();
A aproveitando a deixa, desenvolvemos um sisteminha com webservice para solução de comunicação de NFe para empresas de software que estejam precisando fazer a parte de NFe para integrar com os seus sistemas de ERP
se alguem tiver curiosidade de como funciona nosso webservice de comunicação com a receita me envie um e-mail
espero ter ajudado
abraços
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2009 10:55:20
|
estevaofreitas
Entusiasta Java
Membro desde: 05/04/2006 09:05:24
Mensagens: 17
Localização: São Luís - MA
Offline
|
Isso eu tentei remover com e nada, e agora quando eu uso dá o seguinte erro depois da primeira assinatura bem sucedida:
O que eu devo fazer agora, seria legal se estivesse um código para saber o que eu fazendo de errado.
|
Estevão Freitas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2009 19:49:25
|
fredferrao
GUJ Master
![[Avatar]](/images/avatar/128ac9c427302b7a64314fc4593430b2.jpeg)
Membro desde: 01/06/2005 13:23:32
Mensagens: 1901
Localização: Brasil
Offline
|
PatricMaffi wrote:estou postando uma parte dos meus codigos
espero que ajudem a resolver
arquivo token.cfg
Aqui codigo para aplicar a segurança de conexao
Puts valeu, era o que eu precisava, como setar o A3 para a chamada dos webServices.
Mas o meu ainda ficou um pouco mais simples. Porque eu estava lendo, que voce pode ter mais de um Provider adicionado, para varios certificados na mesma app/maquina, entao ele pega pelo nome, que esta la no config.cfg, e nao preciso instanciar um keystore para isso, pois a maioria dos webservices da NFe eu nao preciso assinar o xml, apenas setar para a comunicaçao.
|
Não respondo dúvidas via MP! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2009 19:54:39
|
fredferrao
GUJ Master
![[Avatar]](/images/avatar/128ac9c427302b7a64314fc4593430b2.jpeg)
Membro desde: 01/06/2005 13:23:32
Mensagens: 1901
Localização: Brasil
Offline
|
estevaofreitas wrote:Isso eu tentei remover com e nada, e agora quando eu uso dá o seguinte erro depois da primeira assinatura bem sucedida:
O que eu devo fazer agora, seria legal se estivesse um código para saber o que eu fazendo de errado.
E nao esta correto? Afinal voce removeu o certificado. Assine todas as notas e no final remova o certificado. Para novas assinaturas adicione novamente.
veja este tuto que encontrei
Unregistering the Sun PKCS#11 Provider
When you no longer need the PKCS#11 security provider, you should unregister it to deallocate the resources used. This can be done in the following way:
Provider pkcs11Provider = ...;
String pkcs11ProviderName = pkcs11Provider.getName();
Security.removeProvider(pkcs11ProviderName);
Some PKCS#11 native implementations require the provider to be unregistered after you've finished signing. Otherwise, an active session with the smart card can remain open and can cause all further signing attempts to fail. Another possibility for unregistering the PKCS#11 security provider is the following:
Security.removeProvider("SunPKCS11-SmartCard");
The name of the provider is constructed by the prefix "SunPKCS11-," followed by the name given in the configuration file (pkcs11.cfg).
fonte: http://www.developer.com/security/print.php/11580_3587361_2
|
Não respondo dúvidas via MP! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2009 10:13:37
|
Lauro.Becker
HelloWorld
Membro desde: 19/10/2007 15:15:32
Mensagens: 14
Localização: Canela / RS
Offline
|
Buenas,
Alguém implementou a solução dentro do JBoss?
Caso positivo, peço encarecidamente um auxílio. Não consigo fazer ele funcionar com A3.
Obrigado.
Abraços.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2009 10:16:30
|
benignoms
JavaBaby
![[Avatar]](/images/avatar/30e847a326af8cac0ca7e160a6ce59ca.png)
Membro desde: 15/07/2009 10:14:19
Mensagens: 85
Offline
|
Olá,
No código do PatricMaffi, ele da um return cert porém nao informa onde ele usar esse certificado e nem o nome do metodo criado.
Gostaria que se possivel mostrasse um exemplo completo ate a forma de chamar a consulta no ws.
|
Benigno M. Sales
Jsf? Primefaces?
http://benignosales.wordpress.com/ |
|
|
 |
|
|