Skip to content

Latest commit

 

History

History
84 lines (50 loc) · 3.85 KB

README.md

File metadata and controls

84 lines (50 loc) · 3.85 KB

RDSignatures

Assinatura de XML's com Cartão da Ordem e Cartão de Cidadão em C#

Possível:

  • Autenticação
  • Assinatura Digital

Instalar

Instalar via NuGet Gallery https://www.nuget.org/packages/RDSignatures/1.0.0?_src=template

  Install-Package RDSignatures -Version 1.0.0

Requer ainda de dois programas adicionais:

Cartão de Cidadão

Cartão da Ordem dos Médicos

Como utilizar

  1. Primeira Etapa
  • Necessário obter o certificado "pai" e "filho" para efetuar tanto a autenticação e assinatura

Exemplo Autenticação CC:

//obter o certificado de autenticacao "filho" através do nome que da pessoa, possível retornar NULL caso não encontre
X509Certificate2 certChildAutenticacaoCC = RDSignaturesClass.ReturnCertificate("EC de Autenticação do Cartão de Cidadão 0017", "RICARDO MANUEL PATRÍCIO SOARES");

//obter o certificado de autenticacao "pai" através do issuer name do certificado "filho"
X509Certificate2 certRootAutenticacaoCC = RDSignaturesClass.ReturnCertificate(certChildAutenticacaoCC.IssuerName.Name);

Exemplo Assinatura Digital CC:

//obter o certificado de assinatura "filho" através do nome que da pessoa, possível retornar NULL caso não encontre
X509Certificate2 certChildAssinaturaCC = RDSignaturesClass.ReturnCertificate("EC de Assinatura Digital Qualificada do Cartão de Cidadão 0017", "RICARDO MANUEL PATRÍCIO SOARES");

//obter o certificado de assinatura "pai" através do issuer name do certificado "filho"
X509Certificate2 certRootAssinaturaCC = RDSignaturesClass.ReturnCertificate(certChildAssinaturaCC.IssuerName.Name);

Exemplo Autenticação OM:

//obter o certificado de autenticacao "filho" através do nome que da pessoa, possível retornar NULL caso não encontre
X509Certificate2 certChildAutenticacaoOM = RDSignaturesClass.ReturnCertificate("MULTICERT Trust Services Certification Authority 002", "[Autenticação] (espécimen)");

//obter o certificado de autenticacao "pai" através do issuer name do certificado "filho"
X509Certificate2 certRootAutenticacaoOM = RDSignaturesClass.ReturnCertificate(certChildAutenticacaoOM.IssuerName.Name);

Exemplo Assinatura Digital OM:

//obter o certificado de assinatura "filho" através do nome que da pessoa, possível retornar NULL caso não encontre
X509Certificate2 certChildAssinaturaOM = RDSignaturesClass.ReturnCertificate("MULTICERT Trust Services Certification Authority 002", "[Assinatura Qualificada] (espécimen)");

//obter o certificado de assinatura "pai" através do issuer name do certificado "filho"
X509Certificate2 certRootAssinaturaOM = RDSignaturesClass.ReturnCertificate(certChildAutenticacaoOM.IssuerName.Name);
  1. Segunda Etapa
  • Necessário enviar o XML em string e os certificados obtidos na primeira etapa, necessário ainda enviar o tipo de CanonicalizationMethod e SignatureMethod

Exemplo:

//obter o SignedXml com os parametros necessarios para preencher um request
SignedXml xmlSignedObject = RDSignaturesClass.SignXmlFileWithCertificate(xml, certRootAutenticacaoCC, certChildAssinaturaCC, SignedXml.XmlDsigCanonicalizationWithCommentsUrl, SignedXml.XmlDsigRSASHA1Url);

Authors

🔗 Links

email

linkedin

github