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?
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).
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!
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.
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.
É, 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
É, 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?