19.8. certmonger와 함께 SCEP 사용


SCEP(Simple Certificate Enrollment Protocol)는 다양한 장치 및 운영 체제에서 사용할 수 있는 인증서 관리 프로토콜입니다. SCEP 서버를 환경에서 CA(외부 인증 기관)로 사용하는 경우 certmonger 를 사용하여 IdM(Identity Management) 클라이언트의 인증서를 받을 수 있습니다.

19.8.1. SCEP 개요

SCEP(Simple Certificate Enrollment Protocol)는 다양한 장치 및 운영 체제에서 사용할 수 있는 인증서 관리 프로토콜입니다. SCEP 서버를 외부 CA(인증 기관)로 사용할 수 있습니다.

IdM(Identity Management) 클라이언트를 구성하여 CA SCEP 서비스에서 HTTP를 통해 직접 인증서를 요청 및 검색할 수 있습니다. 이 프로세스는 일반적으로 제한된 시간 동안만 유효한 공유 보안으로 보호됩니다.

클라이언트 측에서 SCEP는 다음 구성 요소를 제공해야 합니다.

  • SCEP URL: CA SCEP 인터페이스의 URL입니다.
  • SCEP 공유 시크릿: 인증서를 가져오는 데 사용되는 CA와 SCEP 클라이언트 간에 공유되는 챌린지Password Pin입니다.

그런 다음 클라이언트는 SCEP를 통해 CA 인증서 체인을 검색하고 CA에 인증서 서명 요청을 보냅니다.

certmonger 를 사용하여 SCEP를 구성할 때 발급한 인증서 매개변수를 지정하는 새 CA 구성 프로필을 생성합니다.

19.8.2. SCEP를 통해 IdM CA 서명 인증서 요청

다음 예제는 certmongerSCEP_example SCEP CA 구성을 추가하고 client.idm.example.com IdM 클라이언트에서 새 인증서를 요청합니다. certmonger 는 OpenSSL과 같은 NSS 인증서 데이터베이스 형식과 PEM(파일 기반) 형식을 모두 지원합니다.

사전 요구 사항

  • SCEP URL을 알고 있습니다.
  • 챌린지Password pin shared secret이 있습니다.

절차

  1. certmonger 에 CA 구성을 추가합니다.

    Copy to Clipboard Toggle word wrap
    [root@client.idm.example.com ~]# getcert add-scep-ca -c SCEP_example -u SCEP_URL
    • -c: CA 구성에 대한 필수 구성 이름입니다. 나중에 동일한 값을 다른 getcert 명령과 함께 사용할 수 있습니다.
    • -u: 서버의 SCEP 인터페이스의 URL입니다.

      중요

      HTTPS URL을 사용하는 경우 -R 옵션을 사용하여 SCEP 서버 CA 인증서의 PEM 형식 사본 위치도 지정해야 합니다.

  2. CA 구성이 성공적으로 추가되었는지 확인합니다.

    Copy to Clipboard Toggle word wrap
    [root@client.idm.example.com ~]# getcert list-cas -c SCEP_example
    CA 'SCEP_example':
           is-default: no
           ca-type: EXTERNAL
           helper-location: /usr/libexec/certmonger/scep-submit -u http://SCEP_server_enrollment_interface_URL
           SCEP CA certificate thumbprint (MD5): A67C2D4B 771AC186 FCCA654A 5E55AAF7
           SCEP CA certificate thumbprint (SHA1): FBFF096C 6455E8E9 BD55F4A5 5787C43F 1F512279

    구성이 성공적으로 추가되면 certmonger는 원격 CA에서 CA 체인을 검색합니다. 그런 다음 CA 체인이 명령 출력에서 지문으로 표시됩니다. 암호화되지 않은 HTTP를 통해 서버에 액세스하는 경우 지문을 SCEP 서버에 표시된 것과 수동으로 비교하여 중간자 공격을 방지합니다.

  3. CA에서 인증서를 요청합니다.

    • NSS를 사용하는 경우:

      Copy to Clipboard Toggle word wrap
      [root@client.idm.example.com ~]# getcert request -I Example_Task -c SCEP_example -d /etc/pki/nssdb -n ExampleCert -N cn="client.idm.example.com" -L one-time_PIN -D client.idm.example.com

      옵션을 사용하여 인증서 요청의 다음 매개변수를 지정할 수 있습니다.

      • - i : 선택 사항: 작업의 이름: 요청에 대한 추적 ID입니다. 나중에 getcert list 명령과 동일한 값을 사용할 수 있습니다.
      • -c: 요청을 제출하기 위한 CA 구성입니다.
      • - D : 인증서와 키를 저장할 NSS 데이터베이스가 있는 디렉터리입니다.
      • -n: NSS 데이터베이스에 사용된 인증서의 Nickname입니다.
      • - n : CSR의 주체 이름입니다.
      • -L: CA에서 발행한 1회성 규칙 pin입니다.
      • - d : 인증서의 주체 대체 이름, 일반적으로 호스트 이름과 동일합니다.
    • OpenSSL을 사용하는 경우:

      Copy to Clipboard Toggle word wrap
      [root@client.idm.example.com ~]# getcert request -I Example_Task -c SCEP_example -f /etc/pki/tls/certs/server.crt -k /etc/pki/tls/private/private.key -N cn="client.idm.example.com" -L one-time_PIN -D client.idm.example.com

      옵션을 사용하여 인증서 요청의 다음 매개변수를 지정할 수 있습니다.

      • - i : 선택 사항: 작업의 이름: 요청에 대한 추적 ID입니다. 나중에 getcert list 명령과 동일한 값을 사용할 수 있습니다.
      • -c: 요청을 제출하기 위한 CA 구성입니다.
      • -f: 인증서의 스토리지 경로입니다.
      • -k: 키의 스토리지 경로입니다.
      • - n : CSR의 주체 이름입니다.
      • -L: CA에서 발행한 1회성 규칙 pin입니다.
      • - d : 인증서의 주체 대체 이름, 일반적으로 호스트 이름과 동일합니다.

검증

  1. 인증서가 발급되었는지 확인하고 로컬 데이터베이스에 올바르게 저장되었는지 확인합니다.

    • NSS를 사용한 경우 다음을 입력합니다.

      Copy to Clipboard Toggle word wrap
      [root@client.idm.example.com ~]# getcert list -I Example_Task
      	Request ID 'Example_Task':
              status: MONITORING
              stuck: no
              key pair storage: type=NSSDB,location='/etc/pki/nssdb',nickname='ExampleCert',token='NSS Certificate DB'
              certificate: type=NSSDB,location='/etc/pki/nssdb',nickname='ExampleCert',token='NSS Certificate DB'
              signing request thumbprint (MD5): 503A8EDD DE2BE17E 5BAA3A57 D68C9C1B
              signing request thumbprint (SHA1): B411ECE4 D45B883A 75A6F14D 7E3037F1 D53625F4
              CA: IPA
              issuer: CN=Certificate Authority,O=EXAMPLE.COM
              subject: CN=client.idm.example.com,O=EXAMPLE.COM
              expires: 2018-05-06 10:28:06 UTC
              key usage: digitalSignature,keyEncipherment
              eku: iso.org.dod.internet.security.mechanisms.8.2.2
              certificate template/profile: IPSECIntermediateOffline
              pre-save command:
              post-save command:
              track: true
      	auto-renew: true
    • OpenSSL을 사용한 경우 다음을 입력합니다.

      Copy to Clipboard Toggle word wrap
      [root@client.idm.example.com ~]# getcert list -I Example_Task
      Request ID 'Example_Task':
             status: MONITORING
             stuck: no
             key pair storage: type=FILE,location='/etc/pki/tls/private/private.key'
             certificate: type=FILE,location='/etc/pki/tls/certs/server.crt'
             CA: IPA
             issuer: CN=Certificate Authority,O=EXAMPLE.COM
             subject: CN=client.idm.example.com,O=EXAMPLE.COM
             expires: 2018-05-06 10:28:06 UTC
             eku: id-kp-serverAuth,id-kp-clientAuth
             pre-save command:
             post-save command:
             track: true
             auto-renew: true

      MONITORING 상태는 발급된 인증서를 성공적으로 검색할 수 있음을 나타냅니다. getcert-list(1) 도움말 페이지에는 가능한 다른 상태 및 의미가 나열됩니다.

추가 리소스

  • 인증서를 요청할 때 자세한 옵션은 시스템의 getcert-request(1) 매뉴얼 페이지를 참조하십시오.

19.8.3. certmonger를 사용하여 AD SCEP 인증서 자동 갱신

certmonger 에서 SCEP 인증서 갱신 요청을 보내면 이 요청은 기존 인증서 개인 키를 사용하여 서명됩니다. 그러나 기본적으로 certmonger 에서 전송한 갱신 요청에는 원래 인증서를 받는 데 사용된 challengePassword Pin도 포함되어 있습니다.

SCEP 서버로 작동하는 NDES(Network Device Enrollment Service) 서버는 원래의 challengePassword pin이 포함된 갱신 요청에 대한 요청을 자동으로 거부합니다. 따라서 갱신이 실패합니다.

AD가 작동하도록 갱신하려면 challengePassword Pin 없이 서명된 갱신 요청을 보내도록 certmonger 를 구성해야 합니다. 갱신 시 주체 이름을 비교하지 않도록 AD 서버를 구성해야 합니다.

참고

AD 이외의 SCEP 서버는 challengePassword 가 포함된 요청도 거부할 수 있습니다. 이러한 경우 이러한 방식으로 certmonger 구성을 변경해야 할 수도 있습니다.

사전 요구 사항

  • RHEL 서버는 RHEL 8.6 이상을 실행해야 합니다.

절차

  1. AD 서버에서 등록 할 수 있습니다.
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MSCEP 하위 키에서 새로운 32비트 REG_Doctets 항목 DisableRenewalSubjectNameMatch 를 추가하고 해당 값을 1 로 설정합니다.
  3. certmonger 가 실행 중인 서버에서 /etc/certmonger/certmonger.conf 파일을 열고 다음 섹션을 추가합니다.

    Copy to Clipboard Toggle word wrap
    [scep]
    challenge_password_otp = yes
  4. certmonger를 다시 시작하십시오.

    Copy to Clipboard Toggle word wrap
    # systemctl restart certmonger
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat, Inc.