Ajuda para criar arquivo .p7s

15 respostas
G

Pessoal,

Estou precisando assinar digitalmente um arquivo qualquer (independente de formato) e gerar um arquivo p7s.

Estou olhando o bouncycastle mas estou com dúvidas se ele gera esse tipo de arquivo. Alguém pode dar uma luz, um material de referência, exemplos, etc?

obrigado.

15 Respostas

Dieval_Guizelini

Acho que este projeto pode te ajudar:

http://www.openca.org/

att

Dieval

G

Dieval,

Sim, muito interessante o projeto. Estou dando uma lida pra ver se pode ser útil. Quero apenas geração de arquivos assinados em p7s. Os certificados eu já tenho. Queria ver mesmo se com o bouncycastle dá pra fazer (requisitos do projeto).

valeu

T

Pelo que imagino, o arquivo .p7s pode ser uma das seguintes coisas:

  • Uma assinatura digital (PKCS#7 signedData / detached)
  • O próprio dado, assinado digitalmente (PKCS#7 signedData / not detached)

Sendo assim, o BouncyCastle é suficiente - use aquelas classes cujos pacotes têm nomes com CMS (já que o nome oficial do PKCS#7 é “Cryptographic Message Syntax” se não me engano.

G

thingol:
Pelo que imagino, o arquivo .p7s pode ser uma das seguintes coisas:

  • Uma assinatura digital (PKCS#7 signedData / detached)
  • O próprio dado, assinado digitalmente (PKCS#7 signedData / not detached)

Sendo assim, o BouncyCastle é suficiente - use aquelas classes cujos pacotes têm nomes com CMS (já que o nome oficial do PKCS#7 é “Cryptographic Message Syntax” se não me engano.

Thingol,

O que eu pretendo fazer é:

  • ler um certificado de um smartcard/token.
  • pegar um arquivo qualquer (exe, dll, pdf, txt, etc)
  • assinar o arquivo
  • gerar um arquivo .p7s que será o arquivo original assinado digitalmente

estou estudando a api do bouncycastle. vc pode dizer se ele faz tudo isso que eu quero? assim passo a me focar exclusaivamente nele. se vc tiver alguma referência pra estudos eu agradeço muito!

obrigado!

T

A parte que lida com smartcards e tokens é o provider para Microsoft CryptoAPI ou PKCS#11 (dependendo dos drivers que o fabricante provê).
Procure por “Assembla” ou “SunMSCAPI” ou “SunPKCS11”.
Quanto à geração do PKCS#7 (ou S/MIME, não sei exatamente o que você precisa), acho que o BouncyCastle já é suficiente.

G

perfeito. obrigado pela paciência em responder.

vou me focar no bouncycastle. quando tiver algum resultado eu passo o link de um tutorial pra ajudar quem mais tiver com dúvida sobre isso.

um abraço

Dieval_Guizelini

Eu te indiquei aquele projeto, porque no projeto que trabalhei o bouncycastle (na época) não implementava corretamente o padrão x509 (mais utilizado em LDAP da vida).

E tinha outros problemas que não me recordo direito…

Veja um link sobre o seu tema, talvez a versão atual do bouncycastle esteja melhor.

http://fonteaberta.blogspot.com/2004/12/assinatura-de-textos-com-java.html

fw

G

Dieval,

É, eu já tinha lido este texto. Mas eu acredito que o bouncy castle implemente corretamente na versão atual. Pelo menos no site eles afirmam:

eu ainda estou me aprofundando nessa área e posso estar errado. mas os certificados já estão prontos a única coisa que eu quero mesmo é tentar gerar um arquivo .p7s válido

S

getName():
Dieval,

É, eu já tinha lido este texto. Mas eu acredito que o bouncy castle implemente corretamente na versão atual. Pelo menos no site eles afirmam:

eu ainda estou me aprofundando nessa área e posso estar errado. mas os certificados já estão prontos a única coisa que eu quero mesmo é tentar gerar um arquivo .p7s válido

Ola amigo …
Estou indo para o mesmo caminho que vc…
Que tal se formos juntos…

Eu desenvolvi um modulo de assinatura digital com o padrão pkcs#7 X.509 que por sua vez possuia extensão .p7s
caso queira trocar ideias o meu msn é o [email removido]

Estou trabalhando agora com java e estou fazendo oumelhor tentando criar um modulo de assinatura digital.

crech

É possível criar um arquivo .p7s (PKCS#7 signedData / not detached) que possa ser aberto com o XSign View ou com o Assinador de Documentos da Certisign?
Os arquivo .p7s gerados por essas mesmas aplicações usam o MSCapi (do Windows) para isso. Usando o Java é possível usar usar o MSCapi para gerar esses arquivos .p7s?

O que eu preciso fazer é criar um applet que faça a assinatura digital de um arquivo qualquer, gerando um arquivo .p7s com o documento anexado, sendo que este arquivo deve ser possível de visualizar nos programas citados acima.

S

crech:
É possível criar um arquivo .p7s (PKCS#7 signedData / not detached) que possa ser aberto com o XSign View ou com o Assinador de Documentos da Certisign?
Os arquivo .p7s gerados por essas mesmas aplicações usam o MSCapi (do Windows) para isso. Usando o Java é possível usar usar o MSCapi para gerar esses arquivos .p7s?

O que eu preciso fazer é criar um applet que faça a assinatura digital de um arquivo qualquer, gerando um arquivo .p7s com o documento anexado, sendo que este arquivo deve ser possível de visualizar nos programas citados acima.

Caro amigo…tenho esta solução so que em PASCAL …".dll"…serve ?

crech

Bom, eu preciso desenvolver usando Java, mesmo que funcione apenas no Windows. Acredito que é possível acessar as funções da DLL com Java, usando o JNA ou Jawin . Está DLL você desenvolveu usando o MSCapi? Como posso ter acesso a ela?

marciofermino

Amigos, voces conseguiram estou precisando disso no momento.

Poderiam ajudar ?

crech

Fazem alguns anos já que trabalhei com isso e não me lembro mais com foi a implementação, mas sei que usamos o SDK da BRy Tecnologia.

marciofermino

entendi,

é que no meu caso o cliente não quer usar o SDK.

bem mas valeu mesmo.

Obrigado.

Criado 8 de setembro de 2008
Ultima resposta 29 de ago. de 2013
Respostas 15
Participantes 6