IBM Cloud Docs
Obtention d'une clé publique pour la vérification de la signature

Obtention d'une clé publique pour la vérification de la signature

Utilisez une clé publique GPG pour vérifier la signature des images signées dans un pipeline de déploiement continu (CD).

Vous pouvez obtenir une clé publique GPG comme suit:

  • Utilisation du pipeline d'intégration continue (CI).
  • Utilisation de votre ordinateur local.

Obtention d'une clé publique GPG à l'aide du pipeline d'intégration continue (CI)

  1. Pour obtenir une clé publique, ajoutez la variable d'environnement print-code-signing-certificate avec la valeur 1 dans votre pipeline d'EC. Une fois que vous avez exécuté le pipeline d'EC, la clé publique GPG est imprimée sur la console dans l'étape build-sign-artifact . Vous pouvez ensuite copier la clé publique dans un fichier et l'encoder au format base64 en exécutant la commande suivante:

    cat copied_key.txt | base64
    
  2. Copiez la clé codée dans votre pipeline de déploiement continu (CD).

Obtention d'une clé publique GPG à l'aide de votre ordinateur local

Si vous disposez de la clé privée GPG dans votre fichier de clés, vous pouvez exporter la clé publique directement.

  1. Vérifiez si votre machine possède un fichier de clés GPG. Les fichiers de clés sont des regroupements de clés qui permettent à ces regroupements d'être gérés de manière indépendante. Pour plus d'informations, voir Regroupement de clés à l'aide de fichiers de clés. Exécutez la commande suivante :

     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 clé GPG existe sur votre ordinateur, exportez la clé publique GPG en exécutant la commande suivante:

    gpg --armor --export  <Email Address>
    
    
        -----BEGIN PGP PUBLIC KEY BLOCK-----
        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
        ftfswLBW+es4fQ==
        =0FYC
        -----END PGP PUBLIC KEY BLOCK-----
    
  3. Après avoir exporté la clé publique GPG, codez-la au format base64 avant de la copier dans la zone code-signing-certificate .

Stockage de la clé

Fournissez la clé GPG au pipeline CD de l'une des manières suivantes:

  • Stockez la clé dans IBM® Key Protect for IBM Cloud®.
  • Stockez la clé dans IBM Cloud® Secrets Manager.
  • Stockez la clé directement dans la chaîne d'outils de l'EC.

Assurez-vous que la clé est copiée dans le format correct pour éviter une erreur de signature de pipeline d'EC. Utilisez pbcopy (OS X) ou clip (Windows Git bash) dans les commandes spécifiées dans les sections suivantes pour copier le contenu de la clé dans le presse-papiers.

Stockage de la clé dans Key Protect

Vous devez coder base64 deux fois la clé GPG avant de la stocker dans votre instance Key Protect .

Exportez et copiez la clé GPG dans le presse-papiers comme suit:

  • 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. Dans votre console IBM Cloud , sélectionnez l'instance Key Protect dans laquelle vous souhaitez stocker la clé GPG que vous avez générée.

  2. Cliquez sur l'icône Ajouter icône Ajouter pour ajouter une nouvelle clé à l'instance.

  3. Sélectionnez l'option Importer votre propre clé .

  4. Sélectionnez le type de clé Clé standard.

  5. Indiquez un nom approprié dans la zone Nom de clé . La clé GPG stockée peut être extraite ultérieurement à l'aide de ce nom.

  6. Copiez la clé que vous avez exportée dans la zone Key material .

    Assurez-vous qu'il n'y a pas de ligne supplémentaire à la fin de la clé lorsque vous copiez la clé et que vous la collez dans la zone Key material .

  7. Développez la section Options avancées et sélectionnez l'option Choisir un fichier de clés comme valeur par défaut.

  8. Ajoutez la clé à votre protection de clé en cliquant sur Ajouter une clé.

    Ajoutez la clé pour protéger la clé
    Figure 1. Ajoutez la clé pour protéger les clés

Pour plus d'informations sur Key Protect, voir A propos de Key Protect.

Stockage de la clé dans Secrets Manager

Vous devez coder base64 la clé GPG avant de la stocker dans votre instance Secrets Manager .

  1. Exportez et copiez la clé GPG dans le presse-papiers.

    • 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. Dans votre console IBM Cloud , sélectionnez l'instance Secrets Manager dans laquelle vous souhaitez stocker la clé GPG que vous avez générée lors des étapes précédentes.

  3. Cliquez sur l'icône Ajouter icône Ajouter pour ajouter une nouvelle clé à l'instance.

  4. Sélectionnez l'option Autre type de secret .

    Autre type de secret
    Figure 2. Autre type de secret

  5. Sélectionnez le type de clé Clé standard.

  6. Indiquez un nom approprié dans la zone Nom . La clé GPG stockée peut être extraite ultérieurement à l'aide de ce nom.

  7. Choisissez l'option Valeur de secret et collez la clé telle qu'elle a été exportée précédemment dans la zone Valeur de secret .

    Assurez-vous qu'il n'y a pas de ligne supplémentaire à la fin de la clé lorsque vous copiez la clé et que vous la collez dans la zone Valeur de secret .

  8. Ajoutez la clé à votre instance Key Protect en cliquant sur Ajouter.

    Ajoutez la clé
    Figure 3. Ajoutez la clé

Pour plus d'informations sur Secrets Manager, voir Initiation à Secrets Manager.

Exportation de la clé privée en vue de la stocker directement dans le pipeline d'intégration continue

Utilisez cette méthode uniquement à des fins de test. Utilisez keyprotect ou secrets manager pour stocker des clés.

Vous devez coder base64 la clé GPG avant de la stocker en tant que propriété de pipeline sécurisée.

Stockez en toute sécurité la clé GPG dans une instance Key Protect ou Secrets Manager comme suit:

  • OS X ou Linux

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

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