| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 16:27:03
|
rtsugumi
Thread.start()
Membro desde: 09/06/2006 20:03:03
Mensagens: 33
Offline
|
Pessoal é a primeira vez que eu estou trabalhando com certificação digital, nós estamos usando o openoces, já consegui gerar o certificado, eu queria saber se alguém sabe qual a classe que eu uso para extrair as informações do certificado??
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 16:47:41
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Procure pela documentação de java.security.cert.X509Certificate (método org.openoces.ooapi.cert.OcesCertificate.getEncapsulatedCertificate
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 07:40:16
|
rtsugumi
Thread.start()
Membro desde: 09/06/2006 20:03:03
Mensagens: 33
Offline
|
vlw thingol, mas eu não consegui fazer funcionar ainda, eu coloco um etoken ai eu faço o login e gera um xml com os dados o certificado depois eu chamo esse código
e dá o seguinte erro
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 08:57:35
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Uma coisa que é absolutamente indispensável para quem está usando certificação digital é saber usar as seguintes ferramentas (que são em C mas devem ter versões compiladas para Linux e Windows, é só procurar):
dumpasn1 - ele permite ver se um arquivo está em formato DER e que dados ele tem;
openssl - por exemplo, openssl x509 -in arquivo.cer -certs permite listar os certificados contidos em um arquivo "arquivo.cer".
Dá a impressão que você passou os dados errados para generateCertificate, que requer um array de bytes em formato DER.
Leia o livro "Beginning Cryptography in Java", de David Hook, que explica como usar o BouncyCastle (biblioteca usada pelo OpenOCES) e os conceitos de criptografia que você precisa saber.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 09:09:22
|
rtsugumi
Thread.start()
Membro desde: 09/06/2006 20:03:03
Mensagens: 33
Offline
|
vlw thingol, eu consegui pegar as informações do certificado.
Agora eu preciso validar a cadeia de confiança do certificado, ai surgiu um dúvida eu preciso pegar os outros certificados da cadeia e trabalhar com a KeyStore??? é isso??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 10:30:28
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Procure por CertPath, CertPathBuilder, TrustAnchor, CertPathValidator ( http://java.sun.com/javase/6/docs/api/java/security/cert/package-summary.html )
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 10:44:33
|
rtsugumi
Thread.start()
Membro desde: 09/06/2006 20:03:03
Mensagens: 33
Offline
|
Vlw thingol, vou me dar uma pesquisada nessas classes.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 13:43:15
|
rtsugumi
Thread.start()
Membro desde: 09/06/2006 20:03:03
Mensagens: 33
Offline
|
Blz eu consegui montar a cadeia de certificado, agora tem um monte de validações que eu preciso fazer mas o que eu to em dúvida são as seguinte:
Validar o uso da chave utilizada (Assinatura Digital) de tal forma a aceitar
certificados somente do tipo A (não serão aceitos certificados do tipo S); (Existe alguma propriedade no certificado que informa se ele é do tipo a ou s ??)
Garantir que o certificado utilizado é de um usuário final e não de uma Autoridade
Certificadora; (É só verificar se no certificado contém um cnpj ou cpf, ou existe alguma verificação mais técnica??)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 14:27:39
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Não sei como diferenciar certificados "A" e "S" só olhando em um X.509. Que eu saiba, "A" e "S" dizem se a chave privada está em disquete/hd/USB ou então em um smartcard.
Para o ICP-Brasil (Autoridade Certificadora Raiz Brasileira), o campo "Basic Constraints" indica que CA=TRUE; as autoridades certificadoras intermediárias (exemplo: ICP-Caixa, veja o certificado de https://internetcaixa.caixa.gov.br ) o campo BASIC CONSTRAINTS indica que CA=FALSE; e em um certificado de usuário esse campo também está preenchido com CA=FALSE. Veja se há mais algum campo no certificado ICP-Caixa (por exemplo) que possa ajudar a fazer tal distinção.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 16:15:13
|
rtsugumi
Thread.start()
Membro desde: 09/06/2006 20:03:03
Mensagens: 33
Offline
|
thingol wrote:Não sei como diferenciar certificados "A" e "S" só olhando em um X.509. Que eu saiba, "A" e "S" dizem se a chave privada está em disquete/hd/USB ou então em um smartcard.
Para o ICP-Brasil (Autoridade Certificadora Raiz Brasileira), o campo "Basic Constraints" indica que CA=TRUE; as autoridades certificadoras intermediárias (exemplo: ICP-Caixa, veja o certificado de https://internetcaixa.caixa.gov.br ) o campo BASIC CONSTRAINTS indica que CA=FALSE; e em um certificado de usuário esse campo também está preenchido com CA=FALSE. Veja se há mais algum campo no certificado ICP-Caixa (por exemplo) que possa ajudar a fazer tal distinção.
Vlw denovo thingol, sobre o certificado ser "A" ou "S" eu também não entendi direito eu copiei e colei as regras do manual da NF-E
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/01/2009 06:35:46
|
rtsugumi
Thread.start()
Membro desde: 09/06/2006 20:03:03
Mensagens: 33
Offline
|
Eu postei em um forum de criptografia e eles me responderam a dúvida se o certificado é do tipo "A" ou "S".
O que muda no certificiado é a extensão keyUsage, se o bit digitalSignature tiver setado o certificado é do tipo "A", se o bit keyEncipherment/dataEncipherment tiver setado o certificado é do tipo "S"
Eu não vou colocar o link do forum pq eu não sei se é permitido.
This message was edited 1 time. Last update was at 15/01/2009 06:43:53
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2009 16:32:02
|
trgpwild
Debugger
Membro desde: 12/06/2007 10:10:29
Mensagens: 62
Offline
|
rtsugumi como vc conseguiu resolver a exception?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2009 12:45:57
|
rtsugumi
Thread.start()
Membro desde: 09/06/2006 20:03:03
Mensagens: 33
Offline
|
trgpwild wrote:rtsugumi como vc conseguiu resolver a exception?
Consegui sim o problema era que eu estava tentando gerar o certificado com o xml inteiro, o correto é pegar somente a propriedade que representa o certificado.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2009 14:38:23
|
trgpwild
Debugger
Membro desde: 12/06/2007 10:10:29
Mensagens: 62
Offline
|
Se você puder, por favor posta o pedaço do código que vc usou para capturar o X509Certificate, Abraço...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2009 14:50:15
|
rtsugumi
Thread.start()
Membro desde: 09/06/2006 20:03:03
Mensagens: 33
Offline
|
trgpwild wrote:Se você puder, por favor posta o pedaço do código que vc usou para capturar o X509Certificate, Abraço...
|
|
|
 |
|
|