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).
valeu
T
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.
G
getName
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
thingol
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
getName
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.
É, 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
Soulslinux
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
Soulslinux
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.