Releases: phpcfdi/credentials
Versión 1.2.2
Se corrigió el problema de no crear correctamente el número de serie cuando incluía caracteres en mayúsculas.
Anteriormente, se hacía una conversión a minúsculas, ahora se expresa en mayúsculas.
Se agrega el método SerialNumber::bytesArePrintable(): bool
para identificar que el número de serie de un certificado
contiene solamente caracteres imprimibles en su representación como bytes, como en el caso de los números de serie
utilizados por el SAT.
Se refactorizan los métodos SerialNumber::createFromBytes()
y SerialNumber::bytes()
para usar las funciones
de PHP bin2hex
y hex2bin
respectivamente.
Se agrega documentación en el archivo README.md
explicando la interpretación del número de serie como hexadecimal,
decimal y bytes. Así como el uso específico del SAT.
Se actualiza el año de licencia a 2024.
Se garantiza la compatibilidad con PHP 8.3.
Adicionalmente, se hacen los siguientes cambios internos:
- Se remueven los archivos
test/_files
de la detección de lenguaje de GitHub. - En los flujos de trabajo de GitHub.
- Se permite la ejecución manual.
- Se agrega PHP 8.3 a la matriz de pruebas.
- Se ejecutan los trabajos en PHP 8.3.
- Se actualizan las acciones de GitHub a la versión 4.
- En el trabajo
php-cs-fixer
se remueve la variable de entornoPHP_CS_FIXER_IGNORE_ENV
.
- Se corrige
.php-cs-fixer.dist.php
sustituyendofunction_typehint_space
portype_declaration_spaces
. - Se actualizan las herramientas de desarrollo.
Versión 1.2.1
PHPStan detectó un uso inapropiado de conversión de objeto a cadena de caracteres.
Esta conversión es innecesaria, por lo que se eliminó.
Se agregó información básica de cómo verificar un certificado emitido por el SAT usando OCSP.
Se actualizaron las herramientas de desarrollo.
Version 1.2.0
Se agrega la funcionalidad para exportar (PfxExporter
) y leer (PfxReader
) una credencial con formato PKCS#12 (PFX).
Gracias @celli33 por tu contribución.
Versión 1.1.4
- Se mejora la forma en como son procesados los tipos de datos del certificado.
- Se actualiza el año de licencia. ¡Feliz 2022!
- Se actualizan las herramientas de desarrollo, en especial PHPStan 1.4.4.
- Se hacen las correcciones a los problemas detectados por PHPStan.
- Se mejoran las pruebas y se incrementa la cobertura de código.
- Se actualiza el flujo de CI llevando los pasos a trabajos y se agrega PHP 8.1.
- Se actualiza el nombre del grupo de mantenedores de phpCfdi.
- Se agrega la plataforma SonarQube vía https://sonarcloud.io.
- Se elimina la integración con Scrutinizer CI. ¡Gracias Scrutinizer CI!
Versión 1.1.3
- La versión menor de PHP es 7.3.
- Se actualiza PHPUnit a 9.5.
- Se migra de Travis-CI a GitHub Workflows. Gracias Travis-CI.
- Se instalan las herramientas de desarrollo usando
phive
en lugar decomposer
. - Se cambia la rama principal a
main
. - Se actualiza el archivo de licencia al año 2021.
- Se cambia la documentación a español.
Version 1.1.2
- Desde esta versión se soporta PHP 8.0. Se hicieron cambios porque en la nueva versión de PHP la librería
openssl
ya no devuelve recursos y se deprecaron las funciones de liberación de recursos. - Se agregó la capacidad de abrir un archivo con el path
c:\archivos\certificado.cer
. - Se agregó información de cómo poder verificar un certificado usando la API del Gobierno de Colima.
Version 1.1.1
- Weak Break Compatibility Change:
PemExtractor::__construct($contents)
se podría construir con un parámetro de cualquier tipo de datos y al intentar usar el objeto inevitablemente iba a generar unTypeError
. Se cambió la firma del constructor aPemExtractor::__construct(string $contents)
, así fallaría desde construir el objeto y no al usar cualquiera de sus métodos. - Se actualiza la licencia a 2020.
- Se actualiza de
phpstan/phpstan-shim: ^0.11
aphpstan/phpstan: ^0.12
. - Se actualiza la integración continua en Travis y Scrutinizer.
Version 1.1.0
- Se puede crear una llave privada en formato
PKCS#8 DER
encriptada o desprotegida. Con este cambio se pueden leer las llaves tal y como las envía el SAT. Gracias @eislasq. - Si la llave privada no estaba en formato
PEM
se hace una conversión dePKCS#8 DER
aPKCS#8 PEM
. - Se agrega el método
PrivateKey::changePassPhrase
que devuelve una llave privada con la nueva contraseña. - Se documenta la apertida de certificados y llaves privadas en diferentes formatos.
- Se limpia el entorno de desarrollo y se publica en el paquete distribuible la carpeta de documentación.
- Se hacen refactorizaciones menores para un mejor uso de memoria y rendimiento.
Version 1.0.1
- Agregar métodos a
PrivateKey
para poder exponer la llave privada en formato PEM y la frase de paso. - Traducir documentación en
docs/
a español - Mejoras en el entorno de desarrollo e integración con scrutinizer y travis
- Se agrega (con posibilidad de fallar) PHP 7.4 a la matriz de construcción para garantizar la futura compatibilidad
Version 1.0.0
- This project has beed derivated from
eclipxe/cfdiutils
- Projects
phpcfdi/xml-cancelacion
andphpcfdi/sat-ws-descarga-masiva
are using this project as dependence,
the implementation on both projects give clues to improve before first stable release.