- ssl(Secure Sockets Layer)이란?
보안 소켓 계층을 이르는 말로, 인터넷에서 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜이다.
인터넷 프로토콜(Internet protocol)이 보안면에서 기밀성을 유지하지 못한다는 문제를 극복하기 위해 개발되었다. 현재 전세계에서 사용되는 인터넷 상거래시 요구되는 개인 정보와 크레디트카드 정보의 보안 유지에 가장 많이 사용되고 있는 프로토콜이다. 최종 사용자와 가맹점간의 지불 정보 보안에 관한 프로토콜이라고 할 수 있다.
[네이버 지식백과] SSL [Secure Sockets Layer] (두산백과)
* 도움설명..
브라우저와 웹서버 사이에 보안을 위해 만들어졌다.
대칭키를 이용해서 암호화 통신을 하며 http에 ssl을 적용해서 https 통신을 하게된다.
이러한 https 통신을 하기 위해서 ssl인증서가 필요하다.
ssl인증서란?
웹사이트가 해킹에 신뢰있는 사이트인지, 안전한 통신을 하는 사이트인지 구분하기 위해서
누군가가 이사이트가 신뢰있는 사이트라고 인증을 해주기 위한 인증서 이다.
인증서에는 인증서의 소유자의 email, 소유자이름, 인증서용도, 인증서 유효기간, 발행기관, public key 등이 포함되어있다.
- 인증서 발급을 위한 openssl설치
sourceforge.net/projects/openssl/
설치가 완료되면 /bin/openssl.exe 관리자권한으로 실행하면 아래화면 실행된다.
개인키 생성 (비밀번호 생성)
- genrsa -des3 -out private.pem 2048
비밀번호입력 엔터
비밀번호확인입력 엔터
https의 ssl 인증서에는 서비스등록할때마다, 비밀번호를 입력해줘야하기 때문에, 비밀번호 없는 개인키는 아래처럼 생성
개인키 생성 (비밀번호 없이 생성)
- genrsa -out private.key 2048 (비밀번호 없이생성)
공개키 생성
위에서 생성한 개인키와 쌍으로 동작하는 공개키 생성
rsa -in 개인키 -pubout -out private.key
rsa -in private.key -pubout -out private.key
CSR ( Certificate Signing Request ) 이란?
SSL 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서입니다.
CSR은 ASCII 텍스트 파일로 생성되며, 정보항목에는 국가코드, 도시, 회사명, 부서명, 이메일, 도메인주소 등이 들어가있습니다.
CSR을 생성할 때 서버의 식별명을 입력하게 됩니다.
식별명은 각 서버를 공유하게 나타내는 이름으로 다음과 같은 정보를 포함합니다.
Country Name ( 국가코드) [] : KR (이것은 두 자로 된 ISO 형식의 국가 코드입니다.)
State or Province Name ( 지역 ) [] : Seoul (시 이름을 입력해야 하며 약어를 사용할 수 없습니다.)
Locality Name ( 시/군/구 ) [] : Gangnamgu (이 필드는 대부분의 경우 생략이 가능하며 업체가 위치한 곳를 나타냅니다.)
Organization Name ( 회사명 ) [] : test Inc (사업자 등록증에 있는 회사명과 일치되는 영문회사명을 입력하시면 됩니다.)
Organizational Unit Name ( 부서명 ) [] : developer Team ("리눅스 관리팀", "윈도우 관리팀" 등과 같이 업체의 부서를 입력할 수 있습니다.)
Common Name ( 서비스도메인명 ) [] : localhost (인증받을 도메인주소를 입력하시면 됩니다.
)
Email Address [] : test@google.com
참고사이트
namjackson.tistory.com/24?category=608368
www.opentutorials.org/course/228/4894