Guía de firma de código Java

Esta guía le ayudará a comenzar a firmar su código Java con un OV / IV or EV certificado de firma de código de SSL.com. Estas instrucciones asumen que el Kit de desarrollo de Java (JDK) está instalado en su computadora y que el keytool y jarsigner los comandos están incluidos en su RUTA. Las instrucciones de firma del código Yubikey asumen que su certificado está instalado en la ranura 9a de un FIPS de YubiKey token, ya que son enviados por SSL.com.

A partir del 1 de junio de 2023, los certificados de firma de código de validación de organización (OV) e individual (IV) de SSL.com se han emitido en tokens USB del estándar federal de procesamiento de información 140-2 (FIPS 140-2) o a través de nuestro servicio de firma de código en la nube eSigner. Este cambio es en cumplimiento con los nuevos requisitos de almacenamiento de claves de Certificate Authority/Browser (CA/B) Forum para aumentar la seguridad de las claves de firma de código.

Si aún no tiene un certificado de firma de código y no está seguro del tipo que necesita, lea estas preguntas frecuentes.

SSL.com's Firma de código OV / IV Los certificados son una forma económica de proteger su código de manipulaciones y compromisos no autorizados, y están disponibles por tan solo $ 64.50 por año.

HAZ TU PEDIDO

Firma de código OV/IV (solo para certificados OV/IV emitidos antes del 1 de junio de 2023)

Configuración

Método 1: generar CSR y archivo PFX en el navegador

El método más simple para comenzar rápidamente con la firma de código Java es generar un CSR y archivo PFX cuando recupere su certificado de SSL.com e instálelo en un nuevo almacén de claves Java.

Nota: También es posible firmar su .jar archivos directamente con un archivo PFX sin convertir agregando el -storetype pkcs12 bandera a la jarsigner mando.
  1. Siga los pasos que se muestran en Solicitud y recuperación de certificados de firma de código para pedir su certificado y descargar un archivo PFX con su certificado y clave privada.
  2. Importe el PFX a un nuevo almacén de claves con la misma contraseña utilizando el siguiente comando. (Reemplazar MY-CERTIFICATE.p12 y MY-KEYSTORE.jks con el nombre real de su archivo PFX y el nombre de archivo que desea dar a su almacén de claves. Tenga en cuenta también que el destalias es arbitrario y puede usar otro valor de alias si lo desea).
    keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias codeigning
    Nota: El valor para -srcalias para el archivo PFX descargado de SSL.com normalmente debería ser 1, pero puede confirmar esto ejecutando el comando keytool -list -v -storetype pkcs12 -keystore MY-PFX.P12 y comprobando el valor mostrado para Alias name.
  3. Se le solicitará una contraseña para el almacén de claves de destino y luego la contraseña del almacén de claves de origen (la contraseña que ingresó al crear el PFX). También puede ver un mensaje de advertencia que comienza con Warning: The JKS keystore uses a proprietary format. Puede ignorar este mensaje de manera segura.

Método 2: generar pares de claves y CSR con Java

Si prefiere generar su par de claves y CSR con Java, siga los pasos de esta sección. El proceso es el mismo que se utiliza para crear un CSR para ver la SSL /TLS certificado en Java

Crear almacén de claves y par de claves
  1. Primero, crearemos un almacén de claves y un par de claves pública / privada. Java usa archivos con la extensión .jks (Java KeyStore) para almacenar certificados y claves criptográficas. Ingrese el siguiente comando para generar un almacén de claves y un par de claves RSA de 3072 bits. (Reemplazar MY-KEYSTORE.jks con el nombre que le gustaría que tuviera el archivo).
    keytool -genkeypair -alias codeigning -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
  2. Se le presentará una serie de indicaciones. Primero, cree y verifique una contraseña para el almacén de claves, luego ingrese y verifique la información solicitada. (Reemplace los valores que se muestran en mayúsculas con su propia información).
    Ingrese la contraseña del almacén de claves: Vuelva a ingresar la nueva contraseña: ¿Cuál es su nombre y apellido? [Desconocido]: FIRSTNAME LASTNAME ¿Cuál es el nombre de su organización? [Desconocido]: Empresa ¿Cómo se llama tu Ciudad o Localidad? [Desconocido]: CIUDAD ¿Cuál es el nombre de su Estado o Provincia? [Desconocido]: ESTADO ¿Cuál es el código de país de dos letras para esta unidad? [Desconocido]: EE. UU. ¿Es correcto CN=FIRSTNAME LASTNAME, OU=DEPARTMENT, O=COMPANY, L=CITY, ST=STATE, C=US? [no si
  3. Se ha generado el archivo de almacén de claves y está listo para crear un CSR.
Generar CSR
  1. Ingrese el siguiente comando para generar un CSR del almacén de claves que acabamos de crear. (Reemplazar MY-KEYSTORE.jks con el valor que usó al crear el almacén de claves y MY-CSR.csr con el nombre que quieres usar para CSR.)
    keytool -certreq -alias codeigning -file MY-CSR.csr -keystore MI-ALMACÉN DE CLAVE.jks
  2. Ingrese la contraseña que creó al generar el almacén de claves.
    Ingrese la contraseña del almacén de claves:
  3. El CSR Ha sido creado. Si está listo para solicitar su certificado de SSL.com, abra el archivo en un editor de texto para copiar y pegar en el CSR campo al hacer el pedido. El contenido del archivo se parecerá al ejemplo que se muestra a continuación:
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC5TCCAc0CAQAwcDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVNUQVRFMQ0wCwYD
    VQQHEwRDSVRZMRAwDgYDVQQKEwdDT01QQU5ZMRMwEQYDVQQLEwpERVBBUlRNRU5U
    MRswGQYDVQQDExJGSVJTVE5BTUUgTEFTVE5BTUUwggEiMA0GCSqGSIb3DQEBAQUA
    A4IBDwAwggEKAoIBAQCrRyk8VLs1THls+vfz0YtMJ3qYYl4c5c499d1YSbfQHa6L
    kIYhKTxvgdtbD+ePDigKB40CpeuMp5Yu8R6g2YIVBpGMrejAZYAmrzs6tfjpelh0
    ocSDwYr7H8qQ9jq6MfZTu6J7EjS5RMODB6MVq1usKg3H866xbi6lqAtcktEF+zlM
    4FW9Tm3H/DW2G7EnTjlMPzgaXNIU7lLar7YAWPJgv83NV8lQNCDW4lFlZLWBU95r
    YkJ4gfWUFUyPc+AiGbsyDdrVjPvF5yaebnFDrwheFaWeTTigSfLY688G7bpA8VvE
    lKioCl8nlJlc9HOBNKKdhs4qEtF0BwSE8tOgbkWPAgMBAAGgMDAuBgkqhkiG9w0B
    CQ4xITAfMB0GA1UdDgQWBBTmVpJp824krUaJKrQNhsSbVjJA1jANBgkqhkiG9w0B
    AQsFAAOCAQEALlux89RkXyHN4PQqQHbShSeTTWLURII+F+OSK9N1RS5l8V7AMcRM
    wvOkPP7JBRCKiaFGTW+5vcLQNnWRqQZMe0I4E0jzhL2gGsdChPIJy9Jwgn3Rzxmw
    8V0lBY1SHQ9LKgSK0jIer3PQhXHDJlE2g2Dx8nJ4WJk7l2OTF9Kkly9hg8MOQdeg
    VIcs3HLsVI9Cwd6UHRT6ruKL3+bRgEcb6qj+qcrKHkzN7KXbOEznd10nAm87wENS
    mTb012ZFMlpUDvPNAHQgoGJ6slA+pIoH1fvrkosjql7R/H7Q+onm37Qa6d9L2ZqM
    MhgNpNWVwI0UBU4Xy4p9oUCJnvHhQ7U+3w==
    -----END NEW CERTIFICATE REQUEST-----
Solicitar y recuperar certificado
  1. Siga los pasos que se muestran en Solicitud y recuperación de certificados de firma de código a través del paso 24. En lugar de hacer clic inmediatamente en Generar certificado botón, marque la casilla etiquetada yo tengo mi propio CSR.
    yo tengo mi propio CSR
  2. Pegar su CSR en el campo del formulario y haga clic en el Generar certificado del botón.
    Pasta CSR y generar certificado
  3. Haga clic en el Descargar botón y guardar el .crt archivo en el mismo lugar donde generó su almacén de claves.
    Descargar
Importar certificado en Keystore
  1. Utilice el siguiente comando para importar el certificado en su archivo de almacén de claves Java. (Reemplace MY-CERTIFICATE.crt y MY-KEYSTORE.jks con los nombres de archivo reales).
    keytool -importcert -file MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias codeigning
  2. Ingrese la contraseña del almacén de claves cuando se le solicite.
    Ingrese la contraseña del almacén de claves:  
  3. Su certificado está instalado en el almacén de claves y está listo para comenzar a firmar archivos.
    La respuesta del certificado se instaló en el almacén de claves

Firmar archivos con Jarsigner

  1. Use el siguiente comando para agregar una firma digital con marca de tiempo a un .jar expediente. (Reemplazar /PATH/TO/MY-KEYSTORE.jks y MY-JAR.jar con los nombres de archivo reales que está utilizando. Si utilizó un alias diferente al configurar su almacén de claves, sustitúyalo por codesigning en el comando)
    jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar codeigning
    Nota: También es posible firmar su .jar archivos directamente con un archivo PFX sin convertir agregando el -storetype pkcs12 bandera a la jarsigner mando.

    Nota: De forma predeterminada, SSL.com admite marcas de tiempo de claves ECDSA.

    Si encuentra este error: The timestamp certificate does not meet a minimum public key length requirement, debe comunicarse con su proveedor de software para permitir las marcas de tiempo de las claves ECDSA.

    Si no hay forma de que su proveedor de software permita el uso del punto final normal, puede usar este punto final heredado http://ts.ssl.com/legacy para obtener una marca de tiempo de una unidad de sellado de tiempo RSA.
  2. Ingrese la contraseña del almacén de claves en la solicitud.
    Ingrese la frase de contraseña para el almacén de claves: 
  3. El archivo ya está firmado. Puede verificar la firma con el siguiente comando:
    jarsigner -verify -verbose MI-JAR.jar
  4. Si su archivo se firmó correctamente, la salida del comando debe incluir esta línea:
    s = se verificó la firma
    

 

Firma de código IV, OV y EV con YubiKey

SSL.com's Firma de código EV los certificados ofrecen firma de código en modo kernel de Windows 10 y un aumento instantáneo de la reputación de SmartScreen, todo por tan solo $ 240.00 por año. Se entregan en forma segura FIPS de YubiKey Tokens USB con autenticación de dos factores.

HAZ TU PEDIDO

Configuración

Instale el controlador PKCS # 11 y cree el archivo eToken.cfg

Windows
  1. Instale OpenSC siguiendo las instrucciones en OpenSC Inicio rápido de Windows.
  2. Localice el controlador OpenSC PKCS # 11. La ubicación de instalación predeterminada es C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll.
  3. Cree un archivo de configuración y guárdelo en una ubicación conveniente (como su directorio de inicio). El nombre de archivo es arbitrario, pero en esta guía usaremos yubikey-pkcs11-java.cfg. El archivo debe contener la siguiente información:
    name = OpenSC-PKCS11 description = SunPKCS11 a través de la biblioteca OpenSC = C: \ Archivos de programa \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macOS
  1. Instalar OpenSC. Si utiliza Homebrew Como administrador de paquetes, puede instalar OpenSC con el siguiente comando:
    instalar brew opensc
  2. Localice el controlador OpenSC PKCS # 11. Si instaló usando Homebrew, el archivo debería estar disponible en /usr/local/lib/opensc-pkcs11.so.
  3. Cree un archivo de configuración y guárdelo en una ubicación conveniente (como su directorio de inicio). El nombre de archivo es arbitrario, pero en esta guía usaremos yubikey-pkcs11-java.cfg. El archivo debe contener la siguiente información:
    name = OpenSC-PKCS11 description = SunPKCS11 a través de la biblioteca OpenSC = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0

Firmar archivos con Jarsigner

  1. Use el siguiente comando para agregar una firma digital con marca de tiempo a un .jar expediente. (Reemplazar MY-JAR.jar con el nombre de archivo real que está utilizando)
    jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore NONE -storetype PKCS11 MY-JAR.jar "Certificado de autenticación PIV"
  2. Ingrese su PIN de YubiKey en la solicitud de frase de contraseña.
    Ingrese la frase de contraseña para el almacén de claves: 
  3. El archivo ya está firmado. Puede verificar la firma con el siguiente comando:
    jarsigner -verify -verbose MI-JAR.jar
  4. Si su archivo se firmó correctamente, la salida del comando debe incluir esta línea:
    s = se verificó la firma
    
¡Gracias por elegir SSL.com! Si tiene alguna pregunta, comuníquese con nosotros por correo electrónico a Support@SSL.com, llamada 1-877-SSL-SECURE, o simplemente haga clic en el enlace de chat en la parte inferior derecha de esta página. También puede encontrar respuestas a muchas preguntas de soporte comunes en nuestro base de conocimientos.

 

Twitter
Facebook
Etiqueta LinkedIn
Reddit
Correo electrónico

Manténgase informado y seguro

SSL.com es líder mundial en ciberseguridad, PKI y certificados digitales. Regístrese para recibir las últimas noticias, consejos y anuncios de productos de la industria de SSL.com.

Nos encantaría recibir tus comentarios

Responda nuestra encuesta y háganos saber lo que piensa sobre su compra reciente.