인증서 목적 유효성 검사

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

이 문서에서는 키 저장소 또는 트러스트 저장소에 인증서를 업로드하기 전에 인증서의 용도를 확인하는 방법을 설명합니다. 이 프로세스는 검증을 위해 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 클라이언트를 설치하거나 업데이트합니다.
  • 인증서가 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