CSR(Certificate Signing Request) 생성 예제
CSR(Certificate Signing Request)은 인증서 발급을 요청할 때 사용되는 요청서입니다.
OpenSSL을 사용하여 CSR을 생성하는 예제입니다.
$ mkdir /tmp/test_openssl_2
$ cd /tmp/test_openssl_2
$ openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out csr.csr
위의 예제에서는 req 명령어를 사용하여 CSR을 생성합니다.
-newkey rsa:2048 옵션은 2048비트 RSA 키를 생성하고, -nodes 옵션은 개인 키를 암호화하지 않도록 지정합니다.
-keyout 옵션은 생성된 개인 키를 저장할 파일의 경로를 지정하고, -out 옵션은 생성된 CSR을 저장할 파일의 경로를 지정합니다.
자가 서명된 인증서 생성 예제
자체 서명된 인증서는 인증 기관을 통하지 않고 직접 서명한 인증서입니다.
OpenSSL을 사용하여 자체 서명된 인증서를 생성하는 예제입니다.
$ cd /tmp/test_openssl_2
$ openssl req -new -newkey rsa:2048 -nodes -keyout ca.key -x509 -days 365 -out ca.crt
위의 예제에서는 req 명령어를 사용하여 CSR을 생성합니다.
-newkey rsa:2048 옵션은 2048비트 RSA 키를 생성하고, -nodes 옵션은 개인 키를 암호화하지 않도록 지정합니다.
-keyout 옵션은 생성된 개인 키를 저장할 파일의 경로를 지정하고, -x509 옵션은 자체 서명된 인증서를 생성한다는 것을 지정합니다.
-days 옵션은 인증서의 유효 기간을 지정하고, -out 옵션은 생성된 인증서를 저장할 파일의 경로를 지정합니다.
CA 서명 인증서 발급 예제
인증 기관(Certificate Authority)에 의해 서명된 인증서를 생성하는 예제입니다.
OpenSSL을 사용하여 인증 기관에 의해 서명된 인증서를 생성하는 방법은 다음과 같습니다.
$ cd /tmp/test_openssl_2
$ openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out csr.csr
$ openssl x509 -req -in csr.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out signed_certificate.crt -days 365
위의 예제에서는 먼저 CSR을 생성하고, 그 후에 인증 기관의 개인 키와 인증서를 사용하여 인증 기관에 의해 서명된 인증서를 생성합니다.
-req 옵션은 CSR을 사용한다는 것을 지정하고, -in 옵션은 CSR 파일의 경로를 지정합니다.
-CA, -CAkey, -CAcreateserial 옵션은 각각 인증 기관의 인증서 파일, 개인 키 파일, 일련번호 파일을 지정합니다.
-days 옵션은 인증서의 유효 기간을 지정합니다.
결론적으로 자가 서명한 CA 인증서로 새로운 인증서를 서명한 예 입니다.
인증서 체인 확인 예제
인증서 체인은 인증 기관의 서명된 인증서들이 연결된 구조를 말합니다.
OpenSSL을 사용하여 인증서 체인을 확인하는 예제입니다.
$ cd /tmp/test_openssl_2
$ openssl verify -CAfile ca.crt signed_certificate.crt
위의 예제에서는 verify 명령어를 사용하여 인증서 체인을 확인합니다.
-CAfile 옵션은 인증 기관의 인증서 파일을 지정합니다.
signed_certificate.crt는 확인할 인증서 파일의 경로입니다.
암호화된 개인키 생성 예제
암호화된 개인 키는 개인 키를 암호화하여 보안을 강화하는 방법입니다.
OpenSSL을 사용하여 암호화된 개인 키를 생성하는 예제입니다.
$ cd /tmp/test_openssl_2
$ openssl genpkey -algorithm RSA -aes256 -out private_aes_encrypted.key
위의 예제에서는 genpkey 명령어를 사용하여 암호화된 개인 키를 생성합니다.
-algorithm RSA 옵션은 RSA 알고리즘을 사용하고, -aes256 옵션은 256비트 AES 암호화를 적용합니다.
-out 옵션은 생성된 암호화된 개인 키를 저장할 파일의 경로를 지정합니다.
위의 예제를 통해 OpenSSL 명령어를 활용하여 CSR 생성, 자체 서명된 인증서 생성, 인증 기관에 의한 인증서 생성, 인증서 체인 확인, 암호화된 개인 키 생성 등 다양한 작업을 수행할 수 있습니다.