IBM Cloud Docs
서명 확인을 위한 공개 키 가져오기

서명 확인을 위한 공개 키 가져오기

연속 배치 (CD) 파이프라인에서 서명된 이미지의 서명을 확인하려면 GPG 공개 키를 사용한다.

다음과 같이 GPG 공개 키를 얻을 수 있다.

  • 연속 통합 (CI) 파이프라인을 사용한다.
  • 로컬 컴퓨터 사용.

연속 통합 (CI) 파이프라인을 사용하여 GPG 공개 키 얻기

  1. 공개 키를 가져오려면 CI 파이프라인에 값 1을 사용하여 환경 변수 print-code-signing-certificate 를 추가하십시오. CI 파이프라인을 실행한 후에는 build-sign-artifact 단계의 콘솔에 GPG 공개 키가 인쇄됩니다. 그런 다음, 다음 명령을 실행하여 공개 키를 파일로 복사하고 base64 형식으로 인코드할 수 있습니다.

    cat copied_key.txt | base64
    
  2. 인코딩된 키를 연속 배치 (CD) 파이프라인에 복사하십시오.

로컬 컴퓨터를 사용하여 GPG 공개 키 얻기

키 링에 GPG 개인 키가 있는 경우, 공개 키를 직접 내보낼 수 있습니다.

  1. 시스템에 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]
    
  2. 컴퓨터에 GPG키가 있으면 다음 명령을 실행하여 GPG 공개 키를 내보낸다.

    gpg --armor --export  <Email Address>
    
    
        -----BEGIN PGP PUBLIC KEY BLOCK-----
        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
        ftfswLBW+es4fQ==
        =0FYC
        -----END PGP PUBLIC KEY BLOCK-----
    
  3. 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
    
  1. IBM Cloud 콘솔에서 생성한 GPG키를 저장할 Key Protect 인스턴스를 선택하십시오.

  2. 추가 아이콘 추가 아이콘 을 클릭하여 인스턴스에 새 키를 추가하십시오.

  3. 사용자 고유 키 가져오기 옵션을 선택하십시오.

  4. 키 유형을 표준 키로 선택하십시오.

  5. 키 이름 필드에 적절한 이름을 지정하십시오. 저장된 GPG키는 이 이름을 사용하여 나중에 검색할 수 있다.

  6. 키 자료 필드에 내보낸 키를 복사하십시오.

    키를 복사하여 키 자료 필드에 붙여넣을 때는 키 끝에 추가 행이 없는지 확인하십시오.

  7. 고급 옵션 섹션을 펼치고 키 링 선택 옵션을 기본값으로 선택하십시오.

  8. 키 추가를 클릭하여 키를 보호 키에 추가하십시오.

    키에 키를 추가하십시오.
    그림 1. 키를 보호하기 위해 키를 추가하십시오.

Key Protect에 대한 자세한 정보는 Key Protect 정보의 내용을 참조하십시오.

Secrets Manager에 키를 저장하십시오.

Secrets Manager 인스턴스에 저장하기 전에 단일 base64 가 GPG키를 인코드해야 합니다.

  1. 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
      
  2. IBM Cloud 콘솔에서 이전 단계에서 생성한 GPG키를 저장할 Secrets Manager 인스턴스를 선택하십시오.

  3. 추가 아이콘 추가 아이콘 을 클릭하여 인스턴스에 새 키를 추가하십시오.

  4. 기타 비밀 유형 옵션을 선택하십시오.

    기타 비밀 유형
    그림 2. 기타 시크릿 유형

  5. 키 유형을 표준 키로 선택하십시오.

  6. 이름 필드에 적절한 이름을 지정하십시오. 저장된 GPG키는 이 이름을 사용하여 나중에 검색할 수 있다.

  7. 옵션을 비밀 값 으로 선택하고 비밀 값 필드에서 이전에 내보낸 대로 키를 붙여넣으십시오.

    키를 복사하여 비밀 값 필드에 붙여넣을 때는 키 끝에 추가 행이 없는지 확인하십시오.

  8. 추가를 클릭하여 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