josemmo / Facturae-PHP

馃摑 Genera, firma, env铆a y recibe facturas electr贸nicas sin necesidad de ninguna librer铆a adicional
https://josemmo.github.io/Facturae-PHP/
MIT License
211 stars 95 forks source link

`serialNumber` es demasiado largo y viene como hexadecimal #164

Closed PaolaRuby closed 2 months ago

josemmo commented 2 months ago

Hola @PaolaRuby,

驴Puedes pasar el certificado con el que ocurre el fallo?

PaolaRuby commented 2 months ago

Lamentablemente como todos los problemas anteriores, la firma es de un cliente, y por confidencialidad no la puedo enviar De todas formas mi problema esta solucionado, solo lo comente para que tengan en cuenta la soluci贸n si le ocurre a alguien

Si te sirve el hexadecimal fue 0x63C31426D0557EB712705F05CC62A80B64CB471F y con esta funcion queda 569540487078645501056583593785013956447969167135

josemmo commented 2 months ago

Hola @PaolaRuby,

Me parece un poco feo que crees un issue para avisar de un supuesto fallo, no menciones ni siquiera c贸mo reproducirlo, ni qu茅 mensaje de error aparece, ni por qu茅 es un fallo, y como soluci贸n propongas un c贸digo incomprensible sacado por ChatGPT.

Entiendo la parte de confidencialidad, pero 驴no podr铆as al menos molestarte en explicar el fallo o en proporcionar un certificado de prueba sin datos confidenciales para que altruistamente pueda venir yo a arreglarlo? Ya que no pido dinero a tu empresa por usar mi librer铆a, y que la licencia os permite cobrar a vuestros clientes por usarla, me parece lo m铆nimo.

PaolaRuby commented 2 months ago

ni qu茅 mensaje de error aparece

el Servicio de Rentas Internas solo dice firma invalida ese mensaje no dice nada, usando JAVA con un XSD de xades encontre serialNumber must be integer

propongas un c贸digo incomprensible sacado por ChatGPT

No se xq incomprensible, el nombre de la funci贸n pr谩cticamente lo explica, hexToDecManual hexadecimal a decimal manualmente, aparentemente ChatGPT nombra los metodos por lo que hacen, ademas bcadd y bcmul aparentemente estan documentados en BC Math, solo que le pedi que no use ninguna libreria, solo PHP puro, por lo que puso los metodos manualmente, lo deduje al leer un poco https://www.php.net/manual/es/function.bcadd.php https://www.php.net/manual/es/function.bcmul.php

ni por qu茅 es un fallo

Lo siento, pense que sabrias mas de este tema que mi, solo egrese hace poco y estoy deduciendo todo, serialNumber al parecer como dice el tag, solo puede ser numeros, no letras, y al ser hexadecimal vienen letras y se produce el fallo

proporcionar un certificado de prueba sin datos confidenciales

Ni idea como hacer eso, se que las firmas las compran a una certificadora, no tengo contacto con nadie de ahi, parece q escuche que llenan un formulario online, pagan y llega el archivo P12 al email, estoy en lo mas bajo de la cadena, son practicas pre profesionales, no se si en Espa帽a haran eso, son pasantias no remuneradas por la experiencia que debes hacer antes de sacar el titulo

Ya que no pido dinero a tu empresa por usar mi librer铆a

Estamos en otro pais, no usan tu codigo, pero algunas partes se parecen en el Xades, talvez fue una version inicial tuya, o talvez se guiaron y copiaron partes para adaptar el Xades a como se usa aca, ni idea, llegue hace poco y esto esta funcionando Bueno lo corrijas o no en tu codigo en realidad no me afecta a mi, ni a la empresa en la que estoy, solo comunicaba porque me gusta el open source, y es feo perder el tiempo sin encontrar nada en internet y te presionen q debes buscar soluci贸n a un c贸digo que ni entiendes, en esto de openssl me esta pasando

Me parece un poco feo que crees un issue para avisar de un supuesto fallo

Yo pense que era normal crear issues para avisar fallos, siempre que creo un issue me aseguro de postear tambien la solucion para ayudar al autor y que no pierda valioso tiempo, pero no volvera a pasar, tienes mi palabra

PaolaRuby commented 2 months ago

para que altruistamente pueda venir yo a arreglarlo?

Ya lo he arreglado yo, solo te estaba dando la soluci贸n, no tiene nada de malo ser altruista, es lo que estaba haciendo, tampoco gano nada ayudando a los dem谩s https://bugs.php.net/bug.php?id=77411

cesarreyes3 commented 1 month ago

Hay muchos ejemplos de esto en internet, la respuesta de ChatGpt es correcta y me parece entendible Hay q tener tino para comunicarse con espa帽oles 馃槃, ya se sabe como son

Cert. Ejemplo: https://github.com/php/php-src/pull/6445/files Test: https://paiza.io/projects/e/hdpsjSoQ-Oo5ALgJawctqw