4.6. Ajout des clés pour secureboot
Pour utiliser KMM Kernel Module Management (KMM) afin de signer les modules du noyau, un certificat et une clé privée sont nécessaires. Pour savoir comment les créer, voir Générer une paire de clés publique et privée.
Pour plus d'informations sur l'extraction de la paire de clés publique et privée, voir Signer les modules du noyau avec la clé privée. Utilisez les étapes 1 à 4 pour extraire les clés dans des fichiers.
Procédure
Créez le fichier
sb_cert.cerqui contient le certificat et le fichiersb_cert.privqui contient la clé privée :$ openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 -batch -config configuration_file.config -outform DER -out my_signing_key_pub.der -keyout my_signing_key.priv
Ajoutez les fichiers en utilisant l'une des méthodes suivantes :
Ajouter directement les fichiers en tant que secrets:
oc create secret generic my-signing-key --from-file=key=<my_signing_key.priv>
oc create secret generic my-signing-key-pub --from-file=key=<my_signing_key_pub.der>
Ajouter les fichiers en les encodant en base64 :
cat sb_cert.priv | base64 -w 0 > my_signing_key2.base64
cat sb_cert.cer | base64 -w 0 > my_signing_key_pub.base64
Ajouter le texte encodé à un fichier YAML :
apiVersion: v1 kind: Secret metadata: name: my-signing-key-pub namespace: default 1 type: Opaque data: cert: <base64_encoded_secureboot_public_key> --- apiVersion: v1 kind: Secret metadata: name: my-signing-key namespace: default 2 type: Opaque data: key: <base64_encoded_secureboot_private_key>
Appliquer le fichier YAML :
$ oc apply -f <yaml_filename>
4.6.1. Vérification des clés
Après avoir ajouté les clés, vous devez les vérifier pour vous assurer qu'elles sont correctement réglées.
Procédure
Vérifiez que le secret de la clé publique est correctement défini :
$ oc get secret -o yaml <certificate secret name> | awk '/cert/{print $2; exit}' | base64 -d | openssl x509 -inform der -textLe certificat devrait s'afficher avec un numéro de série, un émetteur, un sujet, etc.
Vérifiez que le secret de la clé privée est correctement défini :
$ oc get secret -o yaml <clé privée nom secret> | awk '/key/{print $2 ; exit}' | base64 -dCela devrait permettre d'afficher la clé contenue dans les lignes
-----BEGIN PRIVATE KEY-----et-----END PRIVATE KEY-----.