일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 티스토리챌린지
- 배열
- N과M
- 최소공배수
- DFS
- priority_queue
- 알고리즘
- 그래프
- 백준
- 문자열
- C++
- 프로그래머스
- Set
- 에라토스테네스의 체
- vector
- 백트래킹
- 이분탐색
- 다이나믹프로그래밍
- stoi
- 유클리드호제법
- 오블완
- 깊이우선탐색
- map
- 분할정복
- 우선순위큐
- DP
- 정렬
- Sort
- int
- BFS
- Today
- Total
안녕 세상아,
내가 OpenSSL 설치 방법 알려줄게! 얍! 본문
사실 내가 나중에 보기 위한 정리..겸 지식 공유
혼자 프로젝트 만들 때 SSL 인증서 발급 받을 경우가 있을 것이다. 공식 인증 사이트에서 인증서를 발급 받을 수도 있지만 OpenSSL을 설치할 때의 장점이 있다.
1. 교육적 가치: OpenSSL을 사용하면 SSL/TLS의 작동 방식과 인증서의 구조에 대해 더 깊이 이해할 수 있다. 또한, 개인 프로젝트를 통해 보안 프로토콜에 대해 학습하고 실험할 수 있는 좋은 기회를 제공한다.
2. 로컬 테스트: 보통 공식 인증 사이트에서 인증서를 발급 받으면 도메인이 필요한 경우가 많은데 OpenSSL을 사용하면 IIS에서 로컬 테스트를 바로 할 수 있다.
물론 이는 보안성, 신뢰성이 거의 없는 수준이기 때문에 개인 테스트용으로만 사용해야한다.
1. OPENSSL 설치
-> https://slproweb.com/products/Win32OpenSSL.html (window) + 환경변수 설정(Path에 '설치 경로/bin' 추가)
<아래 부터는 기울임꼴 글자 cmd창에서 명령어 입력하면됨>
2. 개인키 생성
openssl genpkey -algorithm RSA -out private.key -aes256
2-1) key usage 세부 설정하기 (개인키 생성할 때 key usage 세부 설정) -> 안해도됨
- openssl-win64/bin/openssl.cnf 파일 다른 이름으로 복사 후 파일 수정 (메모장으로)
https://www.ibm.com/docs/en/hpvs/1.2.x?topic=reference-openssl-configuration-examples
- 일반적인 CA에서는 사용 but 이 인증서는 테스트 자체 서명 인증서로 사용되지 않도록 하는 것이 가장 좋음
- 기본적으로 생략하는 것이 가장 좋은 방법...
3. 인증서 서명 요청(CSR) 생성
openssl req -new -key private.key -out server.csr
-> CSR: 인증서 발급 받기 위한 요청서, 공용키 도메인 정보 포함
-> 몇가지 정보 추가로 입력 (자동으로 뜸)
Country Name (2 letter code) [AU]: KR
State or Province Name (full name) [Some-State]: Seoul
Locality Name (eg, city) []: Seoul
Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany
Organizational Unit Name (eg, section) []: Development
Common Name (e.g. server FQDN or YOUR name) []: IP 주소 or 도메인 주소
Email Address []: admin@example.com
4. 자체 서명 인증서 생성
CSR을 인증기관(CA)에 제출하는 대신, 자체 서명 인증서 생성
openssl x509 -req -days 365 -in server.csr -signkey private.key -out certificate.crt
5. PEM 파일 생성 (개인 키와 인증서 포함)
openssl rsa -in private.key -out private.pem - 개인키 PEM 형식으로 저장
copy private.pem + certificate.crt combined.pem - 인증서 PEM 파일에 추가
-> PRIVATE 파일에 개인키, 인증서 모두 포함
pem 파일: 노트패드에서 열기/수정 가능
개인키, 서버인증서, 루트인증서, 체인인증서 및 CSR 등 SSL 관련 모든 과정에서 사용되는 기본 포맷
6. pfx 파일로 설정 - IIS에서 사용하기 위함
openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt -certfile certificate.crt
-> private.key, certificate.crt가 모두 한 폴더 내에 있어야함.
-> pfx 파일이란?
인증서라기보다 인증서를 모아놓은 저장소, 스토어, 바구니 용도의 파일
주로 Windows IIS 기반에서 인증서 적용/이동시 활용
<결과>
1. certificate.crt, combined.pem, private.key, private.pem, server.csr 파일 나왔는데 certificate.crt 나오면 설치 완료?
- certificate.crt 파일 생성되면, 자체 서명 인증서 완료된 것
2. 지금 한 폴더에 있는게 아니라 막 흩어져있는데 한 폴더로 저장해도돼??
- 오히려 좋음. 관리하기도 편하고
3. 만든 인증서 바탕으로 IIS에 ssl 적용하는 방법
- pfx 파일 만든 후 한번 클릭해서 저장소 위치-로컬로 설정
- 메인 화면에서 서버 인증서 클릭
- 오른쪽에서 가져오기.. 버튼 누르고 파일 가져오기
- 해당 사이트 클릭 후 화면 우측 바인딩... 버튼 클릭
- https 설정, 포트는 기본 443, 인증서 방금 만든거 끼고 설정 완료
Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space April 11, 2024 - OpenSSL 3.3 is available. Users should currently in
slproweb.com
'서버 개념' 카테고리의 다른 글
TCP vs UDP (4) | 2024.08.30 |
---|---|
HTTP Method가 뭐에요? (0) | 2024.07.31 |
binding(바인딩) 이란? (0) | 2024.05.17 |
CORS 를 아시나요...? (0) | 2024.05.16 |
HTTP 상태코드 (0) | 2024.04.04 |