기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

[OpenSSL] SSL 인증서 발급 방법 요약
Backend&Devops/Nginx

[OpenSSL] SSL 인증서 발급 방법 요약

2022. 6. 9. 16:15
반응형

1. 개요

웹 서버에 https 적용을 위한 SSL 인증서를 발급 받는 방법을 정리했습니다.

 

 

2. openssl for windows 다운

https://code.google.com/archive/p/openssl-for-windows/downloads

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

윈도우에서 SSL 인증서 생성을 위해 위의 링크에 접속해서 프로그램을 다운받습니다.

k, e, d와 같은 라벨이 있는데 저는 e로 다운받고 진행했습니다.

 

 

3. 환경변수 설정

2번에서 압축 파일을 받고 푼 다음, /bin 경로에 있는 openssl.exe를 시스템 환경변수에 등록해줍니다.

 

 

4. private.key 생성

rem AES256으로 암호화된 2048bit 길이의 private key를 생성해줍니다.

openssl genrsa -aes256 -out private.key 2048

사용할 패스워드를 입력해줍니다.

 

Enter pass phrase for private.key: [패스워드 입력]
Verifying - Enter pass phrase for private.key: [패스워드 다시 입력]

 

 

5. public.key 생성

openssl rsa -in private.key -pubout -out public.key

rem private.key를 통해 public.key를 생성해줍니다. 서로 매칭되는 키이기 때문에 4번에서 사용한 패스워드를 똑같이 입력해줍니다.

 

Enter pass phrase for private.key:[패스워드 입력]

 

 

 

6. 인증 서명 요청서(CSR) 생성

openssl req -config ./openssl.cnf -new -key private.key -out private.csr

인증 서명 요청서(CSR)란, 인증기관(CA)을 통해 인증서를 발급받기 위한 정보를 담고 있는 신청서입니다. 인증기관에게 인증서를 받기 위해 서류를 작성하는 신청서라고 생각하시면 됩니다.

 

국가, 도시, 조직 등의 정보인데 개발/배포 용도에 따라 작성해주시면 됩니다.

Country Name (2 letter code) [AU]:KR
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

 

rem에 대한 추가정보인데 작성할 필요는 없습니다.
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

 

 

7. 자체 인증 기관(CA) 키 생성

openssl genrsa -aes256 -out root.ca.key 2048

Enter pass phrase for root.ca.key: [패스워드 입력]
Verifying - Enter pass phrase for root.ca.key: [패스워드 다시 입력]

 

 

 

8. 자체 인증기관의 CSR 생성

openssl req -config ./openssl.cnf -x509 -new -nodes -key root.ca.key -days 3650 -out root.ca.pem

 

6번과 마찬가지로 개발/배포 용도에 따라 적당히 작성해주면 됩니다.

Country Name (2 letter code) [AU]:KR
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

 

 

9. 자체 인증기관을 통해 인증서(CRT) 발급

openssl x509 -req -in private.csr -CA root.ca.pem -CAkey root.ca.key -CAcreateserial -out private.crt -days 3650

 

7번에서 사용한 rem CA키의 패스워드를 입력합니다.

Enter pass phrase for root.ca.key: [패스워드 입력]

 

 

 

 

10. 최종 산출물

 

 

 

반응형
저작자표시 변경금지 (새창열림)

'Backend&Devops > Nginx' 카테고리의 다른 글

[Nginx] Nginx Proxy Manager 설치  (3) 2022.06.17
[Nginx] SSL 설정(HTTPS 적용)  (0) 2022.06.15
[Nginx] 리버스 프록시(Reverse Proxy) 개념 및 사용법  (2) 2022.06.03
[Nginx] connect() failed (111: Connection refused) while connecting to upstream 오류 해결  (2) 2022.06.03
[Nginx] Nginx 개념 및 nginx.conf 설정  (0) 2022.01.06
    'Backend&Devops/Nginx' 카테고리의 다른 글
    • [Nginx] Nginx Proxy Manager 설치
    • [Nginx] SSL 설정(HTTPS 적용)
    • [Nginx] 리버스 프록시(Reverse Proxy) 개념 및 사용법
    • [Nginx] connect() failed (111: Connection refused) while connecting to upstream 오류 해결
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바