인증서 용도 확인

Apigee Edge 문서입니다.
Go to the Apigee X 문서로 이동합니다.
info

이 문서에서는 인증서를 키 저장소 또는 트러스트 저장소에 업로드하기 전에 인증서의 용도를 검증하는 방법을 설명합니다. 이 프로세스는 검증을 위해 OpenSSL에 의존하며 OpenSSL을 사용할 수 있는 모든 환경에 적용됩니다.

TLS 인증서는 일반적으로 사용할 수 있는 하나 이상의 용도로 발급됩니다. 일반적으로 이는 인증서에 포함된 공개 키를 사용할 수 있는 작업 수를 제한하기 위해 수행됩니다. 인증서의 용도는 다음 인증서 확장 프로그램에서 확인할 수 있습니다.

  • 키 사용
  • 확장된 키 사용

키 사용

키 사용 확장 프로그램은 인증서에 포함된 키의 용도 (예: 암호화, 서명 또는 인증서 서명)를 정의합니다. 공개 키가 엔티티 인증에 사용되는 경우 인증서 확장 프로그램에 키 사용 디지털 서명이 있어야 합니다.

인증 기관 (CA) 프로세스를 사용하여 만든 TLS 인증서에 사용할 수 있는 다양한 키 사용 확장 프로그램은 다음과 같습니다:

  • 디지털 서명
  • 부인 방지
  • 키 암호화
  • 데이터 암호화
  • 키 일치
  • 인증서 서명
  • CRL 서명
  • 암호화만
  • 해독만

이러한 키 사용 확장 프로그램에 관한 자세한 내용은 RFC5280, 키 사용을 참고하세요.

확장된 키 사용

이 확장 프로그램은 인증된 공개 키를 사용할 수 있는 하나 이상의 용도를 키 사용 확장 프로그램에 표시된 기본 용도에 추가하거나 기본 용도 대신 표시합니다. 일반적으로 이 확장 프로그램은 종단 개체 인증서에만 표시됩니다.

일반적인 확장 키 사용 확장 프로그램은 다음과 같습니다.

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

확장 키는 중요 하거나 중요하지 않을 수 있습니다.

  • 확장 프로그램이 중요한 경우 인증서는 표시된 용도로만 사용해야 합니다. 인증서가 다른 용도로 사용되는 경우 CA의 정책을 위반하는 것입니다.
  • 확장 프로그램이 중요하지 않은 경우 키의 의도된 용도가 정보 제공용이며 CA가 키 사용을 표시된 용도로 제한한다는 의미는 아닙니다. 그러나 인증서를 사용하는 애플리케이션에서는 인증서를 허용하려면 특정 용도를 표시해야 할 수 있습니다.

인증서에 키 사용 필드와 확장 키 사용 필드가 모두 중요하게 포함되어 있는 경우 두 필드를 모두 독립적으로 처리해야 하며 인증서는 키 사용 값을 모두 충족하는 용도로만 사용할 수 있습니다. 그러나 두 키 사용 값을 모두 충족할 수 있는 용도가 없는 경우 해당 인증서는 어떤 용도로도 사용해서는 안 됩니다.

인증서를 조달할 때는 TLS 핸드셰이크가 실패하는 클라이언트 또는 서버 인증서의 요구사항을 충족하도록 적절한 키 사용이 정의되어 있는지 확인하세요.

목적 키 사용

(필수)

확장된 키 사용

(선택사항)

Apigee Edge 가상 호스트의 키 저장소 에 사용되는 서버 엔티티 인증서
  • 디지털 서명
  • 키 암호화 또는 키 일치
TLS 웹 서버 인증
Apigee Edge 가상 호스트의 트러스트 저장소 에 사용되는 클라이언트 엔티티 인증서
  • 디지털 서명 또는 키 일치
TLS 웹 클라이언트 인증
Apigee Edge 대상 서버의 트러스트 저장소 에 사용되는 서버 엔티티 인증서
  • 디지털 서명
  • 키 암호화 또는 키 일치
TLS 웹 서버 인증
Apigee Edge 대상 서버의 키 저장소 에 사용되는 클라이언트 엔티티 인증서
  • 디지털 서명 또는 키 일치
TLS 웹 클라이언트 인증
중간 및 루트 인증서
  • 인증서 서명
  • 인증서 해지 목록 (CRL) 서명

시작하기 전에

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

  • 인증서 체인에 익숙하지 않은 경우 신뢰 체인을 참고하세요.
  • OpenSSL 라이브러리에 익숙하지 않은 경우 OpenSSL을 참고하세요.
  • 키 사용 확장 프로그램 및 확장 키 사용에 관해 자세히 알아보려면 RFC5280을 참고하세요.
  • 이 가이드의 명령줄 예시를 사용하려면 OpenSSL 클라이언트를 설치하거나 최신 버전의 OpenSSL 클라이언트로 업데이트하세요.
  • 인증서가 PEM 형식인지 확인하고, PEM 형식이 아닌 경우 인증서를 PEM 형식으로 변환하세요.

인증서의 용도 검증

이 섹션에서는 인증서의 용도를 검증하는 데 사용되는 단계를 설명합니다.

  1. OpenSSL이 있는 서버에 로그인합니다.
  2. 인증서의 키 사용을 가져오려면 다음 OpenSSL 명령어를 실행합니다.
    openssl x509 -noout -ext keyUsage < certificate

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

    샘플 출력

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  3. 키 사용이 필수인 경우 다음과 같이 중요로 정의됩니다.
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  4. 다음 명령어를 실행하여 인증서의 확장 키 사용 을 가져옵니다. 확장 키 사용이 중요로 정의되지 않은 경우 권장사항이며 의무사항이 아닙니다.
    openssl x509 -noout -ext extendedKeyUsage < certificate

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

    샘플 출력

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication