Apigee Edge 문서입니다.
Go to the
Apigee X documentation. info
이 문서에서는 Apigee Edge의 키 저장소 또는 트러스트 저장소에 인증서를 업로드하기 전에 인증서 체인을 검증하는 방법을 설명합니다. 이 프로세스는 OpenSSL 툴킷을 사용하여 인증서 체인을 검증하며 OpenSSL을 사용할 수 있는 모든 환경에 적용됩니다.
시작하기 전에
이 문서의 단계를 사용하기 전에 다음 주제를 이해해야 합니다.
- 인증서 체인에 익숙하지 않은 경우 신뢰 체인을 읽어보세요.
- OpenSSL 라이브러리에 익숙하지 않은 경우 OpenSSL을 읽어보세요.
- 이 가이드의 명령줄 예시를 사용하려면 OpenSSL 클라이언트를 설치하거나 최신 버전으로 업데이트하세요.
- 인증서가 PEM 형식인지 확인합니다. 인증서가 PEM 형식이 아닌 경우 지원되는 형식으로 인증서 변환의 안내에 따라 PEM 형식으로 변환합니다.
전체 체인의 인증서 주체 및 발급기관 검증
OpenSSL 명령어를 사용하여 인증서 체인을 검증하려면 다음 섹션에 설명된 단계를 완료하세요.
인증서 체인 분할
인증서를 검증하기 전에 다음 단계를 사용하여 인증서 체인을 별도의 인증서로 분할해야 합니다.
- OpenSSL 클라이언트가 있는 서버에 로그인합니다.
- 아직 분할하지 않은 경우 인증서 체인을 다음 인증서로 분할합니다.
-
엔티티 인증서:
entity.pem -
중간 인증서:
intermediate.pem -
루트 인증서:
root.pem
다음 그림은 인증서 체인의 예시를 보여줍니다.
인증서 주체 및 발급기관 확인
이 섹션에서는 인증서의 주체와 발급기관을 가져오고 유효한 인증서 체인이 있는지 확인하는 방법을 설명합니다.
-
다음 OpenSSL 명령어를 실행하여 체인의 각 인증서(
entity에서root까지)에 대한Subject및Issuer를 가져오고 올바른 인증서 체인을 구성하는지 확인합니다.openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'여기서 certificate는 인증서의 이름입니다.
-
체인의 인증서가 다음 가이드라인을 준수하는지 확인합니다.
-
각 인증서의
Subject는 체인의 이전 인증서 (Entity인증서 제외)의Issuer와 일치합니다. -
루트 인증서의
Subject와Issuer는 동일합니다.
체인의 인증서가 이러한 가이드라인을 준수하는 경우 인증서 체인이 완전하고 유효한 것으로 간주됩니다.
샘플 인증서 체인 검증
다음 예시는 인증서 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위의 예시에서 다음 사항에 유의하세요.
-
중간 인증서의
Subject는 엔티티 인증서의Issuer와 일치합니다. -
루트 인증서의
Subject는 중간 인증서의Issuer와 일치합니다. -
루트 인증서의
Subject와Issuer는 동일합니다.
위의 예시에서 샘플 인증서 체인이 유효함을 확인할 수 있습니다.
-
각 인증서의
인증서 주체 및 발급기관 해시 확인
이 섹션에서는 인증서의 주체와 발급기관의 해시를 가져오고 유효한 인증서 체인이 있는지 확인하는 방법을 설명합니다.
인증서의 해시 시퀀스를 확인하는 것이 좋습니다. 인증서의 일반 이름 (CN)에 원치 않는 공백이나 특수문자가 있는 등의 문제를 식별하는 데 도움이 될 수 있습니다.
- 다음 OpenSSL 명령어를 실행하여 체인의 각
인증서(
entity에서root까지)에 대한hash시퀀스를 가져오고 올바른 인증서 체인을 구성하는지 확인합니다. - 체인의 인증서가 다음 가이드라인을 준수하는지 확인합니다.
-
각 인증서의
Subject는 체인의 이전 인증서 (Entity인증서 제외)의Issuer와 일치합니다. -
루트 인증서의
Subject와Issuer는 동일합니다. -
중간 인증서의
subject hash는 엔티티 인증서의issuer hash와 일치합니다. -
루트 인증서의
subject hash는 발급기관 인증서의issuer hash와 일치합니다. -
루트 인증서의
subject와issuer hash는 동일합니다.
openssl x509 -hash -issuer_hash -noout -in certificate
여기서 certificate는 인증서의 이름입니다.
체인의 인증서가 이러한 가이드라인을 준수하는 경우 인증서 체인이 완전하고 유효한 것으로 간주됩니다.
해시 시퀀스를 통한 샘플 인증서 체인 검증
다음 예시는 인증서 3개가 포함된 샘플 인증서 체인에 대한 OpenSSL 명령어의 출력입니다:
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
위의 예시에서 다음 사항에 유의하세요.
위의 예시에서 샘플 인증서 체인이 유효함을 확인할 수 있습니다.
인증서 만료 확인
이 섹션에서는 다음 방법을 사용하여 체인의 모든 인증서가 만료되었는지 확인하는 방법을 설명합니다.
- 인증서의 시작일과 종료일을 가져옵니다.
- 만료 상태를 가져옵니다.
시작일 및 종료일
다음 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는 인증서의 이름입니다.
checkend 옵션을 통한 샘플 인증서 만료 검증
다음 명령어는 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 메시지는 인증서가 아직 만료되지 않았음을 나타냅니다.