Как производить печать CFDI?

Я создаю модуль, чтобы мочь производить файлы XML CFDI. Одна из точек состоит в том, чтобы производить цифровую печать, я продолжил шаги различных гидов, которые описывают в различных языках процесс, который у него должен быть с алгоритмами SHA-1 и RSA.

В моем коде, даже я считаю осуществленными два процесса, один с книжным магазином opensslkey и другой с родными книжными магазинами C#, два возвращают мне тот же результат. Проблема, - в котором validadores говорят мне, что печать сформирована плохо или недействительный.

У них идея есть, почему он может быть? (немедленно мой код).

private string generaSello()
{
    string strSello = string.Empty;
    string strPathLlave = CFDI.Properties.Settings.Default.llave;
    string strLlavePwd = CFDI.Properties.Settings.Default.clave;
    string strCadenaOriginal = generaCadena(); // Aquí ya haber generado la cadena original

    System.Security.SecureString passwordSeguro = new System.Security.SecureString();
    passwordSeguro.Clear();

    foreach (char c in strLlavePwd.ToCharArray())
        passwordSeguro.AppendChar(c);

    byte[] llavePrivadaBytes = System.IO.File.ReadAllBytes(strPathLlave);
    RSACryptoServiceProvider rsa = opensslkey.DecodeEncryptedPrivateKeyInfo(llavePrivadaBytes, passwordSeguro);

    SHA1Managed sha = new SHA1Managed();
    UTF8Encoding encoding = new UTF8Encoding();
    byte[] bytes = encoding.GetBytes(generaCadena());
    byte[] digest = sha.ComputeHash(bytes);

    RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(rsa);
    RSAFormatter.SetHashAlgorithm("SHA1");
    byte[] SignedHashValue = RSAFormatter.CreateSignature(digest);

    SHA1CryptoServiceProvider hasher = new SHA1CryptoServiceProvider();

    byte[] bytesFirmados = rsa.SignData(System.Text.Encoding.UTF8.GetBytes(strCadenaOriginal), hasher);
    strSello = Convert.ToBase64String(bytesFirmados);  // Y aquí está el sello
    string r = Convert.ToBase64String(SignedHashValue);// Y aquí está el sello 2 

    return strSello;
    //return r;
}

Это пример сформированного XML:

<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd" version="3.2" folio="0" fecha="2017-04-18T18:19:17" sello="iMTGK5FHmLpudWYIxLP99/h44JMErjg1bNLtblp/YvVAVTPMiMlwEF9Y+44wHOVeQ2u36xnl1aVVCL9T8fyUQwFRCmd9PtFWdAmSQrpHK914gomk31W+Hunrdrwj0Asewyn/wl1fVaJbeV2R0cVsdvrWJXhx3YguJPmyvrE+u7U=" formaDePago="0" noCertificado="20001000000200001428" certificado="MIIEYTCCA0mgAwIBAgIUMjAwMDEwMDAwMDAyMDAwMDE0MjgwDQYJKoZIhvcNAQEFBQAwggFcMRowGAYDVQQDDBFBLkMuIDIgZGUgcHJ1ZWJhczEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMTQwMgYJKoZIhvcNAQkCDCVSZXNwb25zYWJsZTogQXJhY2VsaSBHYW5kYXJhIEJhdXRpc3RhMB4XDTEzMDUwNzE2MDEyOVoXDTE3MDUwNzE2MDEyOVowgdsxKTAnBgNVBAMTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSkwJwYDVQQpEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEChMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxJTAjBgNVBC0THEFBQTAxMDEwMUFBQSAvIEhFR1Q3NjEwMDM0UzIxHjAcBgNVBAUTFSAvIEhFR1Q3NjEwMDNNREZOU1IwODERMA8GA1UECxMIcHJvZHVjdG8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKS/beUVy6E3aODaNuLd2S3PXaQre0tGxmYTeUxa55x2t/7919ttgOpKF6hPF5KvlYh4ztqQqP4yEV+HjH7yy/2d/+e7t+J61jTrbdLqT3WD0+s5fCL6JOrF4hqy//EGdfvYftdGRNrZH+dAjWWml2S/hrN9aUxraS5qqO1b7btlAgMBAAGjHTAbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBBQUAA4IBAQACPXAWZX2DuKiZVv35RS1WFKgT2ubUO9C+byfZapV6ZzYNOiA4KmpkqHU/bkZHqKjR+R59hoYhVdn+ClUIliZf2ChHh8s0a0vBRNJ3IHfA1akWdzocYZLXjz3m0Er31BY+uS3qWUtPsONGVDyZL6IUBBUlFoecQhP9AO39er8zIbeU2b0MMBJxCt4vbDKFvT9i3V0Puoo+kmmkf15D2rBGR+drd8H8Yg8TDGFKf2zKmRsgT7nIeou6WpfYp570WIvLJQY+fsMp334D05Up5ykYSAxUGa30RdUzA4rxN5hT+W9whWVGD88TD33Nw55uNRUcRO3ZUVHmdWRG+GjhlfsD" subTotal="1" TipoCambio="1.00" Moneda="Peso Mexicano" total="1" tipoDeComprobante="ingreso" metodoDePago="02,99" LugarExpedicion="Av. Cerro Gordo del Campestre 201 301, Las Quintas, 37125, León, León de los Aldama, Guanajuato, México" NumCtaPago="NO IDENTIFICADO">
    <cfdi:Emisor rfc="DRD091113A70" nombre="DESARROLLOS RESIDENCIALES DE LEON SA DE CV">
        <cfdi:DomicilioFiscal calle="Av. Cerro Gordo del Campestre" noExterior="201" noInterior="301" colonia="Las quintas" localidad="León de los Aldama" municipio="León" estado="Guanajuato" pais="México" codigoPostal="37125" />
        <cfdi:RegimenFiscal Regimen="PERSONA MORAL REGIMEN GENERAL" />
    </cfdi:Emisor>
    <cfdi:Receptor rfc="AAHA6301152K1" nombre="ABRAHAM ARAIZA HERNANDEZ">
        <cfdi:Domicilio calle="VIA AUREA" noExterior="440" colonia="VILLA MAGNA" municipio="SAN LUIS POTOSÍ" estado="SAN LUIS POTOSÍ" pais="MEXICO" codigoPostal="78413" />
    </cfdi:Receptor>
    <cfdi:Conceptos>
        <cfdi:Concepto cantidad="1" unidad="NO APLICA" descripcion="VENTA DE TERRENO&amp;#xA;LOTE 36 MZ 64 DE LA PRIVADA MAYORAZGO LA GAVIA DE CONFORMIDAD CON EL FIDEICOMISO DE BANCO DEL BAJIO NO. 10153-10-34 DE FECHA 24 DE ENERO DE 2011" valorUnitario="1" importe="1" />
    </cfdi:Conceptos>
    <cfdi:Impuestos />
</cfdi:Comprobante>
6
задан 20.04.2017, 21:34
0 ответов