Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

108
Vistas
¿Acelerar jarsigner con token de hardware?

Anteriormente firmé archivos jar usando un almacén de claves instalado localmente como parte de una compilación automatizada. Ahora me enfrento a tener que usar un dispositivo basado en hardware, debido a cambios recientes en los requisitos mínimos de firma de código, y aunque descubrí cómo hacerlo, veo ralentizaciones extremas.

Solo como un ejemplo, un archivo jar con 180 clases en el que antes podía iniciar sesión en aproximadamente medio segundo ahora demora aproximadamente 30 segundos. A medida que avanza, veo que la luz de acceso de mi dispositivo token parpadea varias veces por segundo, presumiblemente una vez para cada clase en el archivo jar.

¿Hay alguna forma de acelerar esto, por ejemplo, alguna forma de reducir los accesos de token a un solo acceso para todo el archivo jar?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No fue una respuesta, pero es demasiado larga para un comentario:

Si su suposición de un acceso al token para cualquier archivo es correcta, significaría que el hash de los archivos también se calcula en el dispositivo, no solo la firma.

¿Su dispositivo PKCS11 tiene una opción de registro que podría mostrar qué llamadas pkcs11 está recibiendo el dispositivo (las operaciones hash se denominan C_Digest en PKCS11) para confirmar? Tal vez con la opción mencionada en java keytool con el proveedor de opensc pkcs#11 solo funciona con la opción de depuración habilitada (no lo he probado)

Como no sé si hay alguna manera de decirle a jarsigner que haga hash por software y firme por hardware, si no puede encontrar una mejor respuesta, tal vez pueda escribir su propio proveedor: ( http://docs.oracle. com/javase/7/docs/technotes/guides/security/crypto/HowToImplAProvider.html ):

  • implementar un hash de software (MessageDigestSpi, simplemente reenviar la llamada al proveedor de Java de software predeterminado)
  • y una firma de dispositivo (SignatureSpi, simplemente reenviando la llamada al proveedor PKCS11 configurado en Java). Creo que fue Signature signature = Signature.getInstance("SHA1withRSA", "SunPKCS11") y así sucesivamente. Y analógico para KeyStoreSpi.

Y luego llame a jarsigner con su proveedor como parámetro.

over 4 years ago · Santiago Trujillo Denunciar

0

Intente agregar -sigalg SHA512withRSA a sus opciones de jarsigner.

Para obtener más información, consulte mi respuesta a una pregunta relacionada

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda