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 Secure Herramientas de firma sección y descargue el Wrapper PKCS#11 para Ubuntu.

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.

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.

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

Paso 2: Establecer Java 17 como la versión activa
sudo update-alternativas –config java

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

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

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”.

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.

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.

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.


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.

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


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

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
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.

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.

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.

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=

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
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.
