4.9. RPM 패키지에 서명


다음 소프트웨어 중 하나를 사용하여 타사에서 콘텐츠를 변경할 수 없도록 RPM 패키지에 서명할 수 있습니다.

  • Sequoia PGP는 OpenPGP 표준을 지원합니다. RPM은 Sequoia PGP를 사용하여 소프트웨어 서명을 확인합니다.
  • GNU Privacy Guard(GnuPG)는 이전 OpenPGP 표준 버전을 지원하므로 GnuPG가 RHEL 9 및 이전 버전과 보다 호환됩니다.
주의

새로운 알고리즘과 서명이 이전 RHEL 버전과 호환되지 않을 수 있습니다.

4.9.1. GnuPG를 사용하여 RPM 패키지에 서명

GNU Privacy Guard(GnuPG) 소프트웨어를 사용하여 RPM 패키지에 서명할 수 있습니다.

4.9.1.1. GnuPG를 사용하여 패키지에 서명하기 위한 OpenPGP 키 생성

GNU Privacy Guard(GnuPG) 소프트웨어를 사용하여 RPM 패키지에 서명하려면 먼저 OpenPGP 키를 생성해야 합니다.

사전 요구 사항

  • rpm-signpinentry 패키지가 시스템에 설치되어 있습니다.

프로세스

  1. OpenPGP 키 쌍을 생성합니다.

    $ gpg --gen-key
    Copy to Clipboard Toggle word wrap
  2. 생성된 키 쌍을 확인합니다.

    $ gpg --list-keys
    Copy to Clipboard Toggle word wrap
  3. 공개 키를 내보냅니다.

    $ gpg --export -a '<public_key_name>' > RPM-GPG-KEY-pmanager
    Copy to Clipboard Toggle word wrap

4.9.1.2. GnuPG로 패키지에 서명하도록 RPM 구성

GNU Privacy Guard(GnuPG) 소프트웨어를 사용하여 RPM 패키지에 서명하려면 %_gpg_name RPM 매크로를 지정하여 RPM을 구성해야 합니다.

사전 요구 사항

프로세스

  • $HOME/.rpmmacros 디렉토리에 %_gpg_name 매크로를 정의합니다.

    %_gpg_name <key-ID>
    Copy to Clipboard Toggle word wrap

    GnuPG의 유효한 키 ID 값은 키를 생성할 때 제공한 키 지문, 전체 이름 또는 이메일 주소일 수 있습니다.

4.9.1.3. RPM 패키지에 서명 추가

패키지는 일반적으로 서명 없이 빌드됩니다. 패키지가 릴리스되기 전에 서명을 추가할 수 있습니다.

사전 요구 사항

프로세스

  • 패키지에 서명을 추가합니다.

    $ rpmsign --addsign <package-name>.rpm
    Copy to Clipboard Toggle word wrap

검증

  1. 내보낸 OpenPGP 공개 키를 RPM 인증 키로 가져옵니다.

    # rpmkeys --import RPM-GPG-KEY-pmanager
    Copy to Clipboard Toggle word wrap
  2. GnuPG를 사용하여 키 ID를 표시합니다.

    $ gpg --list-keys
    [...]
    pub   rsa3072 2025-05-13 [SC] [expires: 2028-05-12]
          A8AF1C39AC67A1501450734F6DE8FC866DE0394D
    [...]
    Copy to Clipboard Toggle word wrap

    키 ID는 명령 출력의 40자 문자열입니다(예: A8AF1C39AC67A1501450734F6DE8FC866DE0394D ).

  3. RPM 파일에 해당 서명이 있는지 확인합니다.

    $ rpm -Kv <package_name>.rpm
    <package_name>.rpm:
        Header V4 RSA/SHA256 Signature, key ID 6de0394d: OK
        Header SHA256 digest: OK
        Header SHA1 digest: OK
        Payload SHA256 digest: OK
        MD5 digest: OK
    Copy to Clipboard Toggle word wrap

    서명 키 ID는 OpenPGP 키 ID의 마지막 부분과 일치합니다.

4.9.2. Sequoia PGP를 사용하여 RPM 패키지에 서명

Sequoia PGP를 사용하여 RPM 패키지에 서명하고 타사가 콘텐츠를 변경할 수 없도록 할 수 있습니다.

4.9.2.1. Sequoia PGP를 사용하여 패키지에 서명하기 위한 OpenPGP 키 생성

Sequoia PGP 소프트웨어를 사용하여 패키지에 서명하려면 먼저 OpenPGP 키를 생성해야 합니다.

프로세스

  1. Sequoia PGP 도구를 설치합니다.

    # dnf install sequoia-sq
    Copy to Clipboard Toggle word wrap
  2. OpenPGP 키 쌍을 생성합니다.

    $ sq key generate --own-key --userid <key_name>
    Copy to Clipboard Toggle word wrap
  3. 생성된 키 쌍을 확인합니다.

    $ sq key list
    Copy to Clipboard Toggle word wrap
  4. 공개 키를 내보냅니다.

    $ sq cert export --cert-userid '<key_name>' > RPM-PGP-KEY-pmanager
    Copy to Clipboard Toggle word wrap

4.9.2.2. Sequoia PGP로 패키지에 서명하도록 RPM 구성

Sequoia PGP 소프트웨어를 사용하여 RPM 패키지에 서명하려면 Sequoia PGP를 사용하고 %_gpg_name 매크로를 지정하도록 RPM을 구성해야 합니다.

사전 요구 사항

  • rpm-sign 패키지가 시스템에 설치되어 있습니다.

프로세스

  1. macros.rpmsign-sequoia 파일을 /etc/rpm 디렉터리에 복사합니다.

    # cp /usr/share/doc/rpm/macros.rpmsign-sequoia /etc/rpm/
    Copy to Clipboard Toggle word wrap
  2. 키 목록 출력에서 유효한 OpenPGP 키 지문 값을 가져옵니다.

    $ sq cert list --cert-userid '<key_name>'
     - 7E4B52101EB3DB08967A1E5EB595D12FDA65BA50
       - created 2025-05-13 10:33:29 UTC
       - will expire 2028-05-13T03:59:50Z
    
       - [    ✓    ] <key_name>
    Copy to Clipboard Toggle word wrap

    키 지문은 출력의 첫 번째 줄에 있는 40자 문자열입니다(예: 7E4B52101EB3DB08967A1E595D12FDA65BA50 ).

  3. 다음과 같이 $HOME/.rpmmacros 파일에 %_gpg_name 매크로를 정의합니다.

    %_gpg_name <key_fingerprint>
    Copy to Clipboard Toggle word wrap

    지문 대신 전체 키 ID를 사용할 수도 있습니다.

    참고

    GnuPG와 달리 Sequoia PGP는 전체 키 ID 또는 지문만 허용합니다.

4.9.2.3. RPM 패키지에 서명 추가

패키지는 일반적으로 서명 없이 빌드됩니다. 패키지가 릴리스되기 전에 서명을 추가할 수 있습니다.

사전 요구 사항

프로세스

  • 패키지에 서명을 추가합니다.

    $ rpmsign --addsign <package-name>.rpm
    Copy to Clipboard Toggle word wrap

검증

  1. 내보낸 OpenPGP 공개 키를 RPM 인증 키로 가져옵니다.

    # rpmkeys --import RPM-PGP-KEY-pmanager
    Copy to Clipboard Toggle word wrap
  2. 서명 키의 키 지문을 표시합니다.

    $ sq key list --cert-userid <key_name>
     - 7E4B52101EB3DB08967A1E5EB595D12FDA65BA50
       - user ID: <key_name> (authenticated)
       - created 2025-05-13 10:33:29 UTC
       - will expire 2028-05-13T03:59:50Z
       - usable for signing
       - @softkeys/7E4B52101EB3DB08967A1E5EB595D12FDA65BA50: available, unlocked
    
       - 78E56DD2E12E02CFEEA27F8B9FE57972D6BCEA6F
         - created 2025-05-13 10:33:29 UTC
         - will expire 2028-05-13T03:59:50Z
         - usable for decryption
         - @softkeys/7E4B52101EB3DB08967A1E5EB595D12FDA65BA50: available, unlocked
       - C06E45F8ABC3E59F44A9E811578DDDB66422E345
         - created 2025-05-13 10:33:29 UTC
         - will expire 2028-05-13T03:59:50Z
         - usable for signing
         - @softkeys/7E4B52101EB3DB08967A1E5EB595D12FDA65BA50: available, unlocked
       - E0BD231AB350AD6802D44C0A270E79FFC39C3B25
         - created 2025-05-13 10:33:29 UTC
         - will expire 2028-05-13T03:59:50Z
         - usable for signing
         - @softkeys/7E4B52101EB3DB08967A1E5EB595D12FDA65BA50: available, unlocked
    Copy to Clipboard Toggle word wrap

    키 지문은 일반적으로 sq 키 목록 --cert-userid < key_name > 명령 출력의 서명 하위 키입니다(예: E0BD231AB350AD6802D44C0A270E79FFC3B25 ).

  3. RPM 파일에 해당 서명이 있는지 확인합니다. 예를 들면 다음과 같습니다.

    $ rpm -Kv <package_name>.rpm
    <package_name>.rpm:
        Header V4 EdDSA/SHA512 Signature, key ID c39c3b25: OK
        Header SHA256 digest: OK
        Header SHA1 digest: OK
        Payload SHA256 digest: OK
        MD5 digest: OK
    Copy to Clipboard Toggle word wrap

    서명 키 ID는 키 지문의 마지막 부분과 일치합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat