본문 바로가기
카테고리 없음

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

by 리요_ 2025. 4. 3.
반응형

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

Let's Encrypt는 무료, 자동화된, 개방형 인증 기관 (Certificate Authority, CA)입니다. 웹사이트에 대한 TLS/SSL 암호화를 활성화하기 위해 디지털 인증서를 무료로 제공합니다.

 

기업에서도 Let's Encrypt를 사용하는 데 아무런 문제가 없으며, 개인 웹사이트뿐만 아니라 기업 웹사이트, 상업적인 웹사이트에서도 널리 사용됩니다.


주요 특징

  • 무료 (Free): Let's Encrypt는 누구나 무료로 사용할 수 있습니다. 인증서를 발급, 갱신하는 데 비용이 들지 않습니다.
  • 자동화 (Automated): 인증서 발급 및 갱신 프로세스를 자동화할 수 있도록 설계되었습니다. Certbot과 같은 도구를 사용하면 서버에 인증서를 설치하고 자동으로 갱신할 수 있습니다.
  • 개방형 (Open): Let's Encrypt는 Internet Security Research Group (ISRG)라는 비영리 단체에서 운영하며, 개방형 표준을 준수합니다.
  • 보안 (Secure): Let's Encrypt에서 발급하는 인증서는 최신 암호화 표준을 준수하며, 대부분의 웹 브라우저 및 운영체제에서 신뢰합니다.

 

장점

  • 비용 절감: 유료 SSL/TLS 인증서에 비해 비용을 절감할 수 있습니다.
  • 보안 강화: 웹사이트에 대한 암호화를 활성화하여 사용자 데이터를 보호하고, 신뢰도를 높일 수 있습니다.
  • 자동화된 관리: 인증서 갱신을 자동화하여 관리 부담을 줄일 수 있습니다.

주의 사항

  • 인증서 유효 기간: Let's Encrypt 인증서의 유효 기간은 90일입니다. 따라서 자동 갱신 설정을 통해 주기적으로 인증서를 갱신해야 합니다.
  • 도메인 소유권 확인: Let's Encrypt는 인증서를 발급하기 전에 도메인 소유권을 확인합니다.
  • 와일드카드 인증서: Let's Encrypt는 와일드카드 인증서도 지원합니다. 와일드카드 인증서를 사용하면 하위 도메인 (예: *.example.com)에 대한 인증서를 한 번에 발급할 수 있습니다.

Let's Encrypy 무료 SSL/TLS 인증서 발급 및 적용 방법

1. win-acme 설치 및 실행

https://www.win-acme.com/

 

win-acme

win-acme This is a ACMEv2 client for Windows that aims to be very simple to start with, but powerful enough to grow into almost every scenario. A very simple interface to create and install certificates on a local IIS server A more advanced interface for m

www.win-acme.com

win-acme 홈페이지 입니다. 

 

로컬 IIS 서버에서 인증서를 생성하고 설치하는 간단한 인터페이스를 제공하는 실행파일입니다.

 

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

설치한 경로에서 wacs.exe 프로그램을 실행합니다.


2. 인증서 발급

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

 

발급 방법을 선택해줍니다.

N: Create certificate(default settings) : 기본 옵션으로 SSL 발급(N)
M: Create certificate(full settings) : 직접 옵션을 선택하여 SSL 발급(M)
R: Run renewals : 갱신
A: Manage renewals : 갱신관리
O: More options... : 더 많은 옵션
Q: Quit : 종료

 

>> M  입력

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

 

도메인 입력 방법을 선택해줍니다.
1: Read site bindings from IIS : IIS에서 바인딩
2: Manual input : 직접 입력
3: CSR created by another program : 다른 프로그램에서 만든 CSR
C: Abort : 중단

 

>> 2 입력

 

번호로 입력해서 진행하기 위해 Manual input 을 입력해줍니다.

도메인 입력
>> dev.liyo.co.kr 

인증받을 도메인 입력해줍니다. (예: liyo.com, liyo.co.kr)

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

 

인증서 분할 여부를 선택합니다.

1: Separate certificate for each domain (e.g. *.example.com): 각 도메인 에 대해 별도의 인증서를 발급
2: Separate certificate for each host (e.g. sub.example.com): 각 호스트에 대해 별도의 인증서를 발급
3: Separate certificate for each IIS site: 각 IIS 사이트에 대해 별도의 인증서를 발급
4: Single certificate: 모든 도메인 또는 호스트 이름을 단일 인증서에 포함
C: Abort - 중단

 

>> 4 입력

 

4번의 Single certificate 를 선택해주었습니다. 필요애 따라 선택합니다.

Single certificate 옵션은 가장 일반적이며 기본적으로 선택되는 옵션입니다.

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

인증방법을 선택해줍니다.

1: Save verification files on (network) path : 네트워크 경로에 인증 파일 저장
2: Sarve verificaiion files from memmory : 메모리에 인증 파일 저장
3: Upload verification files via FTP(s) : FTP를 통한 인증 파일 업로드
4: Upload verification files via SSH-FTP : SSH-FTP를 통한 인증 파일 업로드
5: Upload verification files via WebDav : WebDav를 통한 인증 파일 업로드
6: Create verification records manually(auto-renew not possible) : 수동으로 인증 레코드 생성(자동갱신 불가능)
7: Create verification records acme-dns : acms-dns를 통한 인증레코드 생성
8: Create verification records width your own script : 본인 소유의 스크립트를 통해 인증 레코드 생성
9: Answer TLS verifision request from win-acme : win-acme의 TLS 인증요청 응답
>> 6 입력

 

Create verification records manually(auto-renew not possible) 설정으로 dns 레코드 수동생성과 인증서 자동갱신을 방지합니다.

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

 

CSR 유형을 선택해줍니다.
1: Elliptic Curve key : 타원 곡선 암호화
2: RSA Key : 비대칭 암호화

 

>> 2 입력

 

RSA Key 비대칭 암호화를 선택해줍니다.

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

 

인증서 저장 방식을 선택해줍니다.
1: IIS Central Certificate Store : IIS용 인증서(.pfx)
2: PEM encoded files : 아파치 계열용 인증서(.pem)
3: PFX archive : .pfx 파일
4: Windows Certificate Store : 윈도우 인증서 저장소
5: No (additional) store steps : (추가적인) 인증서 미저장

 

>> 2 입력

인증서를 저장할 저장 경로를 입력해줍니다.

한글은 입력이 안되네요.. 영어로 경로 생성하여 넣어주었습니다.

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

키파일 암호 입력 방식을 선택합니다.
1: None : 안함
2: Type/paste in console : 콘솔에서 입력/붙여넣기
3: Search in vault : vault에서 검색

 

>> 1 입력

 

비밀번호를 설정하지 않습니다. 설정할 경우 입력하여 진행해도 무관합니다.

 

인증서 저장 방법을 선택합니다.
1: IIS Central Certificate Store (.pfx per host): IIS 중앙 인증서 저장소에 저장
2: PEM encoded files (Apache, nginx, etc.): PEM (Privacy Enhanced Mail) 형식으로 인코딩된 파일로 저장
3: PFX archive: PFX (Personal Information Exchange) 형식으로 저장합니다. 인증서와 개인 키를 함께 저장하는 형식으로, IIS 또는 다른 애플리케이션에서 사용
4: Windows Certificate Store (Local Computer): Windows 인증서 저장소 (로컬 컴퓨터)에 저장
5: No (additional) store steps: 추가적인 저장 단계를 거치지 않습니다. 인증서를 파일로 저장하지 않고, 다른 방식으로 사용하려는 경우에 선택

 

>> 5 입력

추가적인 저장 단계를 거치지 않습니다.

 

설치 단계 선택

1: Create or update bindings in IIS: IIS에서 바인딩을 생성하거나 업데이트
2: Start external script or program: 외부 스크립트 또는 프로그램을 실행
3: No (additional) installation steps: 추가적인 설치 단계를 거치지 않음.

 

>> 3 입력

추가적인 설치 단계를 거치지 않습니다.

 

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

발급이 완료되었습니다.

인증서 적용을 위해 Content: "" 괄호 안의 TXT 레코드를 복사해줍니다.

 

저는 아암웹의 도메인을 사용하고 있어, 아입웹 네입서버 설정을 통해 넣어주었습니다.

사용하시는 DNS 관리 설정에서 설정해주면됩니다.

 

타입은 TXT, 이름, 값/위치 를 입력해줍니다.

도메인 입력할 때 이름을 입력 안 하고 엔터 했더니 길게 나왔네요.. 

이름에 Record 에 표시된 _acme-challenge.dev.liyo.co.kr 을 입력해주었고,
값/위치 에 Content 에 표시된 "liyo~암호값" 을 입력해주었습니다.

 

"" 를 포함하여 입력해주어야 합니다.

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

실패시 위와같이 표시됩니다.

1: Retry check: 재시도

2: Ignore and continue: 레코드가 없더라도 진행(실패할 확률 높음)

3: Abort: 중단

 

>> 1 입력

네임 서버 설정에 문제가 없는지 확인 후 재시도 해줍니다.

 

성공시 아래와 같이 표시됩니다.

Let's Encrypt 인증서 발급을 위한 DNS-01 검증에 성공했습니다. 

이제 DNS 관리자에서 _acme-challenge.dev.liyo.co.kr TXT 레코드를 삭제하고, <Enter> 키를 누르면 인증서 발급 프로세스가 완료됩니다. (삭제하지 않고 두어도 완료됩니다.)

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

도메인에 대한 인증서가 다운로드 완료되었습니다.


Adding Task Scheduler entry with the following settings: Windows :작업 스케줄러에 인증서 자동 갱신 작업을 추가
Name: win-acme renew (acme-v02.api.letsencrypt.org): 작업 이름입니다.
Path: D:\utils\win-acme.v2.2.9.1701.x64.pluggable: win-acme 프로그램이 설치된 경로
Command: wacs.exe --renew --baseuri "https://acme-v02.api.letsencrypt.org/": 갱신 작업을 실행하는 명령어
Start at: 09:00:00: 갱신 작업을 시작하는 시간 (오전 9시).
Random delay: 04:00:00: 갱신 작업을 시작하기 전에 추가되는 랜덤 지연 시간 (최대 4시간).


Time limit: 02:00:00: 갱신 작업의 최대 실행 시간입니다 (2시간).


*Do you want to specify the user the task will run as? (y/n)**: 작업 스케줄러 작업을 실행할 사용자 계정을 지정할지 묻는 질문. n*은 기본값이 "No"임을 의미


>> N 입력

스케줄러는 다음에 따로 설정하기 위해 우선은 N 으로 처리 하였습니다.

 

[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기

입력했던 경로에 인증서 파일이 생성된 것을 확인할 수 있습니다.


- liyo.co.kr-chain.pem : 서명과 CA 중간 인증서를 통합한 인증서
- liyo.co.kr-chain-only.pem : CA의 중간 인증서
- liyo .co.kr-crt.pem : 서명된 인증서
- liyo .co.kr-key.pem : 인증서 개인키

 

해당 인증서를 사용할 프로젝트에 적용하여 완료합니다.

반응형