carlostpaiva
Membro
Bom dia
Meu caro Senhores, preciso assinar um xml com cumprir com o padrão XMLDSig, deve cumprir também com o padrão XAdES-BES. em c#, neste formato
envio um exemplo
Por favor preciso urgente ja tentei de varias maneiras so que da erro de reference mal formatado
Meu caro Senhores, preciso assinar um xml com cumprir com o padrão XMLDSig, deve cumprir também com o padrão XAdES-BES. em c#, neste formato
envio um exemplo
Por favor preciso urgente ja tentei de varias maneiras so que da erro de reference mal formatado
Código:
XmlDocument doc = new XmlDocument();
doc.PreserveWhitespace = false;
doc.Load(UID);
XmlElement df = doc.DocumentElement;
const string signedPropsIdSuffix = "-signedprops";
var signedXml = new SignedXml(doc)
{
SigningKey = cert.GetRSAPrivateKey()
};
signedXml.SignedInfo.CanonicalizationMethod = "http://www.w3.org/2001/10/xml-exc-c14n#";
signedXml.SignedInfo.SignatureMethod = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
var idKeyInfo = "xmldsig-" + Guid.NewGuid();
var idKeyInfoProps = "xmldsig-" + Guid.NewGuid() + signedPropsIdSuffix;
var idterceiro = "#xmldsig-" + Guid.NewGuid() + "-keyinfo";
#region keyinfo
var keyInfo = new KeyInfo();
var keydata = new KeyInfoX509Data(cert, X509IncludeOption.None);
keydata.AddIssuerSerial(cert.Issuer, cert.SerialNumber);
keyInfo.AddClause(keydata);
keyInfo.Id = idKeyInfo;
signedXml.KeyInfo = keyInfo;
#endregion keyinfo
#region References
//var transform = new XmlDsigEnvelopedSignatureTransform() { Algorithm = "http://www.w3.org/2001/10/xml-exc-c14n#" };
var transform = new XmlDsigExcC14NTransform();
var references = new List<Reference>();
// first reference
var keyInfoReference = new Reference();
keyInfoReference.Id = "xmldsig-" + Guid.NewGuid();
keyInfoReference.Uri = "#" + df.GetAttribute("Id");
keyInfoReference.DigestMethod = "http://www.w3.org/2001/04/xmlenc#sha256";
keyInfoReference.AddTransform(transform);
references.Add(keyInfoReference);
//second reference
var keyInfoReference2 = new Reference();
keyInfoReference2.Uri = "#xmldsig-" + Guid.NewGuid();
keyInfoReference2.DigestMethod = "http://www.w3.org/2001/04/xmlenc#sha256";
keyInfoReference2.AddTransform(transform);
references.Add(keyInfoReference2);
//third reference
var signaturePropertiesReference = new Reference();
signaturePropertiesReference.Type = "http://uri.etsi.org/01903/v1.3.2#SignedProperties";
signaturePropertiesReference.Uri = "#" + idKeyInfoProps;
signaturePropertiesReference.DigestMethod = "http://www.w3.org/2001/04/xmlenc#sha256";
signaturePropertiesReference.AddTransform(transform);
references.Add(signaturePropertiesReference);
foreach (Reference reference in references)
{
signedXml.AddReference(reference);
}
#endregion
#region 4. Set up <ds:Object> with <QualifiyingProperties> inside that includes SigningTime
var URI = "http://uri.etsi.org/01903/v1.3.2#";
XmlElement qualifyingPropertiesRoot = doc.CreateElement("xades", "QualifyingProperties", URI);
XmlElement signaturePropertiesRoot = doc.CreateElement("xades", "SignedProperties", URI);
signaturePropertiesRoot.SetAttribute("Id", idKeyInfoProps);
XmlElement SignedSignatureProperties = doc.CreateElement("xades", "SignedSignatureProperties", URI);
XmlElement timestamp = doc.CreateElement("xades", "SigningTime", URI);
timestamp.InnerText = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz"); // primero de la lista
signaturePropertiesRoot.AppendChild(SignedSignatureProperties);
SignedSignatureProperties.AppendChild(timestamp);
qualifyingPropertiesRoot.AppendChild(signaturePropertiesRoot);
var qualifyingPropertiesObject = new System.Security.Cryptography.Xml.DataObject
{
Data = qualifyingPropertiesRoot.SelectNodes("."),
//Id = idKeyInfoProps
};
signedXml.AddObject(qualifyingPropertiesObject);
#endregion
SignedXml tmp = new SignedXml(doc)
{
SigningKey = signedXml.SigningKey,
KeyInfo = signedXml.KeyInfo,
};
foreach (System.Security.Cryptography.Xml.DataObject obj in signedXml.Signature.ObjectList)
{
tmp.AddObject(obj);
}
tmp.AddReference(new Reference(""));
tmp.ComputeSignature();
XmlTextWriter prettyOut = new XmlTextWriter(System.Console.Out);
prettyOut.Formatting = System.Xml.Formatting.Indented;
doc.WriteTo(prettyOut);
XmlElement elem = tmp.GetXml();
doc.DocumentElement.AppendChild(elem);
doc.WriteTo(prettyOut);
signedXml.ComputeSignature();
doc.DocumentElement.RemoveChild(elem);
doc.DocumentElement.AppendChild(signedXml.GetXml());
doc.Save(UID);
xml assinado como este
<?xml version="1.0" encoding="UTF-8"?>
<Dfe xmlns="urn:cv:efatura:xsd:v1.0" DocumentTypeCode="01" Id="CV3220712253095794000010100000013109784241060" Version="1.0">
<Invoice>
<LedCode>1</LedCode>
<Serie>0</Serie>
<DocumentNumber>131</DocumentNumber>
<IssueDate>2022-07-12</IssueDate>
<IssueTime>10:27:29</IssueTime>
<TaxPointDate>2022-07-12</TaxPointDate>
<EmitterParty>
<TaxId CountryCode="CV">253095794</TaxId>
<Name>Economia e Gestao, Lda.</Name>
<Address CountryCode="CV">
<AddressDetail> S. Nicolau 5300003</AddressDetail>
<AddressCode>CV774741741037410319</AddressCode>
</Address>
<Contacts>
<Telefax>2635652</Telefax>
<Email>[email protected]</Email>
</Contacts>
</EmitterParty>
<ReceiverParty>
<TaxId CountryCode="CV">253309859</TaxId>
<Name>DANI</Name>
<Address CountryCode="CV">
<AddressDetail>PLATO</AddressDetail>
<AddressCode>CV774741741037410321</AddressCode>
</Address>
<Contacts>
<Telephone>2613990</Telephone>
<Telefax>2613990</Telefax>
<Email>[email protected]</Email>
</Contacts>
</ReceiverParty>
<Lines>
<Line LineTypeCode="N">
<Quantity UnitCode="EA">1</Quantity>
<Price>20000</Price>
<PriceExtension>20000</PriceExtension>
<NetTotal>20000</NetTotal>
<Tax TaxTypeCode="IVA">
<TaxPercentage>15</TaxPercentage>
</Tax>
<Item>
<Description>CONTABILIDADE E ACESSORIA FISCAL</Description>
<EmitterIdentification>ServiçosConta</EmitterIdentification>
</Item>
</Line>
</Lines>
<Totals>
<PriceExtensionTotalAmount>20000</PriceExtensionTotalAmount>
<ChargeTotalAmount>0</ChargeTotalAmount>
<DiscountTotalAmount>0</DiscountTotalAmount>
<NetTotalAmount>20000</NetTotalAmount>
<TaxTotalAmount>3000</TaxTotalAmount>
<PayableAmount>23000</PayableAmount>
</Totals>
<Payments>
<PaymentDueDate>2022-07-11</PaymentDueDate>
<PaymentTerms>
<Note>O valor a ser Pago como:</Note>
</PaymentTerms>
</Payments>
</Invoice>
<Transmission>
<IssueMode>2</IssueMode>
<TransmitterTaxId CountryCode="CV">253095794</TransmitterTaxId>
<Software>
<Code>GESTCLI</Code>
<Name>Gest Client</Name>
<Version>1.0.0.0</Version>
</Software>
<Contingency>
<IssueDate>2022-07-12</IssueDate>
<IssueTime>10:27:30</IssueTime>
<ReasonTypeCode>3</ReasonTypeCode>
</Contingency>
</Transmission>
<RepositoryCode>3</RepositoryCode>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="xmldsig-f1b6eecc-42fd-47f1-b640-d9a2a007785a">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"></ds:SignatureMethod>
<ds:Reference Id="xmldsig-f1b6eecc-42fd-47f1-b640-d9a2a007785a-ref0" URI="#CV3220712253095794000010100000013109784241060">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></ds:DigestMethod>
<ds:DigestValue>PXYHSI2eUW2CUjsDi6tzHHlnd2ZimyXm0Xu88oZ2RgU=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#xmldsig-f1b6eecc-42fd-47f1-b640-d9a2a007785a-keyinfo">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></ds:DigestMethod>
<ds:DigestValue>Dmkj+lvf0XAAiQs0IrVoSnwbSyuuTK9pY8ZFUBj0s3I=</ds:DigestValue>
</ds:Reference>
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xmldsig-f1b6eecc-42fd-47f1-b640-d9a2a007785a-signedprops">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></ds:DigestMethod>
<ds:DigestValue>u79XW0/MWp/wga8zbP2bxzttVqdp1loib9rdlG9UawU=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue Id="xmldsig-f1b6eecc-42fd-47f1-b640-d9a2a007785a-sigvalue">
iKpRgQsRfVkDTnDRN+XzppGCrmkOwlOJjdFmcRkphRbvxShN4GxPCJ+zQWvuoliIoWIR6XjgsPrz
L4PvdQHAUYqxgv+BEWuXrxYvZuVEWC55JEoQyHhd3cf+UYGd14HvYX6pdmQRVpjlXla7R0q1FhQ4
7o3e9zUFmsRnzD1t8Fngr1zkeLQS+PzHhsFGnGTRcHhCoK87HPSq7QycXifMJxPKTT8II7LZAefm
rBMZvg5kRIugiZEQq85O8Wac7nRk43oxl2gGvB+SfjN9vcrVLpOICT7qFtCpK980Uf4YqRnbjPCL
33qjNsOfiEvgb6uouiuwDWXmZuvI0OBsKXrLssu0pkBNLesD77V2qcq5m/C+zDIC0O2XTBD8s4r8
GduZIZGpIj2rY1V+UEBneZjKJCLpJOdwZsJPA+PM/bK2K+AzO+1QS/yIEmm8HKubBk7kU5mDp6fz
pVN4qTlDKn1aj8EkRWkHLbJYW0AbpS+lEtPN0roOPOJ/OFW7tdcjl144AEJBH+MkEcbuH06vLLsA
Co4C0p91t14/vunqfEDkgkX6WXdhbQKMbcqlp4xkQM1fcFKlm0qQ3CEJZr4yY7YWtOhnxl9nJijO
POA4j3oHethOTZNsRzZ1nl6gm4a2BPVKHYiXFUDpcywLZqn9wl8lb6I+KzrmJAmvtJ6dJuqzlHg=
</ds:SignatureValue>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="xmldsig-f1b6eecc-42fd-47f1-b640-d9a2a007785a-keyinfo">
<ds:X509Data>
<ds:X509Certificate>
MIIG7jCCBNagAwIBAgIIX/VqtuCzV8EwDQYJKoZIhvcNAQELBQAwFjEUMBIGA1UEAwwLVGVzdGVT
aXNwQ0EwHhcNMjIwMTAzMTA1NDQ4WhcNMjMwMTAzMTA1NDQ4WjCBvDErMCkGCSqGSIb3DQEJARYc
YWIuZWNvbm9taWFlZ2VzdGFvQGdtYWlsLmNvbTELMAkGA1UEAwwCQUIxGjAYBgNVBAsMEUZhdHVy
YSBFbGV0cm9uaWNhMRUwEwYDVQRhDAxDVi0yNTMwOTU3OTQxQDA+BgNVBAoMN0FudG9uaW8gQm9y
Z2VzIC0gRWNvbm9taWEgRSBHZXN0YW8gU29jaWVkYWRlIFVuaXBlc3NvYWwxCzAJBgNVBAYTAkNW
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1SWn23kQnj/pZZiIYAbsHvupQtKYunqV
9oF2NDKapgOvqJdbzP7/wWAuwBkeu/lTygRsJ/fJvdu2wvIFP07HVcZUtl6FLw/hmGVdTBt5cK/c
2u6mIVGUOuz/juW5Q1DDR18M1QjMuKquaV5sj9OVCb65R8NbOLyOI97oPAXFc0uQlZp4rbHxp0gB
RDyQkhvl8L7PcSGSLvx9m0YDNGKsKO6xZa1e4w+goQHZqK8kdpBECqTwRU7zTNPY7yO6IlW6I637
PP4V8fJOlnsaxE1+r//d4mF6XIJfYI9H9Gdn9N94s16K3h1VHGCmj/pQkewOCL9wzi6sHspp0iHx
XgfBX0MsufdS4gmRoSGPaJ8QTYY/zWPOMtDhIkFjlew7hPZEiES17YyEb+51BXTCG9AaSKMcVAf7
xckAWcTb9r1wI1SK5GIZhCw60u4wy7lp0gMkq4F8gQ3I9/5ejQE5+AQSuLJOL6ZtjSTVdck1AQrQ
JCl9zGiS8l+SINUSbEfaz0tgUAaILexKjDeUa4lZDQT31D3IlenKTgWz9fvhYB8K+ef/JPkDTxaK
VftIZaxM69z0GA72hY22TWMf960gQlsjmGGvtqxsBSS+811XrpuuKTMxfvvWZOY6g8mfOD4OLpso
gKDyOcJpcrTHvXFYwHsByv2FJCb41rqjA7tLJeNqwq8CAwEAAaOCAZcwggGTMC8GCCsGAQUFBwEB
BCMwITAfBggrBgEFBQcwAYYTaHR0cDovL29jc3Auc2lzcC5jdjAdBgNVHQ4EFgQU/QNAQZLUxe6V
bU9Fhy5lmP5f5LcwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBQv9JRE2sKdGU0vHkiNNPO3g254
1DA3BggrBgEFBQcBAwQrMCkwCAYGBACORgEBMAgGBgQAjkYBBDATBgYEAI5GAQYwCQYHBACORgEG
AjCBgwYDVR0gBHwwejA7BghggQQBAgIDAjAvMC0GCCsGAQUFBwIBFiFodHRwOi8vcGtpLnNpc3Au
Y3YvcG9sL2luZGV4Lmh0bWwwOwYIYIEEAQMCAwIwLzAtBggrBgEFBQcCARYhaHR0cDovL3BraS5z
aXNwLmN2L3BvbC9pbmRleC5odG1sMC4GA1UdHwQnMCUwI6AhoB+GHWh0dHA6Ly9jcmwuc2lzcC5j
di9zaXNwY2EuY3JsMA4GA1UdDwEB/wQEAwIFYDATBgNVHSUEDDAKBggrBgEFBQcDBDANBgkqhkiG
9w0BAQsFAAOCAgEAWfDTpzayZ6VxmIkMeRAPN0gI0WBSczspE1PdzylrEX5xz1LKln0++CdiC/Pu
mcpvkqqyFnMb6arINume4ot32KjNYtgWA4yNUxXvx7piOpquwG+79V+N9OmvjOrCNFtrS0aR09fj
MpLY33wCfBLKIyC6jVZ1Sv1hgU/QWaiUp7OiUhHJd+0aeuQYQO5YvBqWiTfcE2SMKDj7/SBE/MTz
FYIVplBhVyDQH3Ua4weAyp+Q5ew969N9e50jlHgeBx42tWorhrOo7ZtXFN6vk1clAi7juznUSjb4
DEJAzpwtkSBRlBxXzFUV/WfJuVVxm+vuSvJs9bCRgHtpVqRftSPHyXPOESWTfddoujCs3+LOZjP9
D+7LAIO7b4o6n5zJbcJ8vM1LnJYJ20Oprd0qsMuDE+/Vc6hoJH7IRVTbytRuKy+gGDMc3D1USKBT
6k4uvDDYR3xU8p7dTH9zbcbwE6ZZi3+R8kxFoqLoSf1ByWhGSUHi3YQIeXcXRXN1+s67mRx3dCDp
ncjgwm9jUEjdEimjJIp2vPtnCwdx4uBS/5n76FAcnjLW5NFnx6GgW/tEXjbSWpsylzAXGjeZWeDH
47Tl6BYISBUfl387rKn0ctQDa7U63fuikrtdkiQyDy3ReOT5Usgx/lS7szPaf7J1mptx7J7nMNFW
DG26JjBKF+xbHM4=
</ds:X509Certificate>
<ds:X509IssuerSerial>
<ds:X509IssuerName>cn=TesteSispCA</ds:X509IssuerName>
<ds:X509SerialNumber>6914550136583706561</ds:X509SerialNumber>
</ds:X509IssuerSerial>
<ds:X509SubjectName>c=CV,o=Economia E Gestao Sociedade Unipessoal,2.5.4.97=CV-253095794,ou=Fatura Eletronica,cn=AB,1.2.840.113549.1.9.1</ds:X509SubjectName>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object><xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#" Target="#xmldsig-f1b6eecc-42fd-47f1-b640-d9a2a007785a"><xades:SignedProperties Id="xmldsig-f1b6eecc-42fd-47f1-b640-d9a2a007785a-signedprops"><xades:SignedSignatureProperties><xades:SigningTime>2022-07-12T11:29:15.545-01:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></ds:DigestMethod><ds:DigestValue>6/OH7zBR7dT/W6fwYi/WR58ld3jabGYQOKSPpwOuxF0=</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>cn=TesteSispCA</ds:X509IssuerName><ds:X509SerialNumber>6914550136583706561</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties></xades:SignedProperties><xades:UnsignedProperties><xades:UnsignedSignatureProperties><xades:SignatureTimeStamp><ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod><xades:EncapsulatedTimeStamp>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
RWPA/qcWTdXfypZktshDTqtwXYAFXu71FaeLjs3URBRiVnsbYpo1/mZlBmqgzAh8U9KXQ6NCoW80
PA9OVESiwGNOzWBvH+byE3pYUwLkwECWLm+6DcM8HsbOGjn+dsA18OJOjr48YLVreqbPBnFYPOiG
Cl56rDbi/ETfE7qe9jqTCIxrMH6sk8vwy1xQfwQJQqga/qhy9z/a8+CnYXjxWMWoIcTX8wbw4Gvc
Fa8gsGamhkcZu9kvtRu164kYFcHxALwbtqxvhrlVCkbPWgNmSQPF9S0mIv2laI6FBw1Dsq9oJxzy
jOFmGjyE4PzLx2DkWN7/79HbUfV6o58kUD2vQzQcMOGlTXC7cwCta/3Rx/jg0AYJcxA/o9A2zSag
WdeHdpeaMIIGQzCCBCugAwIBAgIIF6FeNiOxaM4wDQYJKoZIhvcNAQELBQAwgZAxMDAuBgNVBAMM
J0VudGlkYWRlIGRlIENhcmltYm8gZG8gVGVtcG8gZGEgU0lTUCAwMTE+MDwGA1UECww1U0lTUC1T
b2NpZWRhZGUgSW50ZXJiYW5jYXJpYSBlIFNpc3RlbWFzIGRlIFBhZ2FtZW50b3MxDzANBgNVBAoM
BklDUC1DVjELMAkGA1UEBhMCQ1YwHhcNMjEwNzA5MTEwNTM1WhcNMjMwNzA5MTEwNTM1WjB4MRgw
FgYDVQQDDA9TSVNQVFNBU2lnbmVyMDQxPjA8BgNVBAsMNVNJU1AtU29jaWVkYWRlIEludGVyYmFu
Y2FyaWEgZSBTaXN0ZW1hcyBkZSBQYWdhbWVudG9zMQ8wDQYDVQQKDAZJQ1AtQ1YxCzAJBgNVBAYT
AkNWMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtp9N/OVLG1pJn1n390X/dDAK8I/V
yepnueCjGkb7+3O99LoXyVRMlh1cndsOaaAreJECv+97csIy6YVqDjEvBs6zZg5MDQWvQSBqrqcy
bgGGM5fvhCm2pgZIz9vovVX+FRaE2YL2BJBwwx0Oj2byD11XZP8BE9vtcqBZUZ4FI4G49UGYFMhr
CagIDwicoMM5K031aFKdE6VbaTI7ctu0oJBYiLtkzF2+9oyGGUJ1YMezU9rlY+wGbZGQ5bdDt8Lq
b9ib96GEwtHs8X8eDEV62VrTExe9vXTUDikauuRvs9sPmQ9quFYJorfc1G0cY8xV5/lS9OdBzd7N
1GR1oUHpVQIDAQABo4IBtjCCAbIwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRwOi8v
b2NzcC5zaXNwLmN2MB0GA1UdDgQWBBTR6+/4nTMBM6duxFhWsc2XVPtTPjAMBgNVHRMBAf8EAjAA
MB8GA1UdIwQYMBaAFNIZYZoFdc2Yxsg1Z8c1hfeYD7BOMIHWBggrBgEFBQcBAwSByTCBxjAKBggr
BgEFBQcLAjCBtwYHBACBl14BAQyBq0J5IGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudCB0aGUg
aXNzdWVyICBjbGFpbXMgIHRoYXQgdGhpcyAgdGltZS1zdGFtcCB0b2tlbiBpcyBpc3N1ZWQgYXMg
YSBxdWFsaWZpZWQgZWxlY3Ryb25pYyB0aW1lLXN0YW1wIGFjY29yZGluZyB0byB0aGUgUkVHVUxB
VElPTiAoRVUpIE5vIDkxMC8yMDE0LTAwBgNVHR8EKTAnMCWgI6Ahhh9odHRwczovL2NybC5zaXNw
LmN2L3Npc3B0c2EuY3JsMA4GA1UdDwEB/wQEAwIGQDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAN
BgkqhkiG9w0BAQsFAAOCAgEAScgfZeiQ8QD2zbkHa8ZEF8LPKlImWCrbLsYMkkKQlEyh0cnRKGHa
KSt59+NMt2rYT08xHBQ+tgd+gZyzgyAgELAqOT/Sn9gkbauHf+vHeTLKgv9JDMD0IpsaGDpHibCX
Df4pObATxGHsOO9SfBlrXb9i8yOndlC4xm4ocexGGWvbWKDANL26GGIU4Hqu2Ihwc0xgVzJNCw0P
A2JmrK203iTU5ZWq6QYDNh4ItHeZEDaVYALeiIIZHIFV0lJVtCDL6uvfIVeaSIcjbdXcfItpot8/
+AendFW6hbvoy6oTHqFVSXF7p3fZFdNcI7bNycmpx3FPTPGazHYVPn4+PSbOnoKJbPjOeXeFWB4o
BAoAoy+j6A40VEckvYPJ4WZ+6tvB7uKvuRlRcsbHGlr9SHor8ZHz50TC9ctHVCN+Ucxh/kplwJT0
JFWfOglQFQAefYZOwm4r+0XQ6qFl7OnC+aXAnSmMg+ACBIgPELbEL9fX4Sh/QgnuHxdSJpC5ugzT
CaNoFTa+cGbELzxDOsIRU2TWDYr2BMWH2vqt8mb4gZn8zGVRv+hncj63z/equHfgCbWP6uCFf+Eq
pqa8G3rnfpmE5kRgZ/je9MkZWOJ0B58kEZsVrGf5V1Jmlz6GMLH9jGmiItbHn+3of7QiCn6w+VUQ
n2JNAFUZ9QvubBt5rfdhqKQxggNLMIIDRwIBATCBnTCBkDEwMC4GA1UEAwwnRW50aWRhZGUgZGUg
Q2FyaW1ibyBkbyBUZW1wbyBkYSBTSVNQIDAxMT4wPAYDVQQLDDVTSVNQLVNvY2llZGFkZSBJbnRl
cmJhbmNhcmlhIGUgU2lzdGVtYXMgZGUgUGFnYW1lbnRvczEPMA0GA1UECgwGSUNQLUNWMQswCQYD
VQQGEwJDVgIIF6FeNiOxaM4wDQYJYIZIAWUDBAIBBQCgggF+MBoGCSqGSIb3DQEJAzENBgsqhkiG
9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjIwNzEyMTIyOTE2WjAtBgkqhkiG9w0BCTQxIDAeMA0G
CWCGSAFlAwQCAQUAoQ0GCSqGSIb3DQEBCwUAMC8GCSqGSIb3DQEJBDEiBCC82zS4vX0m+UgJNWE0
Khtc3TMwajHhGZ65iCLpyMOT/jCB4QYLKoZIhvcNAQkQAi8xgdEwgc4wgcswgcgEIFY1I39Fbipx
3jNnwBxHfaBLQg5Eq3pdT2Z520a7R5pMMIGjMIGWpIGTMIGQMTAwLgYDVQQDDCdFbnRpZGFkZSBk
ZSBDYXJpbWJvIGRvIFRlbXBvIGRhIFNJU1AgMDExPjA8BgNVBAsMNVNJU1AtU29jaWVkYWRlIElu
dGVyYmFuY2FyaWEgZSBTaXN0ZW1hcyBkZSBQYWdhbWVudG9zMQ8wDQYDVQQKDAZJQ1AtQ1YxCzAJ
BgNVBAYTAkNWAggXoV42I7FozjANBgkqhkiG9w0BAQsFAASCAQB9rO+/hCj4TSZNQBnAY50RBvo9
wj5SGnGCVMolk+uqdEovdwR9D/H8gI1Qa99XjIlCosEbQdAWGeNVKZYUVM/+nUD3Xb7znVbUJBZJ
TitIr/dRqXN7Fs2a46Yp8ycD7Xmv6K5DGIwcLAvA+xZav41iuFjPZ+o/kvo/ozrJKi+RBSqNwLsM
4hNtYlkecpY8wVHUaaC27zEldarH8l0SWe6VWZJ9rrrTBjBDAM86uGA2Uq4nB5/uAsqlKaA6LwFl
3fH7yc4AATMokd+jP/daJD++KQNJU6lgDwFVUfy1cF6iw3zxDLyQkAJKpHKghGSOE4Dp/OqXWwj1
w2ucLAPygE1v</xades:EncapsulatedTimeStamp></xades:SignatureTimeStamp></xades:UnsignedSignatureProperties></xades:UnsignedProperties></xades:QualifyingProperties></ds:Object>
</ds:Signature></Dfe>
Última edição pelo moderador: