![[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
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 설치 및 실행
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 인증서 적용하기](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
설치한 경로에서 wacs.exe 프로그램을 실행합니다.
2. 인증서 발급
![[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
발급 방법을 선택해줍니다.
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 인증서 적용하기](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
도메인 입력 방법을 선택해줍니다.
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 인증서 적용하기](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
인증서 분할 여부를 선택합니다.
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 인증서 적용하기](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
인증방법을 선택해줍니다.
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 인증서 적용하기](https://blog.kakaocdn.net/dn/eAQLqI/btsM8e36xNG/7FYDrtxCp6ePzcW3r4VUx1/img.png)
CSR 유형을 선택해줍니다.
1: Elliptic Curve key : 타원 곡선 암호화
2: RSA Key : 비대칭 암호화
>> 2 입력
RSA Key 비대칭 암호화를 선택해줍니다.
![[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기](https://blog.kakaocdn.net/dn/cNC0qw/btsM6Yubuai/TnNzaBf4u8mt8Wrpff0yBK/img.png)
인증서 저장 방식을 선택해줍니다.
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 인증서 적용하기](https://blog.kakaocdn.net/dn/cqNHUo/btsM6GggBEs/DB0cNqnSvO52jm2FrrK2gk/img.png)
키파일 암호 입력 방식을 선택합니다.
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 인증서 적용하기](https://blog.kakaocdn.net/dn/ewVxZL/btsM6VjMCSZ/Mbzqd4SfsROMvzcDX63rK0/img.png)
발급이 완료되었습니다.
인증서 적용을 위해 Content: "" 괄호 안의 TXT 레코드를 복사해줍니다.
저는 아암웹의 도메인을 사용하고 있어, 아입웹 네입서버 설정을 통해 넣어주었습니다.
사용하시는 DNS 관리 설정에서 설정해주면됩니다.

타입은 TXT, 이름, 값/위치 를 입력해줍니다.
도메인 입력할 때 이름을 입력 안 하고 엔터 했더니 길게 나왔네요..
이름에 Record 에 표시된 _acme-challenge.dev.liyo.co.kr 을 입력해주었고,
값/위치 에 Content 에 표시된 "liyo~암호값" 을 입력해주었습니다.
"" 를 포함하여 입력해주어야 합니다.
![[Let's Encrypy] 무료 SSL/TLS 인증서 적용하기](https://blog.kakaocdn.net/dn/eEKmrT/btsM6hnPfsp/g0iZlUL9C4yZPDgjRJWJnk/img.png)
실패시 위와같이 표시됩니다.
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 인증서 적용하기](https://blog.kakaocdn.net/dn/ceCTly/btsM6d6AQQW/UVpO63oVqdXCqOeqdIjjkk/img.png)
도메인에 대한 인증서가 다운로드 완료되었습니다.
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 인증서 적용하기](https://blog.kakaocdn.net/dn/nk0Cj/btsM6Y194pp/Qsofy80tg2uTtqv6Q7SkuK/img.png)
입력했던 경로에 인증서 파일이 생성된 것을 확인할 수 있습니다.
- liyo.co.kr-chain.pem : 서명과 CA 중간 인증서를 통합한 인증서
- liyo.co.kr-chain-only.pem : CA의 중간 인증서
- liyo .co.kr-crt.pem : 서명된 인증서
- liyo .co.kr-key.pem : 인증서 개인키
해당 인증서를 사용할 프로젝트에 적용하여 완료합니다.