Skip to content

Commit be53995

Browse files
authored
Merge pull request #1 from eclipxe13/master
Version 1.0.1
2 parents 0cb2961 + 3eca50d commit be53995

File tree

13 files changed

+105
-40
lines changed

13 files changed

+105
-40
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
/.gitattributes export-ignore
1414
/.gitignore export-ignore
1515
/.php_cs.dist export-ignore
16+
/.phplint.yml export-ignore
1617
/.scrutinizer.yml export-ignore
1718
/.travis.yml export-ignore
1819
/phpcs.xml.dist export-ignore
20+
/phpstan.neon.dist export-ignore
1921
/phpunit.xml.dist export-ignore

.scrutinizer.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,7 @@ filter:
55

66
build:
77
nodes:
8-
php73:
9-
environment:
10-
php:
11-
version: "7.3"
12-
# pecl_extensions: # add if there is an extension not present on scrutinizer
13-
# - "zip"
14-
project_setup: # see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/
15-
override: true
8+
php:
169
tests:
1710
override:
1811
- php-scrutinizer-run --enable-security-analysis

.travis.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
language: php
22

33
# php compatibility
4-
php:
5-
- "7.2"
6-
- "7.3"
4+
php: ["7.2", "7.3", "7.4snapshot"]
5+
6+
matrix:
7+
allow_failures:
8+
- php: "7.4snapshot"
79

810
# This triggers builds to run on the new TravisCI infrastructure.
911
# See: http://docs.travis-ci.com/user/workers/container-based-infrastructure/
@@ -14,7 +16,7 @@ cache:
1416
- $HOME/.composer
1517

1618
before_script:
17-
- phpenv config-rm xdebug.ini
19+
- phpenv config-rm xdebug.ini || true
1820
- travis_retry composer install --no-interaction --prefer-dist
1921
- mkdir -p build
2022

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2019 Carlos C Soto
3+
Copyright (c) 2019 PHPCFDI
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ y recuerda revisar el archivo de tareas pendientes [TODO][] y el [CHANGELOG][].
8080

8181
## Copyright and License
8282

83-
The phpcfdi/credentials library is copyright © [Carlos C Soto](http://eclipxe.com.mx/)
83+
The phpcfdi/finkok library is copyright © [PhpCfdi](https://github.com/phpcfdi)
8484
and licensed for use under the MIT License (MIT). Please see [LICENSE][] for more information.
8585

8686
[contributing]: https://github.com/phpcfdi/credentials/blob/master/CONTRIBUTING.md

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"require": {
1515
"php": ">=7.2",
1616
"ext-openssl": "*",
17+
"ext-mbstring": "*",
1718
"eclipxe/enum": "^0.2.0"
1819
},
1920
"require-dev": {

docs/CHANGELOG.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
# CHANGELOG
22

3-
## About SemVer
3+
:us: changes are documented in spanish as it help intented audience to follow changes
44

5-
In summary, [SemVer](https://semver.org/) can be viewed as ` Breaking . Feature . Fix `, where:
5+
:mexico: los cambios están documentados en español para mejor entendimiento
66

7-
- Breaking version = includes incompatible changes to the API
8-
- Feature version = adds new feature(s) in a backwards-compatible manner
9-
- Fix version = includes backwards-compatible bug fixes
7+
Nos apegamos a [SEMVER](SEMVER.md), revisa la información para entender mejor el control de versiones.
8+
9+
## Version 1.0.1 2019-09-18
10+
11+
- Agregar métodos a `PrivateKey` para poder exponer la llave privada en formato PEM y la frase de paso.
12+
- Traducir documentación en `docs/` a español
1013

1114
## Version 1.0.0 2019-08-13
1215

13-
- Initial working release
14-
- Projects phpcfdi/xml-cancelacion and phpcfdi/sat-ws-descarga-masiva are using this project as dependence,
15-
the implementation on both projects give clues to improve before first stable release.
16+
- Primera versión funcional
17+
- Los proyectos `phpcfdi/xml-cancelacion` y `phpcfdi/sat-ws-descarga-masiva` tienen este proyecto como dependencia,
18+
la implementación en ambos proyectos dan algunas pistas de cómo mejorar este proyecto.

docs/SEMVER.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# SEMVER
2+
3+
Respetamos el estándar [Versionado Semántico 2.0.0](https://semver.org/lang/es/).
4+
5+
En resumen, [SemVer](https://semver.org/) es un sistema de versiones de tres componentes `X.Y.Z`
6+
que nombraremos así: `[ Breaking ] . [ Feature ] . [ Fix ]`, donde:
7+
8+
- `Breaking`: Rompe la compatibilidad de código con versiones anteriores.
9+
- `Feature`: Agrega una nueva característica que es compatible con lo anterior.
10+
- `Fix`: Incluye algún cambio (generalmente correcciones) que no agregan nueva funcionalidad.
11+
12+
## Composer
13+
14+
[Composer](https://getcomposer.org/) es un gestor de dependencias en proyectos para PHP.
15+
Este gestor usa las [reglas](https://getcomposer.org/doc/articles/versions.md)
16+
de versionado semántico para instalar y actualizar paquetes.
17+
18+
Te recomendamos instalar dependencias de librerías (no frameworks) con *Caret Version Range*.
19+
Por ejemplo: `"vendor/package": "^2.5"`.
20+
21+
Esto significa que:
22+
23+
- no debe actualizar a versiones `3.x.x`
24+
- no debe utilizar ninguna versión menor a `2.5.0`
25+
26+
## Versiones 0.x.y no rompe compatibilidad
27+
28+
Las versiones que inician con cero, por ejemplo `0.y.z`, no se ajustan a las reglas de versionado.
29+
Se considera que estas versiones son previas a la madurez del proyecto y por lo tanto
30+
introducen cambios sin previo aviso.
31+
32+
Sin embargo, nos apegaremos a `[ 0 ] . [ Breaking ] . [ Feature || Fix ]`. Lo que significa que `0.3.0`
33+
no es compatible con `0.2.15` pero `0.3.4` sí es compatible con `0.3.0`.
34+
35+
## `@internal` no rompe compatibilidad
36+
37+
Si la librería contiene elementos marcados como `@internal` significa que no deben ser utilizados
38+
por tu código. Son partes de código internos de la librería.
39+
Por lo tanto, no se consideran breaking changes.
40+
41+
Cuando un elemento es `@internal`, dicho elemento:
42+
43+
- no debe ser una entrada (parámetro)
44+
- no debe ser una salida (retorno)
45+
- no debe exponer exponer funcionalidades en los objetos públicos (rasgos)

docs/TODO.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
# phpcfdi/credentials To Do List
2-
3-
- Find out how to differentiate betwen a CSD and a FIEL
4-
- By existence of subject.OU ?
5-
- By existence of subject.email ?
6-
- By extensions.keyUsage ?
7-
- By extensions.extendedKeyUsage ?
8-
- By purposes[2] is [CSD/FIEL, false, sslserver] ?
1+
# phpcfdi/credentials Tareas pendientes
92

3+
- [X] Encontrar como diferenciar entre un archivo CSD y un archivo FIEL
4+
R: Se identifica por el campo OU (Organization Unit / Sucursal) del certificado, si está vacío es FIEL,
5+
si tiene contenido es CSD.
106

7+
- [ ] Verificar si un certificado fue realmente emitido por el SAT
8+
Ver [VerificacionCertificadosSAT](VerificacionCertificadosSAT.md)

src/Internal/BaseConverter.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public function convert(string $input, int $frombase, int $tobase): string
5252

5353
$originalSequence = $this->sequence()->value();
5454
if ('' === $input) {
55-
$input = $originalSequence{0}; // use zero as input
55+
$input = $originalSequence[0]; // use zero as input
5656
}
5757
$chars = substr($originalSequence, 0, $frombase);
5858
if (! boolval(preg_match("/^[$chars]+$/", $input))) {
@@ -62,7 +62,7 @@ public function convert(string $input, int $frombase, int $tobase): string
6262
$length = strlen($input);
6363
$values = [];
6464
for ($i = 0; $i < $length; $i++) {
65-
$values[] = intval(stripos($originalSequence, $input{$i}));
65+
$values[] = intval(stripos($originalSequence, $input[$i]));
6666
}
6767

6868
$result = '';
@@ -81,7 +81,7 @@ public function convert(string $input, int $frombase, int $tobase): string
8181
}
8282
}
8383
$length = $newlen;
84-
$result = $originalSequence{$divide} . $result;
84+
$result = $originalSequence[$divide] . $result;
8585
} while ($newlen > 0);
8686

8787
return $result;

0 commit comments

Comments
 (0)