발급될지 잠시 의심했었지만 발급 안될 이유가 없더라.
환경은 다음과 같다.
$ git clone https://github.com/certbot/certbot
이 때 80 port에 서비스가 있다면 잠시 내려두자. 인증을 위해 certbot이 잠시 이 포트를 사용할 것이기 때문이다(인증서 갱신시에는 80포트가 불필요 하다)
$ sudo ./certbot-auto certonly \
-a standalone -d samba.iptime.org
...(중요하지 않은 메시지는 skip)...
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/samba.iptime.org/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/samba.iptime.org/privkey.pem
Your cert will expire on 2020-08-08. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
"certbot-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
여기 경로에(/etc/letsencrypt/live/samba.iptime.org) 인증서 파일이 잘 생성되었다.
Spring Boot2 Backe-end 에서는 pkcs12 형식의 인증서가 필요하다(고 한다. 보안쪽은 잘 모르므로 패스 -.-) 여기서 지정한 암호는 SpringBoot설정파일에 넣을 것이므로 잘 메모해 두자.
$ sudo openssl pkcs12 -export \
-in /etc/letsencrypt/live/samba.iptime.org/fullchain.pem \
-inkey /etc/letsencrypt/live/samba.iptime.org/privkey.pem \
-out sambando.p12 -name bootalias \
-CAfile /etc/letsencrypt/live/samba.iptime.org/chain.pem \
-caname root -password pass:암호를지정하셔요
server:
port: 8082
ssl:
key-store: classpath:sambando.p12
key-store-password: 지정한_암호를_넣는다
keyStoreType: PKCS12
SpringBoot을 기동한 후 인증서 정보를 확인해보자
[![Certbot을 이용해 Iptime DDNS 도메인용 인증서 발급.png](/images/Certbot을 이용해 Iptime DDNS 도메인용 인증서 발급.png)](/images/Certbot을 이용해 Iptime DDNS 도메인용 인증서 발급.png)
만세! iptime의 top level domain 이지만 뭔가 신뢰가 간다.