먼저 지난번에 공부했던 HTTP는 인터넷에서 데이터를 주고 받을 수 있는 통신 프로토콜이다. 여기서 Secure라는 보안 기능이 하나 더 붙은 것이 HTTPS이다. HTTPS는 HTTP 프로토콜 내용을 암호화를 통해 보안성이 추가된 것이다. HTTP 요청은 Client와 Server간에 데이터를 주고 받을 시 중간에 누군가가 요청의 내용을 들여다 본다면 데이터를 볼 수 있었다. 개인정보가 쉽게 노출되는 것은 보안상으로 굉장히 좋지 않고 위험하기 때문에 HTTPS 프로토콜이 나온 것이다. HTTPS는 요청의 내용을 한번 암호화 시키기 때문에 개인정보 등 중요한 정보가 유출이 되어도 정확한 키 정보가 없다면 내용을 알 수 없다.
인증서
CA
비대칭 키 암호화
mkcert라는 프로그램을 이용해서 로컬 환경에서 신뢰할 수 있는 인증서를 만들 수 있다.
나는 macOS를 사용하고 있기에 homebrew를 이용해 설치하였다.
$ brew install mckert
아래 명령어를 통해 로컬을 인증된 발급기관으로 추가해야 한다.
$ mkcert -install
다음은 로컬 환경에 대한 인증서를 만들어야 한다. localhost로 대표되는 로컬 환경에 대한 인증서를 만들려면 아래와 같이 명령어를 입력해야 한다.
$ mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1
이제 옵션으로 추가한 localhost, 127.0.0.1(IPv4), ::1(IPv6)에서 사용할 수 있는 인증서가 완성되었다.
내 프로젝트에 cert.pem, key.pem 이라는 파일이 생성된 것을 확인 할 수 있다.