일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- angular
- webpack
- securitykey
- passport.js
- SSL인증서
- Vue
- 가상사설망
- typescript
- 웹기획
- 안좋은습관10가지
- Git
- keytool
- privateKey
- javascript #prototype # array # find()
- TensorFlow
- 해시함수
- Javascript #MDN #Webs #Docs
- PublicKey
- anaconda
- guide
- es5 #es6
- CSS #flex
- CSS #pseudo-classes
- Ke
- tsotry
- nodejs
- behaviorsubject
- Storyboard
- 요구사항정의서 #기획 #UI/UX기획
- 일기
- Today
- Total
민자의 지식창고
SSL 인증서 본문
보안서버 SSL(Secure Sockets Layout) 인증서는 사용자의 인터넷 브라우저와 사이트의 웹서버 상의 인증. 클라리언트와 서버간의 통신을 제 3자가 보증해주는 전자화된 문서다.
클라이언트가 서버에 접속한 직후에 서버는 클라이언트에게 이 인증서 정보를 전달한다. 클라이언트는 이 인증서 정보가 신뢰할수 있는것인지를 판단하고, 검증을 하게 된다.
SSL의 이점은 통신상 내용을 보호하고, 클라이언트가 접속하려는 서버의 안정성을 보증해주고, 악의적인 정보 변경을 막아준다.
HTTPS == SSL 같은가?
HTTPS는 SSL 프로토콜 위에 돌아가는 프로콜이다. HTTPS로 데이터를 전송을 하면 SSL 이 데이터에 보안을 적용한다.
SSL 인증서를 발급해주는 SSL인증사이트가 많이있습니다.. 그중 원하시는 한군데에서 인증서를 발급받으면 된다
1. 키파일 생성
SSL인증서를 발급받기 위해 서버의 CSR을 생성을 해야한다.
생성방법은 다음과 같습니다. 서버는 CentOS 기준입니다. 빨간색 처리된 부분은 사용자임의로 지정하면 된다.
keytool -genkey -keyalg RSA -sigalg SHA1withRSA -alias book -keysize 2048 -keystore book.key
해당 커맨트 이후 추가 정보를 입력 받게된다.
- 비밀번호
- 이름과성
- 조직단위 이름
- 조직 이름
- 구/군/시 이름
- 시/도 이름
- 조직의 국가 코드
key가 생성이 되며, 확인하는 방법은 다음과 같다.
keytool -list -keystore book.key
2. CSR 생성
key가 완성되면 csr 파일을 생성해준다.
keytool -certeq -alias book -keyalg RSA -sigalg SHA1withRSA -file book.csr -keysotre book.key
생성된 CSR을 출력하면, 아래와 같은 Base64형식의 문서를 볼 수 있다
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIC8zCCAdsCAQAwfjELMAkGA1UEBhMCS1IxFDASBgNVBAgTC0d5ZW9uZ2dpLWRv
MRMwEQYDVQQHEwpCdW5kYW5nLWd1MREwDwYDVQQKEwhIYW5jb21JVDERMA8GA1UE
CxMISW9UIFRlYW0xHjAcBgNVBAMTFXd3dy5jdXJhdGlvbmJvdC5jby5rcjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALk1nTdWmG5qntB8yJB3s+ehFfJx
HA5V+E9aUZF5wFZHyPcu+7aeAuwKxQW0e/ZkuiEF3vMB7KRGbmA8SFyIB4PczfLf
GUCdOPnKqspCr+QRMyt7rTtNZ1kAzsG6i878nFhttB7oHGf6/9+ekxgNz74EWjUl
Lmhmyrs2tfwkGFyuu/P92JA40sXLkVr4pGXqjI3woP/z4Qqd/imUMb2DPdy8S0ip
gLCymbiYHvMT2b70zCoQvHgALwjr3zM6LC5zu0ayRapp4BdV+4Ftm9t0v9aROrhK
rOiRjRFcgLjzZU7XgiIoMLbvjDPTUZDumCMTURhKPcQc7VtL2P/rt7ggKEkCAwEA
AaAwMC4GCSqGSIb3DQEJDjEhMB8wHQYDVR0OBBYEFK6ObIqB2xo83NHkyhiaETHU
Y/s/MA0GCSqGSIb3DQEBBQUAA4IBAQBFWsBg+CvCGOz1WGPJ95SaUa8M0Hfg0pIj
GkymaB/g+AjD9aIsJ9KI718gOsB6Vw/7WaKLWM4gVeSPmTb34nrGaOhWUVy4PMOn
z4WYYxkHjc5y3OB9xem/VHAfE/qZn+qgd3b1s3YhVw35ghv/RLEKCvdsWhqCMrgv
fG0/HmjOVQGdlZ6lEtkYHh11+tXCqAdFM12rXz1NbHpvKd2os+6A34feWHrcwSDL
3o5FVPsgOpdQt3mj93ebrfzgieIt/Cfow2bh61gfmaZrtMYGhxdZ9IIERJO/4cHX
s6EaXjsoUcnm2Dy918X3qQK/6NQPUsdEkTWrs7J3BvnNRpRPL/Yi
-----END NEW CERTIFICATE REQUEST-----
-----BEGIN 처음 부터 마지막 줄 -----END … 까지 Ctrl+c , +v 복사하여, 접수페이지에 복사를한다.
모든 내용을 입력을 한 후에 도메인 실체성 검수를 받으면, 최종적으로 SSL 인증서를 발급을 해준다.
4. 인증서 설치
전달 받은 파일에 따라 조금씩 차이가 있지만(각 사이트마다 가이드가 존재하며, 해당 가이드를 보고 적용을 하면 된다), 가비아 통해 진행한 경우는 다음과 같다.
keytool -import -trustcerts -alias AddTrustExternalCARoot -file RootCA.crt -keystore book.key
keytool -import -trustcerts -alias COMODORSAAddTrustCA -file ChainCA2.crt -keystore book.key
keytool -import -trustcacerts -alias COMODORSACA -file ChainCA1.crt -keystore book.key
keytool -import -trustcacerts -alias rssp -file www_book_co_kr_cert.pem -keystore book.key
전달받은 인증서파일을 위와 같이 적용을 한후 Tomcat 서버 경우 해당 파일들의 Path를 지정하기 위해서 server.xml를 열어 내용을 수정하면 된다.
<Connector port="443" protocol="HTTP/1.1"
connectionTimeout ="20000"
redirectPort='443' />
# Tomcat 버젼 8.X 의 경우..
<Connector port="443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="키스토어파일경로/book.key" keystorePass="book.key 패스워드"
/>
수정 작업을 완료하면, 톰캣을 다시 재시작을 하면, SSL 적용이 끝난다.
'개발노트 > Server' 카테고리의 다른 글
VPN (0) | 2020.11.30 |
---|---|
Security Key (0) | 2020.11.27 |
Gzip이란? (0) | 2020.09.28 |
tomcat.service is not a native service (0) | 2020.09.16 |
Git Hub remote: Permission 403 (0) | 2020.08.19 |