SignatureGenerator
in package
Clase que maneja la generación de firmas electrónicas, en particular para documentos XML.
Table of Contents
Methods
- digestXmlReference() : string
- Genera la digestión SHA1 ("DigestValue") de un nodo del XML con cierta referencia. Esto podrá ser usado luego para generar la firma del XML.
- sign() : string
- Firma los datos proporcionados utilizando un certificado digital.
- signXML() : string
- Firma un documento XML utilizando RSA y SHA1.
Methods
digestXmlReference()
Genera la digestión SHA1 ("DigestValue") de un nodo del XML con cierta referencia. Esto podrá ser usado luego para generar la firma del XML.
public
static digestXmlReference(XmlDocument $doc[, string|null $reference = null ]) : string
Si no se indica una referencia se calculará el "DigestValue" sobre todo el XML (nodo raíz).
Parameters
- $doc : XmlDocument
-
Documento XML que se desea firmar.
- $reference : string|null = null
-
Referencia a la que se hace la firma.
Tags
Return values
string —Datos del XML que deben ser digeridos.
sign()
Firma los datos proporcionados utilizando un certificado digital.
public
static sign(string $data, string $privateKey[, string|int $signatureAlgorithm = OPENSSL_ALGO_SHA1 ]) : string
Parameters
- $data : string
-
Datos que se desean firmar.
- $privateKey : string
-
Clave privada que se utilizará para firmar.
- $signatureAlgorithm : string|int = OPENSSL_ALGO_SHA1
-
Algoritmo que se utilizará para firmar (por defecto SHA1).
Return values
string —Firma digital en base64.
signXML()
Firma un documento XML utilizando RSA y SHA1.
public
static signXML(XmlDocument|string $xml, Certificate $certificate[, string|null $reference = null ]) : string
Parameters
- $xml : XmlDocument|string
-
Documento XML que se desea firmar.
- $certificate : Certificate
-
Certificado digital para firmar.
- $reference : string|null = null
-
Referencia a la que se hace la firma. Si no se especifica se firmará el digest de todo el documento XML.
Tags
Return values
string —String XML con la firma generada incluída en el tag "Signature" al final del XML (último elemento dentro del nodo raíz).