LibreDTE
Biblioteca para trabajo con DTE del SII de Chile
Métodos públicos | Métodos públicos estáticos | Lista de todos los miembros
Referencia de la Clase sasco\LibreDTE\FirmaElectronica

Métodos públicos

 __construct (array $config=[])
 
 getID ()
 
 getName ()
 
 getEmail ()
 
 getFrom ()
 
 getTo ()
 
 getIssuer ()
 
 getData ()
 
 getModulus ()
 
 getExponent ()
 
 getCertificate ($clean=false)
 
 getPrivateKey ($clean=false)
 
 sign ($data, $signature_alg=OPENSSL_ALGO_SHA1)
 
 verify ($data, $signature, $pub_key=null, $signature_alg=OPENSSL_ALGO_SHA1)
 
 signXML ($xml, $reference='', $tag=null, $xmlns_xsi=false)
 
 verifyXML ($xml_data, $tag=null)
 

Métodos públicos estáticos

static getFromModulusExponent ($modulus, $exponent)
 

Descripción detallada

Clase para trabajar con firma electrónica, permite firmar y verificar firmas. Provee los métodos: sign(), verify(), signXML() y verifyXML()

Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-09-22

Definición en la línea 32 del archivo FirmaElectronica.php.

Documentación del constructor y destructor

◆ __construct()

sasco\LibreDTE\FirmaElectronica::__construct ( array  $config = [])

Constructor para la clase: crea configuración y carga certificado digital

Si se desea pasar una configuración específica para la firma electrónica se debe hacer a través de un arreglo con los índices file y pass, donde file es la ruta hacia el archivo .p12 que contiene tanto la clave privada como la pública y pass es la contraseña para abrir dicho archivo. Ejemplo:

$firma_config = ['file'=>'/ruta/al/certificado.p12', 'pass'=>'contraseña'];
$firma = new \sasco\LibreDTE\FirmaElectronica($firma_config);

También se permite que en vez de pasar la ruta al certificado p12 se pase el contenido del certificado, esto servirá por ejemplo si los datos del archivo están almacenados en una base de datos. Ejemplo:

$firma_config = ['data'=>file_get_contents('/ruta/al/certificado.p12'), 'pass'=>'contraseña'];
$firma = new \sasco\LibreDTE\FirmaElectronica($firma_config);
Parámetros
configConfiguración para la clase, si no se especifica se tratará de determinar
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-09-15

Definición en la línea 66 del archivo FirmaElectronica.php.

Hace referencia a sasco\LibreDTE\Estado\get() y sasco\LibreDTE\Log\write().

Gráfico de llamadas para esta función:

Documentación de las funciones miembro

◆ getCertificate()

sasco\LibreDTE\FirmaElectronica::getCertificate (   $clean = false)

Método que entrega el certificado de la firma

Devuelve
Contenido del certificado, clave pública del certificado digital, en base64
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-08-24

Definición en la línea 263 del archivo FirmaElectronica.php.

Referenciado por sasco\LibreDTE\FirmaElectronica\signXML().

◆ getData()

sasco\LibreDTE\FirmaElectronica::getData ( )

Método que entrega los datos del certificado

Devuelve
Arreglo con todo los datos del certificado
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-09-11

Definición en la línea 228 del archivo FirmaElectronica.php.

◆ getEmail()

sasco\LibreDTE\FirmaElectronica::getEmail ( )

Método que entrega el emailAddress del subject

Devuelve
emailAddress del subject
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2016-02-12

Definición en la línea 182 del archivo FirmaElectronica.php.

◆ getExponent()

sasco\LibreDTE\FirmaElectronica::getExponent ( )

Método que obtiene el exponente público de la clave privada

Devuelve
Exponente público en base64
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2014-12-06

Definición en la línea 251 del archivo FirmaElectronica.php.

Referenciado por sasco\LibreDTE\FirmaElectronica\signXML().

◆ getFrom()

sasco\LibreDTE\FirmaElectronica::getFrom ( )

Método que entrega desde cuando es válida la firma

Devuelve
validFrom_time_t
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-09-22

Definición en la línea 195 del archivo FirmaElectronica.php.

◆ getFromModulusExponent()

static sasco\LibreDTE\FirmaElectronica::getFromModulusExponent (   $modulus,
  $exponent 
)
static

Método que obtiene la clave asociada al módulo y exponente entregados

Parámetros
modulusMódulo de la clave
exponentExponente de la clave
Devuelve
Entrega la clave asociada al módulo y exponente
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-09-19

Definición en la línea 477 del archivo FirmaElectronica.php.

◆ getID()

sasco\LibreDTE\FirmaElectronica::getID ( )

Método que entrega el RUN/RUT asociado al certificado

Devuelve
RUN/RUT asociado al certificado en formato: 11222333-4
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2016-02-12

Definición en la línea 142 del archivo FirmaElectronica.php.

◆ getIssuer()

sasco\LibreDTE\FirmaElectronica::getIssuer ( )

Método que entrega el nombre del emisor de la firma

Devuelve
CN del issuer
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-09-22

Definición en la línea 217 del archivo FirmaElectronica.php.

◆ getModulus()

sasco\LibreDTE\FirmaElectronica::getModulus ( )

Método que obtiene el módulo de la clave privada

Devuelve
Módulo en base64
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2014-12-07

Definición en la línea 239 del archivo FirmaElectronica.php.

Referenciado por sasco\LibreDTE\FirmaElectronica\signXML().

◆ getName()

sasco\LibreDTE\FirmaElectronica::getName ( )

Método que entrega el CN del subject

Devuelve
CN del subject
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2016-02-12

Definición en la línea 169 del archivo FirmaElectronica.php.

◆ getPrivateKey()

sasco\LibreDTE\FirmaElectronica::getPrivateKey (   $clean = false)

Método que entrega la clave privada de la firma

Devuelve
Contenido de la clave privada del certificado digital en base64
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-08-24

Definición en la línea 282 del archivo FirmaElectronica.php.

◆ getTo()

sasco\LibreDTE\FirmaElectronica::getTo ( )

Método que entrega hasta cuando es válida la firma

Devuelve
validTo_time_t
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-09-22

Definición en la línea 206 del archivo FirmaElectronica.php.

◆ sign()

sasco\LibreDTE\FirmaElectronica::sign (   $data,
  $signature_alg = OPENSSL_ALGO_SHA1 
)

Método para realizar la firma de datos

Parámetros
dataDatos que se desean firmar
signature_algAlgoritmo que se utilizará para firmar (por defect SHA1)
Devuelve
Firma digital de los datos en base64 o =false si no se pudo firmar
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2014-12-08

Definición en la línea 303 del archivo FirmaElectronica.php.

Referenciado por sasco\LibreDTE\FirmaElectronica\signXML().

◆ signXML()

sasco\LibreDTE\FirmaElectronica::signXML (   $xml,
  $reference = '',
  $tag = null,
  $xmlns_xsi = false 
)

Método que firma un XML utilizando RSA y SHA1

Referencia: http://www.di-mgt.com.au/xmldsig2.html

Parámetros
xmlDatos XML que se desean firmar
referenceReferencia a la que hace la firma
Devuelve
XML firmado o =false si no se pudo fimar
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2017-10-22

Definición en la línea 341 del archivo FirmaElectronica.php.

Hace referencia a sasco\LibreDTE\FirmaElectronica\getCertificate(), sasco\LibreDTE\FirmaElectronica\getExponent(), sasco\LibreDTE\FirmaElectronica\getModulus() y sasco\LibreDTE\FirmaElectronica\sign().

Gráfico de llamadas para esta función:

◆ verify()

sasco\LibreDTE\FirmaElectronica::verify (   $data,
  $signature,
  $pub_key = null,
  $signature_alg = OPENSSL_ALGO_SHA1 
)

Método que verifica la firma digital de datos

Parámetros
dataDatos que se desean verificar
signatureFirma digital de los datos en base64
pub_keyCertificado digital, clave pública, de la firma
signature_algAlgoritmo que se usó para firmar (por defect SHA1)
Devuelve
=true si la firma está ok, =false si está mal o no se pudo determinar
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2014-12-08

Definición en la línea 322 del archivo FirmaElectronica.php.

Referenciado por sasco\LibreDTE\FirmaElectronica\verifyXML().

◆ verifyXML()

sasco\LibreDTE\FirmaElectronica::verifyXML (   $xml_data,
  $tag = null 
)

Método que verifica la validez de la firma de un XML utilizando RSA y SHA1

Parámetros
xml_dataArchivo XML que se desea validar
Devuelve
=true si la firma del documento XML es válida o =false si no lo es
Autor
Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
Versión
2015-09-02

Definición en la línea 444 del archivo FirmaElectronica.php.

Hace referencia a sasco\LibreDTE\FirmaElectronica\verify().

Gráfico de llamadas para esta función:

La documentación para esta clase fue generada a partir del siguiente fichero: