Ajuda para criar arquivo .p7s

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.

Acho que este projeto pode te ajudar:

http://www.openca.org/

att

Dieval

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

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.

[quote=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.[/quote]

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!

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.

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

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

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

[quote=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
[/quote]

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 soulslinux@hotmail.com

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

É 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.

[quote=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.[/quote]

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

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?

Amigos, voces conseguiram estou precisando disso no momento.

Poderiam ajudar ?

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.

entendi,

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

bem mas valeu mesmo.

Obrigado.