CSR 인증요청서란?
CSR은 "Certificate Signing Request"의 약자로, 인증서 발급을 요청하기 위한 정보를 포함하는 데이터 구조입니다. CSR은 공개 키 암호화 방식인 Public Key Infrastructure (PKI)에서 사용됩니다.
CSR 인증서는 개인 키와 공개 키 쌍을 생성하고, 인증 기관(Certificate Authority, CA)에게 인증서 발급을 요청하는 데 사용됩니다. 일반적으로 SSL/TLS 인증서를 생성할 때 CSR을 생성하고, 이를 CA에 제출하여 CA가 인증서를 발급하도록 요청합니다.
openssl로 CSR 인증요청서 생성
openssl req -new -key C:\test/prikey.key -out C:\test/private.csr
CSR인증요청서는 개인키를 기반으로 만들어집니다.
openssl 로 개인키 만드는 방법은 아래의 링크에서 도움을 받을 수 있습니다.
openssl 개인키, 공개키 생성방법
openssl 명령어 확인 자신의 컴퓨터에 openssl일 설치가 되어있으면 아래와 같이 cmd 창에서 openssl을 입력하면 openssl 에서 사용할 수있는 명령어들을 확인할 수 있습니다. openssl 이 설치가 안되어있으
coke-dev.tistory.com
명령어 정리
- req: 인증서 요청(Certificate Request)을 생성하는 OpenSSL 명령입니다.
-new: 새로운 CSR을 생성하도록 지정하는 옵션입니다.
-key C:\test/prikey.key: CSR에 대한 개인 키가 있는 파일의 경로와 파일 이름을 지정합니다. 해당 예제에서는 prikey.key 파일을 사용하며, 경로와 파일 이름을 필요에 따라 수정할 수 있습니다.
-out C:\test/private.csr: 생성된 CSR을 저장할 파일의 경로와 파일 이름을 지정합니다. 해당 예제에서는 private.csr 파일로 저장됩니다. 경로와 파일 이름을 필요에 따라 수정할 수 있습니다.
결과창
KR, seoul, free 등등을 입력하였는데 인증요청서에 들어가는 정보를 적는것입니다.
아무것도 안적고 enter키로 넘어가셔도 무방합니다.
저처럼 하셔도 좋습니다. 참고로 저는 비밀번호 없이 진행하였습니다.
위의 그림처럼 CSR이 생성이 되었습니다.
CA인증서란?
CA인증서는 Certificate Authority (CA)인증서로, 인증 기관(Certificate Authority)에 의해 발급된 디지털 인증서를 말합니다. CA인증서는 신뢰할 수 있는 제3자 기관으로부터 발급되는 인증서로서, 인터넷에서 안전한 통신을 위해 사용됩니다.
openssl로 CA 인증서 생성
>openssl req -x509 -new -nodes -key C:\test/prikey.key -days 3650 -out C:\test/rootCA.pem
명령어 정리
- req: 인증서 요청(Certificate Request)과 관련된 작업을 수행하는 OpenSSL 명령입니다.
-x509: 자체 서명된 X.509 형식의 인증서를 생성하도록 지정하는 옵션입니다.
-new: 새로운 인증서를 생성하도록 지정하는 옵션입니다.
-nodes: 개인 키를 암호화하지 않도록 지정하는 옵션입니다. 이 옵션을 사용하면 개인 키 파일에서 암호를 입력할 필요가 없습니다.
-key C:\test/prikey.key: 인증서와 연결된 개인 키가 있는 파일의 경로와 파일 이름을 지정합니다. 해당 예제에서는 prikey.key 파일을 사용하며, 경로와 파일 이름을 필요에 따라 수정할 수 있습니다.
-days 3650: 인증서의 유효 기간을 지정하는 옵션입니다. 해당 예제에서는 3650일(약 10년)로 설정되었습니다.
-out C:\test/rootCA.pem: 생성된 루트 CA 인증서를 저장할 파일의 경로와 파일 이름을 지정합니다. 해당 예제에서는 rootCA.pem 파일로 저장됩니다. 경로와 파일 이름을 필요에 따라 수정할 수 있습니다.
결과창
KR, seoul, free 등등의 정보를 입력하였지만 입력을 안하고 넘어가도 상과없습니다.
저처럼 입력하셔도 좋습니다.
위의 그림처럼 CA인증서가 생성이 되었습니다.
개인키 CA, CSR까지 생성이 되었으면 CRT를 만들 수 있습니다.
CRT 인증서란?
CRT 인증서는 인증 기관(Certificate Authority, CA)에 의해 서명된 디지털 인증서를 나타냅니다. CRT는 "Certificate"의 약자로, 공개 키 인증 기반 보안 프로토콜에서 사용됩니다.
openssl로 CRT 인증서 생성
openssl x509 -req -in C:\test/private.csr -CA C:\test/rootCA.pem -CAkey C:\test/prikey.key -CAcreateserial -out C:\test/private.crt -days 3650
명령어 정리
- x509: X.509 형식의 인증서를 생성하거나 조작하는 OpenSSL 명령입니다.
-req: CSR에 대한 서명된 인증서를 생성하도록 지정하는 옵션입니다.
-in private.csr: 서명된 인증서를 생성하기 위한 CSR 파일의 경로와 파일 이름을 지정합니다. 해당 예제에서는 private.csr 파일을 사용하며, 경로와 파일 이름을 필요에 따라 수정할 수 있습니다.
-CA rootCA.pem: 서명에 사용될 CA(Certificate Authority)의 인증서 파일의 경로와 파일 이름을 지정합니다. 해당 예제에서는 rootCA.pem 파일을 사용합니다.
-CAkey prikey.key: CA의 개인 키 파일의 경로와 파일 이름을 지정합니다. 해당 예제에서는 prikey.key 파일을 사용합니다.
-CAcreateserial: 시리얼 번호 파일을 생성하도록 지정하는 옵션입니다. 이 파일은 서명된 인증서의 일련 번호를 추적하기 위해 사용됩니다.
-out private.crt: 생성된 서명된 인증서를 저장할 파일의 경로와 파일 이름을 지정합니다. 해당 예제에서는 private.crt 파일로 저장됩니다. 경로와 파일 이름을 필요에 따라 수정할 수 있습니다.
-days 3650: 인증서의 유효 기간을 지정하는 옵션입니다. 해당 예제에서는 3650일(약 10년)로 설정되었습니다.
결과창
위의 사진처럼 생성이 완료가 되었습니다.
'암호' 카테고리의 다른 글
C++ 프로젝트 openssl 추가 및 version 출력하기 (0) | 2023.06.10 |
---|---|
openssl 개인키, 공개키 생성방법 (0) | 2023.06.06 |
openssl 사용법을 알고 직접 사용해보자 (0) | 2023.05.13 |
[암호학] 퀀텀 암호학이란? 퀀텀 암호학에 대해 알아보자 (0) | 2023.05.05 |
[암호학] 암호학의 도전 과제, 앞으로의 대응 (0) | 2023.05.05 |
댓글