IBM Cloud Docs
Obtención de una clave pública para la verificación de firmas

Obtención de una clave pública para la verificación de firmas

Utilice una clave pública GPG para verificar la firma de las imágenes firmadas en una interconexión de despliegue continuo (CD).

Puede obtener una clave pública GPG como se indica a continuación:

  • Utilización de la interconexión de integración continua (CI).
  • Utilizando el sistema local.

Obtención de una clave pública GPG utilizando el conducto de integración continua (CI)

  1. Para obtener una clave pública, añada la variable de entorno print-code-signing-certificate con un valor de 1 en el conducto de AC. Después de ejecutar el conducto de AC, la clave pública GPG se imprime en la consola en la etapa build-sign-artifact . A continuación, puede copiar la clave pública en un archivo y codificarla en formato base64 ejecutando el mandato siguiente:

    cat copied_key.txt | base64
    
  2. Copie la clave codificada en la interconexión de despliegue continuo (CD).

Obtención de una clave pública GPG utilizando el sistema local

Si tiene la clave privada GPG en el conjunto de claves, puede exportar la clave pública directamente.

  1. Compruebe si su máquina tiene un anillo de claves GPG. Los conjuntos de claves son agrupaciones de claves que permiten que estas agrupaciones se gestionen de forma independiente. Para obtener más información, consulte Agrupación de claves utilizando conjuntos de claves. Ejecute el siguiente mandato:

     gpg --list-keys
    
    /home/user/.gnupg/pubring.kbx
    -------------------------------
    pub   rsa3072 2021-04-15 [SC] [expires: 2023-04-15]
          88DC11E8FDDF028F02E4184719D6C4C5990F144F
    uid           [ unknown] user name <user.name@email.com>
    sub   rsa3072 2021-04-15 [E] [expires: 2023-04-15]
    
  2. Si la clave GPG existe en el sistema, exporte la clave pública GPG ejecutando el mandato siguiente:

    gpg --armor --export  <Email Address>
    
    
        -----BEGIN PGP PUBLIC KEY BLOCK-----
        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
        ftfswLBW+es4fQ==
        =0FYC
        -----END PGP PUBLIC KEY BLOCK-----
    
  3. Después de exportar la clave pública GPG, codifique la clave en formato base64 antes de copiarla en el campo code-signing-certificate .

Almacenamiento de la clave

Proporcione la clave GPG a la interconexión de CD de una de las maneras siguientes:

  • Almacene la clave en IBM® Key Protect for IBM Cloud®.
  • Almacene la clave en IBM Cloud® Secrets Manager.
  • Almacene la clave directamente en la cadena de herramientas de AC.

Asegúrese de que la clave se copie en el formato correcto para evitar un error de firma de interconexión de AC. Utilice pbcopy (OS X) o clip (Windows Git bash) en los mandatos especificados en las secciones siguientes para copiar el contenido clave en el portapapeles.

Almacene la clave en Key Protect

Debe codificar base64 la clave GPG antes de almacenarla en la instancia de Key Protect .

Exporte y copie la clave GPG en el portapapeles tal como se indica a continuación:

  • OS X

    gpg --armor --export <Email Address> | base64 | base64 | pbcopy
    
  • windows

    gpg --armor --export <Email Address> | base64 -w0 | base64 -w0 | clip
    
  • Linux

    gpg --armor --export <Email Address> | base64 | base64
    
  1. En la consola de IBM Cloud , seleccione la instancia de Key Protect donde desea almacenar la clave GPG que ha generado.

  2. Pulse el icono Añadir icono Añadir para añadir una nueva clave a la instancia.

  3. Seleccione la opción Importar su propia clave .

  4. Seleccione el tipo de clave como Clave estándar.

  5. Proporcione un nombre adecuado en el campo Nombre de clave . La clave GPG almacenada se puede recuperar más adelante utilizando este nombre.

  6. Copie la clave que ha exportado en el campo Material de clave .

    Asegúrese de que no haya ninguna línea adicional al final de la clave cuando copie la clave y péguela en el campo Material de clave .

  7. Expanda la sección Opciones avanzadas y seleccione la opción Elegir un conjunto de claves como valor predeterminado.

  8. Añada la clave a la protección de claves pulsando Añadir clave.

    Añadir la clave para proteger la clave
    Figura 1. Añada la clave para proteger la clave

Para obtener más información sobre Key Protect, consulte Acerca de Key Protect.

Almacene la clave en Secrets Manager

Debe codificar base64 la clave GPG antes de almacenarla en la instancia de Secrets Manager .

  1. Exporte y copie la clave GPG en el portapapeles.

    • OS X

      gpg --armor --export <Email Address> | base64 | pbcopy
      
    • windows

      gpg --armor --export <Email Address> | base64 -w0 | clip
      
    • Linux

      gpg --armor --export <Email Address> | base64
      
  2. En la consola de IBM Cloud , seleccione la instancia de Secrets Manager donde desea almacenar la clave GPG que ha generado en los pasos anteriores.

  3. Pulse el icono Añadir icono Añadir para añadir una nueva clave a la instancia.

  4. Seleccione la opción Otro tipo de secreto .

    Otro tipo de secreto
    Figura 2. Otro tipo de secreto

  5. Seleccione el tipo de clave como Clave estándar.

  6. Asigne un nombre adecuado en el campo Nombre . La clave GPG almacenada se puede recuperar más adelante utilizando este nombre.

  7. Elija la opción como Valor de secreto y pegue la clave tal como se ha exportado anteriormente en el campo Valor de secreto .

    Asegúrese de que no haya ninguna línea adicional al final de la clave cuando copie la clave y péguela en el campo Valor de secreto .

  8. Añada la clave a la instancia de Key Protect pulsando Añadir.

    Añada la clave
    Figura 3. Añada la clave

Para obtener más información sobre Secrets Manager, consulte Iniciación a Secrets Manager.

Exporte la clave privada y almacénela directamente en la interconexión de integración continua

Utilice este método sólo para pruebas. Utilice keyprotect o secrets manager para almacenar claves.

Debe codificar base64 de forma individual la clave GPG antes de almacenarla como una propiedad de interconexión protegida.

Almacene de forma segura la clave GPG en una instancia de Key Protect o Secrets Manager como se indica a continuación:

  • OS X o Linux

    gpg --armor --export <Email Address> | base64
    
  • windows

    gpg --armor --export <Email Address> | base64 -w0