Ajuda com assinatura digital

.NET

25/09/2013

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
Valter Furtado

Valter Furtado

Curtidas 0

Melhor post

Valter Furtado

Valter Furtado

10/01/2017

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

Mais Respostas

[desativado] Gonçalves

[desativado] Gonçalves

25/09/2013

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.
GOSTEI 0
Heraldo Moraes

Heraldo Moraes

25/09/2013

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

Valter Furtado

25/09/2013

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.
GOSTEI 0
Paulo Gonçalves

Paulo Gonçalves

25/09/2013

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.
GOSTEI 0
Valter Furtado

Valter Furtado

25/09/2013

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...
GOSTEI 0
Jorge Junior

Jorge Junior

25/09/2013

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

Walker Souza

25/09/2013

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?
GOSTEI 0
Valter Furtado

Valter Furtado

25/09/2013

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??
GOSTEI 0
Walker Souza

Walker Souza

25/09/2013

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.
GOSTEI 0
Valter Furtado

Valter Furtado

25/09/2013

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
GOSTEI 0
Walker Souza

Walker Souza

25/09/2013

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?
GOSTEI 0
Valter Furtado

Valter Furtado

25/09/2013

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.
GOSTEI 0
Walker Souza

Walker Souza

25/09/2013

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?
GOSTEI 0
POSTAR