인증서 생성 및 내보내기 - Linux - OpenSSL
이 문서는 자체 서명된 루트 인증서를 만들고 OpenSSL을 사용하여 클라이언트 인증서 .pem 파일을 생성하는 데 도움이 됩니다. .pfx 및 .cer파일이 필요한 경우 Windows- PowerShell 지침을 참조하세요.
필수 조건
이 문서를 사용하려면 OpenSSL을 실행하는 컴퓨터가 있어야 합니다.
자체 서명된 루트 인증서
이 섹션에서는 자체 서명된 루트 인증서를 생성하는 데 도움이 됩니다. 인증서를 생성한 후 루트 인증서 공개 키 데이터 파일을 내보냅니다.
다음 예제에서는 자체 서명된 루트 인증서를 생성하는 데 도움이 됩니다.
openssl genrsa -out caKey.pem 2048 openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
자체 서명된 루트 인증서 공용 데이터를 base64 형식으로 인쇄합니다. Azure에서 지원하는 형식입니다. 이 인증서를 P2S 구성 단계의 일부로 Azure에 업로드합니다.
openssl x509 -in caCert.pem -outform der | base64 -w0 && echo
클라이언트 인증서
이 섹션에서는 사용자 인증서(클라이언트 인증서)를 생성합니다. 인증서 파일은 명령을 실행하는 로컬 디렉터리에 생성됩니다. 각 클라이언트 컴퓨터에서 동일한 클라이언트 인증서를 사용하거나 각 클라이언트와 관련된 인증서를 생성할 수 있습니다. 클라이언트 인증서가 루트 인증서로 서명되는 것이 중요합니다.
클라이언트 인증서를 생성하려면 다음 예제를 사용합니다.
export PASSWORD="password" export USERNAME=$(hostnamectl --static) # Generate a private key openssl genrsa -out "${USERNAME}Key.pem" 2048 # Generate a CSR (Certificate Sign Request) openssl req -new -key "${USERNAME}Key.pem" -out "${USERNAME}Req.pem" -subj "/CN=${USERNAME}" # Sign the CSR using the CA certificate and CA key openssl x509 -req -days 365 -in "${USERNAME}Req.pem" -CA caCert.pem -CAkey caKey.pem -CAcreateserial -out "${USERNAME}Cert.pem" -extfile <(echo -e "subjectAltName=DNS:${USERNAME}\nextendedKeyUsage=clientAuth")
클라이언트 인증서를 확인하려면 다음 예제를 사용합니다.
openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
다음 단계
구성 단계를 계속하려면 지점 및 사이트 간의 인증서 인증을 참조하세요.