4.6. secureboot를 위한 키 추가
KMM(KMM)을 사용하여 커널 모듈에 서명하려면 인증서와 개인 키가 필요합니다. 이러한 키 생성 방법에 대한 자세한 내용은 공개 및 개인 키 쌍 생성을 참조하십시오.
공개 키 및 개인 키 쌍을 추출하는 방법에 대한 자세한 내용은 개인 키로 커널 모듈 서명을 참조하십시오. 1~4단계를 사용하여 파일로 키를 추출합니다.
절차
인증서가 포함된
sb_cert.cer
파일과 개인 키가 포함된sb_cert.priv
파일을 만듭니다.$ 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
다음 방법 중 하나를 사용하여 파일을 추가합니다.
파일을 시크릿 으로 직접 추가합니다.
$ oc create secret generic my-signing-key --from-file=key=<my_signing_key.priv>
$ oc create secret generic my-signing-key-pub --from-file=cert=<my_signing_key_pub.der>
파일을 base64로 인코딩하여 추가합니다.
$ cat sb_cert.priv | base64 -w 0 > my_signing_key2.base64
$ cat sb_cert.cer | base64 -w 0 > my_signing_key_pub.base64
인코딩된 텍스트를 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>
YAML 파일을 적용합니다.
$ oc apply -f <yaml_filename>
4.6.1. 키 확인
키를 추가한 후에는 키가 올바르게 설정되었는지 확인해야 합니다.
절차
공개 키 시크릿이 올바르게 설정되었는지 확인합니다.
$ oc get secret -o yaml <certificate secret name> | awk '/cert/{print $2; exit}' | base64 -d | openssl x509 -inform der -text
Serial Number, Issuer, Subject 등의 인증서가 표시되어야 합니다.
개인 키 보안이 올바르게 설정되었는지 확인합니다.
$ oc get secret -o yaml <private key secret name> | awk '/key/{print $2; exit}' | base64 -d
-----BEGIN PRIVATE KEY
------ 및 ------- 줄에 묶은 키가 표시되어야 합니다.