서명 확인을 위한 공개 키 가져오기
연속 배치 (CD) 파이프라인에서 서명된 이미지의 서명을 확인하려면 GPG 공개 키를 사용한다.
다음과 같이 GPG 공개 키를 얻을 수 있다.
- 연속 통합 (CI) 파이프라인을 사용한다.
- 로컬 컴퓨터 사용.
연속 통합 (CI) 파이프라인을 사용하여 GPG 공개 키 얻기
-
공개 키를 가져오려면 CI 파이프라인에 값 1을 사용하여 환경 변수
print-code-signing-certificate
를 추가하십시오. CI 파이프라인을 실행한 후에는build-sign-artifact
단계의 콘솔에 GPG 공개 키가 인쇄됩니다. 그런 다음, 다음 명령을 실행하여 공개 키를 파일로 복사하고 base64 형식으로 인코드할 수 있습니다.cat copied_key.txt | base64
-
인코딩된 키를 연속 배치 (CD) 파이프라인에 복사하십시오.
로컬 컴퓨터를 사용하여 GPG 공개 키 얻기
키 링에 GPG 개인 키가 있는 경우, 공개 키를 직접 내보낼 수 있습니다.
-
시스템에 GPG키 링이 있는지 확인하십시오. 키 링은 이러한 그룹화가 독립적으로 관리되도록 하는 키 그룹입니다. 자세한 정보는 키 링을 사용하여 키 그룹화를 참조하십시오. 다음 명령을 실행하십시오.
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]
-
컴퓨터에 GPG키가 있으면 다음 명령을 실행하여 GPG 공개 키를 내보낸다.
gpg --armor --export <Email Address> -----BEGIN PGP PUBLIC KEY BLOCK----- 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 ftfswLBW+es4fQ== =0FYC -----END PGP PUBLIC KEY BLOCK-----
-
GPG 공개 키를 내보낸 후에는
base64
형식으로 인코딩하여code-signing-certificate
필드에 복사하십시오.
키를 저장하십시오.
다음 방법 중 하나로 CD 파이프라인에 GPG키를 제공한다.
- IBM® Key Protect for IBM Cloud®에 키를 저장하십시오.
- IBM Cloud® Secrets Manager에 키를 저장하십시오.
- 이 키를 CI 툴체인에 직접 저장한다.
CI 파이프라인 서명 오류를 방지하기 위해 키가 올바른 형식으로 복사되었는지 확인한다. 다음 절에 지정된 명령에서 pbcopy
(OS X) 또는 clip
(Windows Git bash) 를 사용하여 키 컨텐츠를 클립보드에 복사하십시오.
Key Protect에 키를 저장하십시오.
이를 Key Protect 인스턴스에 저장하기 전에 base64
인코드하여 GPG키를 인코딩해야 합니다.
다음과 같이 GPG키를 클립보드에 내보내고 복사한다.
-
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
-
IBM Cloud 콘솔에서 생성한 GPG키를 저장할 Key Protect 인스턴스를 선택하십시오.
-
추가 아이콘
을 클릭하여 인스턴스에 새 키를 추가하십시오.
-
사용자 고유 키 가져오기 옵션을 선택하십시오.
-
키 유형을 표준 키로 선택하십시오.
-
키 이름 필드에 적절한 이름을 지정하십시오. 저장된 GPG키는 이 이름을 사용하여 나중에 검색할 수 있다.
-
키 자료 필드에 내보낸 키를 복사하십시오.
키를 복사하여 키 자료 필드에 붙여넣을 때는 키 끝에 추가 행이 없는지 확인하십시오.
-
고급 옵션 섹션을 펼치고 키 링 선택 옵션을 기본값으로 선택하십시오.
-
키 추가를 클릭하여 키를 보호 키에 추가하십시오.
그림 1. 키를 보호하기 위해 키를 추가하십시오.
Key Protect에 대한 자세한 정보는 Key Protect 정보의 내용을 참조하십시오.
Secrets Manager에 키를 저장하십시오.
Secrets Manager 인스턴스에 저장하기 전에 단일 base64
가 GPG키를 인코드해야 합니다.
-
GPG 키를 클립보드로 내보내고 복사하십시오.
-
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
-
-
IBM Cloud 콘솔에서 이전 단계에서 생성한 GPG키를 저장할 Secrets Manager 인스턴스를 선택하십시오.
-
추가 아이콘
을 클릭하여 인스턴스에 새 키를 추가하십시오.
-
기타 비밀 유형 옵션을 선택하십시오.
그림 2. 기타 시크릿 유형 -
키 유형을 표준 키로 선택하십시오.
-
이름 필드에 적절한 이름을 지정하십시오. 저장된 GPG키는 이 이름을 사용하여 나중에 검색할 수 있다.
-
옵션을 비밀 값 으로 선택하고 비밀 값 필드에서 이전에 내보낸 대로 키를 붙여넣으십시오.
키를 복사하여 비밀 값 필드에 붙여넣을 때는 키 끝에 추가 행이 없는지 확인하십시오.
-
추가를 클릭하여 Key Protect 인스턴스에 키를 추가하십시오.
그림 3.
Secrets Manager에 대한 자세한 정보는 시작하기 Secrets Manager를 참조하십시오.
개인 키를 내보내고 CI 파이프라인에 직접 저장하십시오.
이 메소드는 테스트용으로만 사용하십시오. 키를 저장하려면 keyprotect
또는 secrets manager
를 사용하십시오.
보안 파이프라인 특성으로 저장하기 전에 단일 base64
가 GPG키를 인코드해야 합니다.
Key Protect 또는 Secrets Manager 인스턴스에 GPG키를 안전하게 저장하십시오.
-
OS X 또는 Linux
gpg --armor --export <Email Address> | base64
-
WINDOWS
gpg --armor --export <Email Address> | base64 -w0