pero creo q es incorrecto que modifiques el sello una vez que lo generas
¿aqui ya esta generado el sello ??
o sea,
¿ya firmaste tu cadena original y te dio como salida el archivo sello.txt???
Código: Seleccionar todo
Sello = AbrirArchivoTexto("C:\informes_sat\Sello.txt")
Certificado = AbrirArchivoTexto("C:\informes_sat\cer.txt")
Código: Seleccionar todo
Sello = Replace(Sello, Chr(10), "")
Sello = Replace(Sello, Chr(13), "")
ya se usó lineas arriba
Código: Seleccionar todo
Certificado = Replace(Certificado, "-", "")
Certificado = Replace(Certificado, " ", "")
Certificado = Replace(Certificado, "END", "")
Certificado = Replace(Certificado, "BEGIN", "")
Certificado = Replace(Certificado, "CERTIFICATE", "")
Certificado = Replace(Certificado, Chr(10), "")
Certificado = Replace(Certificado, Chr(13), "")
Código: Seleccionar todo
CrearXML(Val(LblOperacion.Text), 1, 232323, 2010, Sello, Certificado)
Me atrevo a asegurar que eso deberias hacerlo antes de mandar firmar
No comprendo del todo el funcionamiento del open ssl
pero creo que esa modficacion deberia ir por aqui
Código: Seleccionar todo
Shell("C:\OpenSSL\bin\openssl.exe x509 -inform DER -in c:\informes_sat\Certificado.cer -out c:\informes_sat\Cer.txt")
[b]Certificado = AbrirArchivoTexto("C:\informes_sat\cer.txt"
Certificado = Replace(Certificado, "-", "")
Certificado = Replace(Certificado, " ", "")
Certificado = Replace(Certificado, "END", "")
Certificado = Replace(Certificado, "BEGIN", "")
Certificado = Replace(Certificado, "CERTIFICATE", "")
Certificado = Replace(Certificado, Chr(10), "")
Certificado = Replace(Certificado, Chr(13), "")
guardarCertificado(Certificado) //o algo asi
//y luego todo lo demas (bueno eso creo, a reserva de lo que opinen los expertos en openssl
[/b]
Shell("C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in c:\informes_sat\Certificado.key -passin pass:a0123456789 -out c:\Informes_sat\llave.pem.txt")
Shell("C:\OpenSSL\bin\openssl.exe dgst -md5 -sign c:\informes_sat\llave.pem.txt -out c:\informes_sat\SelloBin.txt c:\informes_sat\cad.txt")
Shell("C:\OpenSSL\bin\openssl enc -base64 -in C:\informes_sat\SelloBin.txt -out C:\informes_sat\Sello.txt")