Ir al contenido

Próximamente estarán disponibles los certificados de 47 días. ¿Todo listo?

Actúa ahora →

Realizar firmas con Jarsigner y la biblioteca PKCS#11

Jarsigner

La firma de código es un proceso crítico en el desarrollo de software que garantiza la autenticidad e integridad de las aplicaciones, protegiéndolas de manipulaciones y modificaciones no autorizadas. Para optimizar este proceso, Encryption Consulting... PKCS # 11 La biblioteca ofrece una solución poderosa para realizar la firma de código con Jarsigner en múltiples sistemas operativos, incluidos Windows, Linux (Ubuntu) y macOS.

Jarsigner

La herramienta Jarsigner, incluida en el Java Development Kit (JDK), proporciona un mecanismo sólido para firmar digitalmente archivos, lo que la convierte en una herramienta esencial para los desarrolladores de Java que distribuyen aplicaciones en varias plataformas.

Es útil firmar los siguientes tipos de archivos:

  • .frasco: Archivos de almacenamiento Java, que son archivos de propósito general para clases y recursos Java.  
  • .oreja: Archivos de archivo empresarial, utilizados para empaquetar aplicaciones empresariales Java EE.  
  • .guerra: Archivos de archivo de aplicaciones web, utilizados para empaquetar aplicaciones web Java.  
  • .sar: Archivos de archivo de servicio, utilizados para empaquetar servicios en algunos entornos Java EE.

Configuración del contenedor PKCS#11 en Ubuntu

Requisitos previos

Antes de analizar el proceso de firma mediante la herramienta Jarsigner y nuestro contenedor PKCS11 en una máquina Linux (Ubuntu), asegúrese de que lo siguiente esté listo:

  • Versión de Ubuntu:Versión de Ubuntu 22.04 o posterior (el entorno probado es Ubuntu 24.02)  
  • Dependencias:Instalar liblog4cxx12 y curl. 

Para instalar las dependencias, ejecute los siguientes comandos

  • sudo apt-get install curl 
  • sudo apt-get install liblog4cxx12 

Instalación del contenedor PKCS#11 de EC 

Paso 1:  Ir a CE Versión 3.02 de CodeSign SecureHerramientas de firma sección y descargue el Wrapper PKCS#11 para Ubuntu.  

Herramientas de firma CE

Paso 2:  Después de eso, genere un certificado de autenticación P12 desde el Configuración del sistema > Usuario > Generar certificado de autenticación desplegable.

Certificado de autenticación P12

Paso 3:  Vaya a su sistema cliente Ubuntu y edite los archivos de configuración (ec_PKCS#11client.ini y PKCS#11propiedades.cfg) descargado en el contenedor PKCS#11. 

editar archivos de configuración de Ubuntu

Instale Java en su máquina Ubuntu.

También necesitará instalar Java (Java 8-17) en su máquina Ubuntu para que Jarsigner funcione con nuestro Wrapper PKCS11.

Paso 1: Instale Java 17 en su máquina Ubuntu.

sudo apt instalar openjdk-17-jdk

comando de instalación de Java

Paso 2: Establecer Java 17 como la versión activa 

sudo update-alternativas –config java

establecer versión activa

Paso 3: Compruebe si Java se ha instalado correctamente o no 

java -version

comprobar la versión de Java

Paso 4: Establezca Java 17 como la versión activa.

Ejecutar: nano ~ / .bashrc

Después de ejecutar el comando anterior, agregue estas líneas al final del archivo:

exportar JAVA_HOME=

export PATH = $ JAVA_HOME / bin: $ PATH

Establecer la versión activa de java17

Presione Ctrl + X, luego Y para confirmar y luego Enter para guardar.

Paso 5: Recargar el archivo bashrc

Ejecutar: fuente ~ / .bashrc

Paso 6: Compruebe si la variable se ha establecido

echo $ JAVA_HOME

Si no es así, abra una nueva terminal e inténtelo nuevamente.

Firma

Paso 1:  Cambie el directorio de trabajo de la terminal a la carpeta que contiene los archivos “ec_pkcs11client.ini” y “pkcs11properties.cfg”.

Cambiar directorio de trabajo

Paso 2: Ejecute el comando de firma desde este directorio. 

-keystore NINGUNO -storepass NINGUNO -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg -jar firmado -tsa http://marca de tiempo.digicert.com

A continuación se proporciona un comando de muestra:

jarsigner -keystore NINGUNO -storepass NINGUNO -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties.cfg -signedjar helloworld_signed.jar helloworld.jar gpg2 -tsa http://timestamp.digicert.com

Verificación

Paso 1:  Para verificar, ejecute el siguiente comando:

-verificar -certs -verbose

Paso 2: A continuación se proporciona un comando de muestra:

jarsigner -verify helloworld_signed.jar -certs -verbose

Configuración del contenedor PKCS#11 en Windows

Requisitos previos

Antes de analizar el proceso de uso de la herramienta Jarsigner y nuestro contenedor PKCS11 en una máquina Windows, asegúrese de tener listo lo siguiente:

  • Versión de Windows: Windows 11 (el entorno probado es Windows 11 23H2) 

Instalación del contenedor PKCS#11 de EC 

Paso 1:  Vaya a la versión 3.02 de EC CodeSign Secure Herramientas de firma sección y descargue el Wrapper PKCS#11 para Windows.  

Ventanas de herramientas de firma CE

Paso 2:  Después de eso, genere un certificado de autenticación P12 desde el Configuración del sistema > Usuario > Generar certificado de autenticación desplegable.

Certificado de autenticación P12

Paso 3:  Vaya a su sistema cliente de Windows y edite los archivos de configuración (ec_PKCS#11client.ini y PKCS#11propiedades.cfg) descargado en el contenedor PKCS#11. 

Editar archivos de configuración
Editar archivos de configuración

Instalar Java en su máquina Windows

También necesitará instalar Java (Java 8-22) en su máquina Windows para que Jarsigner funcione con nuestro Wrapper PKCS11.

Paso 1: Instale Java 22 (instalador .exe) en su máquina Windows desde De Oracle sitio oficial.

instalar java en windows

Paso 2: Siga las instrucciones para instalar Java 22 en su máquina.

Pasos de instalación de Java
Pasos de instalación de Java

Paso 3: Establezca Java 22 como la versión activa almacenando la ruta bin en la variable PATH.

establecer Java como versión activa

Firma

Paso 1: Cambie el directorio de trabajo de la terminal a la carpeta que contiene los archivos “ec_pkcs11client.ini” y “pkcs11properties.cfg”.

cambiar directorio de trabajo

Paso 2: Ejecute el comando de firma desde este directorio. 

-keystore NINGUNO -storepass NINGUNO -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg -jar firmado -tsa http://marca de tiempo.digicert.com

A continuación se proporciona un comando de muestra:

jarsigner -keystore NINGUNO -storepass NINGUNO -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties.cfg -signedjar helloworld_signed.jar helloworld.jar gpg2 -tsa http://timestamp.digicert.com

Verificación

Paso 1:  Para verificar, ejecute el siguiente comando:

-verificar -certs -verbose

Paso 2: A continuación se proporciona un comando de muestra:

jarsigner -verify helloworld_signed.jar -certs -verbose

Configuración del contenedor PKCS#11 en MacOS

Requisitos previos

Antes de analizar el proceso de uso de la herramienta Jarsigner y nuestro contenedor PKCS11 en una máquina MacOS, asegúrese de tener listo lo siguiente:

  • Versión de macOS: Sequoia 15.2 (entorno de prueba Sequoia 15.2) 
  • Dependencias:Instalar liblog4cxx y curl. 

Para instalar las dependencias, ejecute los siguientes comandos

  • brew install curl
  • brew install log4cxx

Instalación del contenedor PKCS#11 de EC 

Paso 1:  Vaya a la versión 3.02 de EC CodeSign Secure Herramientas de firma sección y descargue el Wrapper PKCS#11 para MacOS.  

Herramientas de firma EC para Mac

Paso 2:   Después de eso, genere un certificado de autenticación P12 desde el Configuración del sistema > Usuario > Generar certificado de autenticación desplegable.

Certificado de autenticación P12

Paso 3:  Vaya a su sistema cliente MacOS y edite los archivos de configuración (ec_PKCS#11client.ini y PKCS#11propiedades.cfg) descargado en el contenedor PKCS11.

Editar archivo de configuración

Instale Java en su máquina MacOS.

También necesitará instalar Java (Java 8-17) en su máquina MacOS para que Jarsigner funcione con nuestro Wrapper PKCS11.

Paso 1: Instale Java 17 en su máquina MacOS.

brew install openjdk@17

Paso 2: Encuentre la ubicación donde está instalado Java 17 en su máquina

Información de preparación para openjdk@17

Paso 3: Establezca Java 17 como la versión activa.

Para Zsh: nano ~/.zshrc

Para Bash: nano ~/.bash_profile

Después de ejecutar el comando anterior, agregue estas líneas:

exportar PATH= :$RUTA

exportar JAVA_HOME=

establecer java como activo

Paso 4: Recargar las variables de entorno

Para Zsh: fuente ~/.zshrc 

Para Bash: fuente ~ / .bash_profile

Firma

Paso 1: Cambie el directorio de trabajo de la terminal a la carpeta que contiene los archivos “ec_pkcs11client.ini” y “pkcs11properties.cfg”.

Paso 2: Ejecute el comando de firma desde este directorio. 

-keystore NINGUNO -storepass NINGUNO -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg -jar firmado -tsa http://marca de tiempo.digicert.com

A continuación se proporciona un comando de muestra:

jarsigner -keystore NINGUNO -storepass NINGUNO -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties.cfg -signedjar helloworld_signed.jar helloworld.jar gpg2 -tsa http://timestamp.digicert.com

Verificación

Paso 1:  Para verificar, ejecute el siguiente comando:

-verificar -certs -verbose

Paso 2: A continuación se proporciona un comando de muestra:

jarsigner -verify helloworld_signed.jar -certs -verbose

Solución de firma de código empresarial

Obtenga una solución para todas sus necesidades criptográficas de firma de código de software con nuestra solución de firma de código.

Conclusión

CodeSign Secure de Encryption Consulting lleva la firma de código al siguiente nivel al ofrecer una plataforma integral que no solo agiliza el proceso de firma, sino que también refuerza significativamente la seguridad organizacional. Al aprovechar funciones avanzadas como Módulo de seguridad de hardware Integración, hash del lado del cliente y escaneo de virus, CodeSign Secure garantiza que las claves de firma permanezcan protegidas y que las aplicaciones firmadas estén libres de malware.

CodeSign seguro Se integra fácilmente en los pipelines de CI/CD, lo que lo hace ideal para organizaciones que buscan automatizar y escalar sus flujos de trabajo de desarrollo, cumpliendo a la vez con estrictas políticas de seguridad. Con registros de auditoría detallados y la aplicación de políticas, proporciona transparencia y rendición de cuentas, ayudando a las empresas a cumplir con los requisitos de cumplimiento normativo y a generar confianza con sus usuarios.

Al integrarse perfectamente con Jarsigner, la biblioteca PKCS#11 de Encryption Consulting simplifica la configuración y ejecución de las tareas de firma, ofreciendo una experiencia consistente y segura en cualquier plataforma. Ya sea que desarrolle en Windows, implemente en Ubuntu o realice pruebas en macOS, esta biblioteca permite a los desarrolladores mantener altos estándares de seguridad con una complejidad mínima.