Click or drag to resize

SatSignXmlToBytes(Byte, String, String, String, SignOptions) Method

Sign XML data writing output to a byte array.

Namespace: FirmaSAT
Assembly: diFirmaSatNet (in diFirmaSatNet.dll) Version: 10.70.0.38178 (10.70.0.0)
Syntax
public static byte[] SignXmlToBytes(
	byte[] xmlData,
	string keyFile,
	string password = "",
	string certFile = "",
	SignOptions signOpts = SignOptions.Default
)

Parameters

xmlData  Byte
Byte array containing XML data
keyFile  String
Name of private key file (or string containing key data in PEM format)
password  String  (Optional)
Password for key file
certFile  String  (Optional)
(optional) name of X.509 certificate file to be included in output XML (or string containing certificate data in base64 or PEM format)
signOpts  SignOptions  (Optional)
Options for output format

Return Value

Byte
Signed XML data in a byte array
Remarks
Output XML is always UTF-8 encoded
Example
C#
string password = "12345678a";
string keyStr = Sat.GetKeyAsString("emisor.key", password, KeyOption.EncryptedPEM);
string cerStr = Sat.GetCertAsString("emisor.cer");
byte[] xmlArr = File.ReadAllBytes("cfdv40-ejemplo.xml");
byte[] xmlArrSigned = Sat.SignXmlToBytes(xmlArr, keyStr, password, cerStr, 0);
Console.WriteLine(System.Text.Encoding.UTF8.GetString(xmlArrSigned));
// <?xml version="1.0" encoding="UTF-8"?>
// <cfdi:Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" ...
See Also