-
Self-Signed SSL 인증서 생성하기 & Springboot 적용하기우아한 테크코스/이것저것 2020. 7. 29. 15:24반응형
OpenSSL 설치
Mac
$ brew install openssl
개인 키 및 인증서 서명 요청 생성
개인 키 생성
$ openssl genrsa -des3 -passout pass:x -out server.pass.key 2048 Generating RSA private key, 2048 bit long modulus .......+++ .........................................................................................................................................+++ e is 65537 (0x10001) $ openssl rsa -passin pass:x -in server.pass.key -out server.key writing RSA key $ rm server.pass.key
CSR 생성
CSR : Certificate Signing Request - 인증서 서명 요청
- 인증서를 발급받기 위한 정보들과 어떤 키를 사용하는지에 대한 정보를 저장하고 있음
$ openssl req -new -key server.key -out server.csr Enter pass phrase for key.pem: # 키 파일 패스워드 사용 - 암호화하지 않았을 경우 뜨지 않음 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) []:KR # ISO 국가코드 State or Province Name (full name) []:Seoul # 도/시 Locality Name (eg, city) []: # 도시명 Organization Name (eg, company) []: # 회사명 Organizational Unit Name (eg, section) []: # 조직명 Common Name (eg, fully qualified host name) []: # 사용자명 or 서버의 host명 Email Address []: # Email 주소 Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # 인증서 PW - 따로 입력하지 않음
Creating a Self-Signed SSL Certificate
공인 인증서 파일 생성
- 공인 인증서를 발급하는 기관의 발급 절차를 따라 발급
- 인증서 발급 신청시 CSR 파일 필요
사설 인증서 파일 생성
- openssl을 이용해 사설 인증서 파일 생성
- Self-Signed SSL Cretificate
- 생성하기 : server.csr
$ openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt Signature ok subject=/C=KR/ST=Seoul Getting Private key $ ls server.crt server.csr server.key
Springboot에 적용하기
Springboot에서 사용할 keystore.p12 생성
$ openssl pkcs12 -export -in server.crt -inkey server.key -out keystore.p12 -name airpageserver -CAfile server.csr -caname root # 비밀번호 지정하지 않음 Enter Export Password: Verifying - Enter Export Password:
application.properties
server.port=443 server.ssl.enabled=true server.ssl.key-store=src/main/resources/keystore.p12 server.ssl.key-store-password= server.ssl.key-store-type=PKCS12
사설 인증서이므로 다음과 같은 알림 뜸
반응형'우아한 테크코스 > 이것저것' 카테고리의 다른 글
Google App 등록하여 OAuth 2.0 클라이언트 ID 받기 (0) 2020.07.30 도메인 구입하기 (with 가비아) (0) 2020.07.30 Springboot + Gradle + Intellij 환경에서 Lombok 적용하기 (0) 2020.07.29 Springboot Logging 적용 - logback (0) 2020.07.29 Springboot + H2 Console 사용 설정 (0) 2020.07.28