2.2. OpenSSL을 사용하여 개인 CA 생성
개인 인증 기관(CA)은 시나리오에 내부 네트워크 내의 엔터티를 확인해야 하는 경우 유용합니다. 예를 들어 제어에 CA가 서명한 인증서 또는 상용 CA를 지불하지 않으려는 인증서를 기반으로 인증을 사용하여 VPN 게이트웨이를 생성할 때 개인 CA를 사용합니다. 이러한 사용 사례에서 인증서에 서명하기 위해 개인 CA는 자체 서명된 인증서를 사용합니다.
사전 요구 사항
-
sudo
를 사용하여 관리 명령을 입력할 수 있는루트
권한 또는 권한이 있습니다. 이러한 권한이 필요한 명령은#
로 표시됩니다.
프로세스
CA의 개인 키를 생성합니다. 예를 들어 다음 명령은 256비트 Elliptic Curve Digital Signature Algorithm (ECDSA) 키를 생성합니다.
openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out <ca.key>
$ openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out <ca.key>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 키 생성 프로세스의 시간은 호스트의 하드웨어 및 엔트로피, 선택한 알고리즘 및 키 길이에 따라 달라집니다.
이전 명령에서 생성된 개인 키를 사용하여 서명된 인증서를 생성합니다.
openssl req -key <ca.key> -new -x509 -days 3650 -addext keyUsage=critical,keyCertSign,cRLSign -subj "/CN=<example_CA>" -out <ca.crt>
$ openssl req -key <ca.key> -new -x509 -days 3650 -addext keyUsage=critical,keyCertSign,cRLSign -subj "/CN=<example_CA>" -out <ca.crt>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된
ca.crt
파일은 10년 동안 다른 인증서에 서명하는 데 사용할 수 있는 자체 서명된 CA 인증서입니다. 개인 CA의 경우 CN(일반 이름)으로 임의의 문자열로 바꿀<example_CA>
수 있습니다.CA의 개인 키에 대한 보안 권한을 설정합니다. 예를 들면 다음과 같습니다.
chown <root>:<root> <ca.key> chmod 600 <ca.key>
# chown <root>:<root> <ca.key> # chmod 600 <ca.key>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
자체 서명된 CA 인증서를 클라이언트 시스템의 신뢰 앵커로 사용하려면 CA 인증서를 클라이언트에 복사하여 클라이언트의 시스템 전체 신뢰 저장소에
root
로 추가합니다.trust anchor <ca.crt>
# trust anchor <ca.crt>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자세한 내용은 공유 시스템 인증서 사용 장을 참조하십시오.
검증
CSR(인증서 서명 요청)을 생성하고 CA를 사용하여 요청에 서명합니다. CA는 CSR을 기반으로 인증서를 생성해야 합니다. 예를 들면 다음과 같습니다.
openssl x509 -req -in <client-cert.csr> -CA <ca.crt> -CAkey <ca.key> -CAcreateserial -days 365 -extfile <openssl.cnf> -extensions <client-cert> -out <client-cert.crt>
$ openssl x509 -req -in <client-cert.csr> -CA <ca.crt> -CAkey <ca.key> -CAcreateserial -days 365 -extfile <openssl.cnf> -extensions <client-cert> -out <client-cert.crt> Signature ok subject=C = US, O = Example Organization, CN = server.example.com Getting CA Private Key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자세한 내용은 2.5절. “개인 CA를 사용하여 OpenSSL이 있는 CSR의 인증서 발행”를 참조하십시오.
자체 서명된 CA에 대한 기본 정보를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 개인 키의 일관성을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow