Ajuda com assinatura digital

25/09/2013

20

Boa noite,
estou em um projeto onde tenho que assinar arquivos PDF com certificado digital, já consegui essa parte.

O que gostaria agora é de EMPACOTAR em arquivos P7S o arquivo assinado, por que? Vamos supor que eu assine uma imagem... ela tem que ser empacotada...

Alguém sabe como gero esse arquivo P7S?? Material muito escasso na internet.... vlw
Responder

Post mais votado

10/01/2017

Sim, porém como informei anteriormente o processo que realizei foi usando C#.. não sei como funciona em Delphi
Responder

Mais Posts

Olá Valter, acho que está faltando alguns conceitos sobre assinatura digital.

A Assinatura Digital de PDF ou o DRM do documento usando os mecanismos da Adobe é ligeiramente diferente de criar um documento (qualquer formato que seja) assinado e envelopar o mesmo.

Para que eu possa te ajudar, preciso de mais detalhes da finalidade desta assinatura que você quer fazer.

Em português, realmente, o material é escasso sim, dado que nosso editorial paga muito mal os autores fazendo com que não consigamos viver de escrever, logo, temos diversas coisas em inglês. Para te ajuda, infelizmente na língua do tio sam, seguem vários materiais:

http://dict.mizoram.gov.in/uploads/attachments/cyber_crime/digital-signatures-technical-issues.pdf
https://www.owasp.org/index.php/Digital_Signature_Implementation_in_Java
http://www.cgi.com/files/white-papers/cgi_whpr_35_pki_e.pdf
http://www.emc.com/emc-plus/rsa-labs/standards-initiatives/index.htm

Mas também tem uma migalha em portugues:

http://www.receita.fazenda.gov.br/atendvirtual/orientacoes/conceitobasico.htm
http://www.usp.br/arquivogeral/wp-content/uploads/anexo/palestras/silvio.pdf
http://www.softplan.com.br/saj/downloads/cartilha_eletronica.pdf
http://leonelfraga.com/neomatrixtech/posts/2009/12/assinatura-digital-com-c-net.html


Se você for mais específico, consigo te ajudar melhor.
Responder

28/03/2014

Heraldo Moraes

Preciso assinar arquivos PDF com certificado digital e-cpf em .Net. Existe algum material ou treinamento para isto ?
Responder

28/03/2014

Valter Furtado

Olá Valter, acho que está faltando alguns conceitos sobre assinatura digital.

A Assinatura Digital de PDF ou o DRM do documento usando os mecanismos da Adobe é ligeiramente diferente de criar um documento (qualquer formato que seja) assinado e envelopar o mesmo.

Para que eu possa te ajudar, preciso de mais detalhes da finalidade desta assinatura que você quer fazer.

Em português, realmente, o material é escasso sim, dado que nosso editorial paga muito mal os autores fazendo com que não consigamos viver de escrever, logo, temos diversas coisas em inglês. Para te ajuda, infelizmente na língua do tio sam, seguem vários materiais:

http://dict.mizoram.gov.in/uploads/attachments/cyber_crime/digital-signatures-technical-issues.pdf
https://www.owasp.org/index.php/Digital_Signature_Implementation_in_Java
http://www.cgi.com/files/white-papers/cgi_whpr_35_pki_e.pdf
http://www.emc.com/emc-plus/rsa-labs/standards-initiatives/index.htm

Mas também tem uma migalha em portugues:

http://www.receita.fazenda.gov.br/atendvirtual/orientacoes/conceitobasico.htm
http://www.usp.br/arquivogeral/wp-content/uploads/anexo/palestras/silvio.pdf
http://www.softplan.com.br/saj/downloads/cartilha_eletronica.pdf
http://leonelfraga.com/neomatrixtech/posts/2009/12/assinatura-digital-com-c-net.html


Se você for mais específico, consigo te ajudar melhor.


Preciso de algo até simples, a princípio o PDF eu consegui assinar, mas não consegui colocar o carimbo de tempo.

Por que "empacotar" em P7S? Por que dessa forma, independe do tipo de arquivo que vou assinar... se vai ser um pdf, jpg, png, zip... o que for... assim o documento que estiver assinado vai estar válido.
Responder
Valter, dá uma olhada nesse link.

http://docs.oracle.com/cd/E19398-01/820-1228/gfnmj/index.html

Está conceituando o que é um PKCS#7 Attached (com arquivo e assinatura anexada) e dettached (somente a assinatura sem o arquivo anexado).

Tudo isto pode ser obtido usando o objeto CMSSignedData do .NET. Você conhece esta classe? Busca no google a documentação desta classe com alguns exemplos que vai te dar uma ideia do que fazer. Ao final, basta serializar em um arquivo .p7s e você terá os dois conteúdos unidos. Outra forma, é usar S/MIME ao invés do PKCS#7. Todos os sistemas de e-mail usam este formato porque permite criar um arquivo estruturado e com toda a informação suficiente incluindo assinatura digital.
Responder

28/03/2014

Valter Furtado

Valter, dá uma olhada nesse link.

http://docs.oracle.com/cd/E19398-01/820-1228/gfnmj/index.html

Está conceituando o que é um PKCS#7 Attached (com arquivo e assinatura anexada) e dettached (somente a assinatura sem o arquivo anexado).

Tudo isto pode ser obtido usando o objeto CMSSignedData do .NET. Você conhece esta classe? Busca no google a documentação desta classe com alguns exemplos que vai te dar uma ideia do que fazer. Ao final, basta serializar em um arquivo .p7s e você terá os dois conteúdos unidos. Outra forma, é usar S/MIME ao invés do PKCS#7. Todos os sistemas de e-mail usam este formato porque permite criar um arquivo estruturado e com toda a informação suficiente incluindo assinatura digital.


Muito obrigado pela ajuda... vou pesquisar sim... se tiver dúvidas posto de novo rs...
Responder

10/01/2017

Jorge Junior

Preciso assinar arquivos PDF com certificado digital e-cpf em Delphi vc conseguiu? Tem algum material sobre isso. Grato, Abraço.
Responder

20/10/2019

Walker Souza

Preciso assinar arquivos PDF com certificado digital e-cpf em Delphi vc conseguiu? Tem algum material sobre isso. Grato, Abraço.


Você conseguiu assinar o PDF e gerar o P7S?
Responder

21/10/2019

Valter Furtado

Preciso assinar arquivos PDF com certificado digital e-cpf em Delphi vc conseguiu? Tem algum material sobre isso. Grato, Abraço.


Você conseguiu assinar o PDF e gerar o P7S?


Consegui sim, o problema todo é que o código ficou na empresa...

Vou tentar fazer um tutorial depois e postar aqui... mas é em C#
Você está tentando em qual linguagem??
Responder

29/10/2019

Walker Souza

Preciso assinar arquivos PDF com certificado digital e-cpf em Delphi vc conseguiu? Tem algum material sobre isso. Grato, Abraço.


Você conseguiu assinar o PDF e gerar o P7S?


Consegui sim, o problema todo é que o código ficou na empresa...

Vou tentar fazer um tutorial depois e postar aqui... mas é em C#
Você está tentando em qual linguagem??


Estou usando Delphi XE com Capicom, não sei se é o caminho.
Responder

29/10/2019

Valter Furtado

Preciso assinar arquivos PDF com certificado digital e-cpf em Delphi vc conseguiu? Tem algum material sobre isso. Grato, Abraço.


Você conseguiu assinar o PDF e gerar o P7S?


Consegui sim, o problema todo é que o código ficou na empresa...

Vou tentar fazer um tutorial depois e postar aqui... mas é em C#
Você está tentando em qual linguagem??


Estou usando Delphi XE com Capicom, não sei se é o caminho.


Delphi não tenho conhecimento nenhum rs
Responder

29/10/2019

Walker Souza

Preciso assinar arquivos PDF com certificado digital e-cpf em Delphi vc conseguiu? Tem algum material sobre isso. Grato, Abraço.


Você conseguiu assinar o PDF e gerar o P7S?


Consegui sim, o problema todo é que o código ficou na empresa...

Vou tentar fazer um tutorial depois e postar aqui... mas é em C#
Você está tentando em qual linguagem??


Estou usando Delphi XE com Capicom, não sei se é o caminho.


Delphi não tenho conhecimento nenhum rs


Mas pode ser em C, pq pego a ideia, vc ta usando Capicom?
Responder

29/10/2019

Valter Furtado

Preciso assinar arquivos PDF com certificado digital e-cpf em Delphi vc conseguiu? Tem algum material sobre isso. Grato, Abraço.


Você conseguiu assinar o PDF e gerar o P7S?


Consegui sim, o problema todo é que o código ficou na empresa...

Vou tentar fazer um tutorial depois e postar aqui... mas é em C#
Você está tentando em qual linguagem??


Estou usando Delphi XE com Capicom, não sei se é o caminho.


Delphi não tenho conhecimento nenhum rs


Mas pode ser em C, pq pego a ideia, vc ta usando Capicom?


Nao, fiz o uso da lib CMSSignedData do próprio .NET gerando no fim o arquivo PKCS#7... daí fiz lá o assinador e o leitor.
Responder

29/10/2019

Walker Souza

Você poderia fazer pra m uma DLL? Abrir o Store dos certificados para selecionar um A3, verificar se o certificado está Ok, passaria dois parâmetros, arquivo origem e arquivo destino. Podemos conversar?
Responder