인증서 체인 유효성 검사

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

<ph type="x-smartling-placeholder">

이 문서에서는 인증서를 다음에 업로드하기 전에 인증서 체인의 유효성을 검사하는 방법을 설명합니다. Apigee Edge의 키 저장소 또는 트러스트 저장소입니다. 이 프로세스는 인증서를 검증하는 OpenSSL 도구 OpenSSL을 사용할 수 있는 모든 환경에 적용할 수 있습니다.

시작하기 전에

이 문서의 단계를 사용하기 전에 다음 주제를 이해해야 합니다.

  • 인증서 체인에 익숙하지 않은 경우 다음을 참조하세요. 신뢰 체인.
  • OpenSSL 라이브러리에 익숙하지 않은 경우 OpenSSL.
  • 이 가이드의 명령줄 예를 사용하려면 최신 버전의 OpenSSL 클라이언트입니다.
  • 인증서가 PEM 형식인지 확인합니다. 인증서가 PEM 형식이 아닌 경우 다음 페이지의 안내를 따르세요. <ph type="x-smartling-placeholder"></ph> 인증서를 지원되는 형식으로 변환하여 PEM 형식으로 변환하기

전체 체인의 인증서 주체 및 발급자 유효성 검사

OpenSSL 명령어를 사용하여 인증서 체인의 유효성을 검사하려면 다음에 설명된 단계를 완료합니다. 다음 섹션을 참조하세요.

인증서 체인 분할

인증서의 유효성을 검사하기 전에 인증서 체인을 별도의 인증서로 분할해야 합니다. 인증서를 다운로드합니다.

  1. OpenSSL 클라이언트가 있는 서버에 로그인합니다.
  2. 인증서 체인을 다음 인증서로 분할합니다 (아직 수행하지 않은 경우).
    • 엔티티 인증서: entity.pem
    • 중급 인증서: intermediate.pem
    • 루트 인증서: root.pem
    를 통해 개인정보처리방침을 정의할 수 있습니다.
를 통해 개인정보처리방침을 정의할 수 있습니다. <ph type="x-smartling-placeholder">

다음 그림은 인증서 체인의 예를 보여줍니다.

인증서 체인 흐름: ID 인증서에서 중급 인증서로에서 루트 인증서로

인증서 주체 및 발급자 확인

이 섹션에서는 인증서의 주체와 발급자를 가져와 유효한 인증서 체인이 있는지 확인해야 합니다

  1. 다음 OpenSSL 명령어를 실행하여 Subjectentity의 체인에 있는 각 인증서에 대한 Issuer 이를 root로 설정하고 이들이 올바른 인증서 체인을 형성하는지 확인합니다.
    openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
        

    여기서 certificate은 인증서 이름입니다.

  2. 체인의 인증서가 다음 가이드라인을 준수하는지 확인합니다. <ph type="x-smartling-placeholder">
      </ph>
    • Subject 각 인증서의 Issuer 체인의 선행 인증서입니다 (Entity 인증서 제외).
    • SubjectIssuer는 루트 인증서에서 동일합니다.

    체인의 인증서가 이러한 가이드라인을 준수하면 인증서 체인이 완전하고 유효한 것으로 간주됩니다.

    샘플 인증서 체인 유효성 검사

    다음 예는 인증서가 3개 포함된 샘플 인증서 체인의 OpenSSL 명령어 출력입니다.

    엔티티 인증서

    openssl x509 -text -in entity.pem | grep -E '(Subject|Issuer):'
    
    Issuer: C = US, O = Google Trust Services, CN = GTS CA 1O1
    Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.enterprise.apigee.com
            

    중급 인증서

    openssl x509 -text -in intermediate.pem  | grep -E '(Subject|Issuer):'
    
    Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
    Subject: C = US, O = Google Trust Services, CN = GTS CA 1O1
            

    루트 인증서

    openssl x509 -text -in root.pem | grep -E '(Subject|Issuer):'
    
    Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
    Subject: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
            

    위의 예에서 다음 사항에 유의하세요.

    • 중간 인증서의 SubjectIssuer와 일치합니다. 확인할 수 있습니다
    • 루트 인증서의 Subject은(는) Issuer 중간 인증서를 받습니다
    • SubjectIssuer는 루트 인증서에서 동일합니다.

    위의 예에서 샘플 인증서 체인이 유효한지 확인할 수 있습니다.

인증서 주체 및 발급자 해시 확인

이 섹션에서는 인증서의 주체와 발급기관의 해시를 가져오는 방법과 유효한 인증서 체인이 있는지 확인합니다.

인증서의 해시 시퀀스를 확인하는 것이 원치 않는 공간이 있는 인증서의 일반 이름 (CN)과 같은 문제를 식별하거나 사용할 수 없습니다.

  1. 다음 OpenSSL 명령어를 실행하여 각각에 대한 hash 시퀀스를 가져옵니다. 인증서를 entity에서 root로 변경 올바른 인증서 체인을 형성해야 합니다
  2. openssl x509 -hash -issuer_hash -noout -in certificate
        

    여기서 certificate은 인증서 이름입니다.

  3. 체인의 인증서가 다음 가이드라인을 준수하는지 확인합니다.
    • 각 인증서의 Subject는 이전 인증서의 Issuer와 일치합니다. 인증서로 구성되어야 합니다 (Entity 인증서 제외).
    • SubjectIssuer는 루트 인증서에서 동일합니다.

    체인의 인증서가 이러한 가이드라인을 준수하면 인증서 체인이 완전하고 유효한 것으로 간주됩니다.

    해시 시퀀스를 통한 샘플 인증서 체인 유효성 검사

    다음 예는 샘플 인증서 체인의 OpenSSL 명령어 출력입니다. 다음 3개의 인증서가 포함됩니다.

    openssl x509 -in entity.pem -hash -issuer_hash -noout
    c54c66ba #this is subject hash
    99bdd351 #this is issuer hash
        
    openssl x509 -in intermediate.pem -hash -issuer_hash -noout
    99bdd351
    4a6481c9
        
    openssl x509 -in root.pem -hash -issuer_hash -noout
    4a6481c9
    4a6481c9
        

    위의 예에서 다음 사항에 유의하세요.

    • 중간 인증서의 subject hash가 항목의 issuer hash와 일치합니다. 있습니다.
    • 루트 인증서의 subject hash가 발급기관 인증서의 issuer hash와 일치합니다.
    • subjectissuer hash는 루트 인증서에서 동일합니다.

    위의 예에서 샘플 인증서 체인이 유효한지 확인할 수 있습니다.

인증서 만료 확인

이 섹션에서는 체인의 모든 인증서가 유효한지 확인하는 방법을 설명합니다. 다음 방법 중 하나를 사용하여 만료됩니다.

  • 인증서의 시작일과 종료일을 가져옵니다.
  • 만료 상태를 가져옵니다.

시작일 및 종료일

다음 OpenSSL 명령어를 실행하여 각 인증서의 시작일과 종료일을 가져옵니다. entity에서 root까지 체인에 도달하고 모든 인증서가 이(가) 유효하며(시작일이 오늘 이전임) 만료되지 않았습니다.

시작일 및 종료일까지의 샘플 인증서 만료 확인

openssl x509 -startdate -enddate -noout -in entity.pem
notBefore=Feb  6 21:57:21 2020 GMT
notAfter=Feb  4 21:57:21 2021 GMT
openssl x509 -startdate -enddate -noout -in intermediate.pem
notBefore=Jun 15 00:00:42 2017 GMT
notAfter=Dec 15 00:00:42 2021 GMT
openssl x509 -startdate -enddate -noout -in root.pem
notBefore=Apr 13 10:00:00 2011 GMT
notAfter=Apr 13 10:00:00 2022 GMT

만료 상태

다음 OpenSSL 명령어를 실행하여 인증서가 이미 만료되었는지 또는 다음 N seconds 내에 만료됩니다. 이 메서드는 현재 시스템 날짜의 컨텍스트에서 인증서를 반환합니다.

openssl x509 -checkend <N Seconds> -noout -in certificate

여기서 certificate은 인증서 이름입니다.

체크엔드 옵션을 통한 샘플 인증서 만료 확인

다음 명령어는 0 seconds를 사용하여 인증서가 유효한지 확인합니다. 만료 여부:

openssl x509 -checkend 0 -noout -in entity.pem
Certificate will not expire
openssl x509 -checkend 0 -noout -in intermediate.pem
Certificate will not expire
openssl x509 -checkend 0 -noout -in root.pem
Certificate will not expire

이 예에서 Certificate will not expire 메시지는 인증서가 아직 만료되지 않았습니다.

<ph type="x-smartling-placeholder">