2.4. OpenSSL을 사용하여 TLS 클라이언트 인증서의 개인 키와 CSR 생성
TLS 암호화 통신 채널은 CA(인증 기관)의 유효한 TLS 인증서가 있는 경우에만 사용할 수 있습니다. 인증서를 받으려면 먼저 클라이언트의 개인 키와 CSR(인증서 서명 요청)을 생성해야 합니다.
절차
클라이언트 시스템에서 개인 키를 생성합니다. 예를 들면 다음과 같습니다.
$ openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out <client-private.key>
선택 사항: 선택한 텍스트 편집기를 사용하여 CSR 생성을 간소화하는 구성 파일을 준비합니다. 예를 들면 다음과 같습니다.
$ vim <example_client.cnf> [client-cert] keyUsage = critical, digitalSignature, keyEncipherment extendedKeyUsage = clientAuth subjectAltName = @alt_name [req] distinguished_name = dn prompt = no [dn] CN = <client.example.com> [clnt_alt_name] email= <client@example.com>
extendedKeyUsage = clientAuth
옵션은 인증서 사용을 제한합니다.이전에 생성한 개인 키를 사용하여 CSR을 생성합니다.
$ openssl req -key <client-private.key> -config <example_client.cnf> -new -out <client-cert.csr>
-config
옵션을 생략하면req
유틸리티에서 추가 정보를 입력하라는 메시지를 표시합니다. 예를 들면 다음과 같습니다.You are about to be asked to enter information that will be incorporated into your certificate request. … Common Name (eg, your name or your server's hostname) []: <client.example.com> Email Address []: <client@example.com>
다음 단계
- 서명하기 위해 선택한 CA에 CSR을 제출합니다. 또는 신뢰할 수 있는 네트워크 내의 내부 사용 시나리오의 경우 개인 CA를 사용하여 서명합니다. 자세한 내용은 2.5절. “개인 CA를 사용하여 OpenSSL과 함께 CSR의 인증서 발행”를 참조하십시오.
검증
사용자가 읽을 수 있는 인증서 부분이 요구 사항과 일치하는지 확인합니다. 예를 들면 다음과 같습니다.
$ openssl x509 -text -noout -in <client-cert.crt> Certificate: … X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Subject Alternative Name: email:client@example.com …
추가 리소스
-
OpenSSL(1)
,x509(1)
,genpkey(1)
,req(1)
및config(5)
도움말 페이지