Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error al intentar firmar utilizando OpenJDK 17 #381

Open
TortitasT opened this issue Mar 5, 2024 · 7 comments
Open

Error al intentar firmar utilizando OpenJDK 17 #381

TortitasT opened this issue Mar 5, 2024 · 7 comments

Comments

@TortitasT
Copy link

TortitasT commented Mar 5, 2024

Me aparece el siguiente error utilizando OpenJDK 17 en un MacOS M1.

Al cambiar la versión del JDK a la 8 me ha funcionado correctamente.

No encuentro información sobre la versión que se recomienda usar para ejecutar este programa.

java.security.ProviderException: No se ha podido inicializar el proveedor de DNIe
      at es.gob.jmulticard.jse.provider.DnieProvider.<init>(DnieProvider.java:116)
      at es.gob.jmulticard.jse.provider.DnieProvider.<init>(DnieProvider.java:92)
      at es.gob.afirma.keystores.AOKeyStoreManagerHelperFullJava.initDnieJava(AOKeyStoreManagerHelperFullJava.java:94)
      at es.gob.afirma.keystores.AOKeyStoreManager.init(AOKeyStoreManager.java:242)
      at es.gob.afirma.keystores.AOKeyStoreManagerFactory.getDnieJavaKeyStoreManager(AOKeyStoreManagerFactory.java:323)
      at es.gob.afirma.keystores.AOKeyStoreManagerFactory.getAOKeyStoreManager(AOKeyStoreManagerFactory.java:149)
      at es.gob.afirma.standalone.SimpleKeyStoreManager.getKeyStoreManager(SimpleKeyStoreManager.java:161)
      at es.gob.afirma.standalone.SimpleKeyStoreManager.getKeyStore(SimpleKeyStoreManager.java:58)
      at es.gob.afirma.standalone.SimpleKeyStoreManagerWorker.doInBackground(SimpleKeyStoreManagerWorker.java:43)
      at es.gob.afirma.standalone.SimpleKeyStoreManagerWorker.doInBackground(SimpleKeyStoreManagerWorker.java:20)
      at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)
      at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
      at java.desktop/javax.swing.SwingWorker.run(Unknown Source)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.base/java.lang.Thread.run(Unknown Source)
Caused by: es.gob.jmulticard.apdu.connection.ApduConnectionException: No se ha podido abrir la conexion con el lector de tarjetas numero 0
      at es.gob.jmulticard.jse.smartcardio.SmartcardIoConnection.open(SmartcardIoConnection.java:260)
      at es.gob.jmulticard.card.dnie.Dnie.connect(Dnie.java:320)
      at es.gob.jmulticard.jse.provider.DnieProvider.<init>(DnieProvider.java:112)
      ... 15 more
Caused by: javax.smartcardio.CardException: connect() failed
      at java.smartcardio/sun.security.smartcardio.TerminalImpl.connect(Unknown Source)
      at es.gob.jmulticard.jse.smartcardio.SmartcardIoConnection.open(SmartcardIoConnection.java:254)
      ... 17 more
Caused by: sun.security.smartcardio.PCSCException: SCARD_W_UNRESPONSIVE_CARD
      at java.smartcardio/sun.security.smartcardio.PCSC.SCardConnect(Native Method)
      at java.smartcardio/sun.security.smartcardio.CardImpl.<init>(Unknown Source)
      ... 19 more
@ogarcia
Copy link

ogarcia commented Mar 14, 2024

No esta detallado en ningún lado, pero con Java 11 funciona y con Java 17 no funciona. En Arch Linux lo tenemos fijado para ejecutar con Java 11.

@TortitasT
Copy link
Author

¿Debería aparecer en el README quizás? No conozco el proyecto bien así que tampoco me atrevo a hacer un PR ^^'

Mi intención es que si otra persona que esté utilizando un Mac con una LTS de Java como la 17 o la 21, se baja la aplicación desde la página tenga alguna pista, ya que la excepción no dice nada.

@ogarcia
Copy link

ogarcia commented Mar 15, 2024

¿Debería aparecer en el README quizás?

Desde mi punto de vista si, sin duda. La documentación de este proyecto brilla por su ausencia.

No conozco el proyecto bien así que tampoco me atrevo a hacer un PR ^^'

Ni te molestes. No vale de nada. Simplemente echa un vistazo a como están las PR actuales y las incidencias para hacerte una idea.

De hecho ni siquiera ellos lo tienen claro, si miras el paquete Debian que distribuyen en él recomiendan Java 17 (y lo hacen depender de libnss3-tools cuando debería ser una recomendación ya que solo lo necesitas si quieres leer el certificado de una smart card):

Package: autofirma
Architecture: all
Section: utils
Priority: optional
Depends: libnss3-tools
Recomends: openjdk-17-jre 

La verdad es que es una pena que esto no este mejor llevado porque al final no es mal software. Pero se nota mucho que simplemente van a cumplir los objetivos del contrato sin mas y que tanto los usuarios como los posibles colaboradores importan poco o nada.

@quilosaq
Copy link

quilosaq commented Mar 15, 2024

Me aparece el siguiente error utilizando OpenJDK 17 en un MacOS M1.

Al cambiar la versión del JDK a la 8 me ha funcionado correctamente.

No encuentro información sobre la versión que se recomienda usar para ejecutar este programa.
...

@TortitasT

Aquí tienes el manual de instalación para Autofirma 1.8.2:
https://administracionelectronica.gob.es/ctt/resources/Soluciones/138/Descargas/AF-manual-instalacion-usuarios-ES-1-8-2.pdf?idIniciativa=138&idElemento=11402

Del manual anterior:
"En entornos macOS y Windows no es necesario tener instalado un entorno de ejecución de Java. En
Linux se necesita un entorno de ejecución de Java 11 de Oracle u OpenJDK 11..."

@LucasFA
Copy link

LucasFA commented Mar 19, 2024

@ogarcia Si estás interesado, la documentación, técnicamente, está aquí, en archivos docx 🙃 https://github.com/ctt-gob-es/clienteafirma-docs

En su momento hice una PR con un script de pandoc para pasarlos a markdown y de ahí hacer algún deployment para convertirlos en documentación en la web, pero no recibió atención y bueno, ahí anda

@ogarcia
Copy link

ogarcia commented Mar 19, 2024

la documentación, técnicamente, está aquí, en archivos docx 🙃

Hostias, normal que no supiese de ella... docx en repositorio... 🤷

Me quedo con tu PR que esta muy guay. ¡Gracias mil!

@LucasFA
Copy link

LucasFA commented Mar 19, 2024

O sea, la distribuyen docx a docx individualmente junto con cada producto relevante, pero cuando me encontré el repo no sabía qué era cada cosa, la verdad.
Me alegra de que te sirva!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants