오픈 소스 프로그램인 OpenSSL을 사용하여 개인키와 인증서를 만들어서 원하는 서버에 등록하면, 안전하게 통신할 수 있게 됩니다.
여기서는 OpenSSL을 다운로드 받아서 설치하고, 환경 변수를 등록하고, 인증서를 만드는 방법을 설명합니다.
1 OpenSSL을 다운로드 받아서 설치하기
다음의 순서로 프로그램을 다운로드 받아서 설치합니다. (자세한 내용은 아래에 별도 탭으로 나타납니다)
- OpenSSL 다운로드 웹페이지로 이동합니다
OpenSSL 설치 프로그램 다운로드 - PC에 맞는 프로그램을 선택합니다.
- 다운로드할 폴더를 선택합니다.
- 파일 다운로드가 완료되면 파일을 열어서 설치를 시작합니다.
- 중간에 재배포 프로그램이 필요하면 다운로드하고 설치합니다.
- 이후 설치작업을 계속합니다.
특별한 사정이 없으면 기본값으로 프로그램을 설치하면 됩니다.
OpenSSL을 다운로드 받아서 설치하기 상세 설명
OpenSSL 설치 프로그램 다운로드 2 다운로드 페이지를 스크롤하여 본인의 PC에 맞게 Win64와 Win32 버젼중에서 선택하여 다운로드합니다. 이때 light 버젼을 선택하면 안됩니다. 3 다운로드 폴더와 파일을 지정하고 [저장] 버튼을 누릅니다. 4 다운로드가 완료되면 [열기]를 선택합니다. 5 설치 프로그램이 시작되고 필요한 재배포 컴포넌트가 없어서 다운로드하겠다는 문구가 나요면 [예(Y)] 버튼을 누릅니다.
만약 이미 재배포 컴포넌트가 설치되어 있다면 5 ~ 9 단계는 생략됩니다.
6 재배포 컴포넌트의 다운로드 폴더와 파일을 지정하고 [저장] 버튼을 누릅니다. 7 다운로드가 완료되면 [열기]를 선택합니다. 8 재배포 컴포넌트의 설치가 시작되면 [동의함(A)]을 선택하고 [설치(I)] 버튼을 누릅니다. 9 설치가 완료되면 [닫기(C)]를 누릅니다. 10 재배포 모듈 설치를 완료하고, 실행중이던 OpenSSL 설치 프로그램을 계속합니다. 라이센서 조건에 동의하고 [Next] 버튼을 누릅니다. 11 설치할 폴더를 선택하고 [next] 버튼을 누르면 프로그램 설치가 시작됩니다.설치 폴더는 이후 환경 변수 설정할 때 사용하므로 기록해 두는 것이 좋습니다.
12 시작 메뉴 폴더를 지정하고 [Next]를 누릅니다. 13 DLL을 복사할 디렉토리를 선택하고 [Next] 버튼을 누릅니다. 14 선택 사항 지정을 모두 마치고, [Install] 버튼을 누릅니다. [su_15/] 설치가 모두 끝나면, 기부 금액 선택을 확인하고 [Finish] 버튼을 누릅니다.2 OpenSSL의 환경 변수 설정하기
OpenSSL을 자유롭게 사용할 수 있도록 환경 변수에 등록해야 합니다.
여기서는 OPENSSL_CONF와 path를 등록합니다.
OpenSSL의 시스템 환경 변수 등록하기 상세 설명
키보드에서 을 눌러서 실행 화면이 나오면 cmd가 입력된 채로 확인 버튼을 누릅니다.
명령 프롬프트에서 다음 명령을 입력하면 시스템 속성 화면이 나옵니다.
sysdm.cpl2 시스템 속성 화면에서 환경 변수로 이동하기
탭에서 고급을 선택하고 환경 변수(N)...를 누릅니다.
3 환경 변수 화면에서 새로 만들기(N)...를 누르면 새 사용자 변수를 입력할 수 있는 화면이 나옵니다. 여기서 아래의 변수 이름과 변수 값을 입력합니다. 확인을 누르면 환경 변수가 등록됩니다.
OpenSSL이 설치된 폴더는 설치 환경에 맞게 지정하여야 합니다.
OPENSSL_CONF
C:\Program Files\OpenSSL-Win64\bin\openssl.cfg4 환경 변수 화면에서 Path를 선택하고 편집(E)...을 누르면 환경 변수 편집 화면이 나옵니다. 여기서 새로 만들기(N)를 누르고 다음의 내용을 입력한 후 확인을 누릅니다.
C:\Program Files\OpenSSL-Win64\bin5 다시 환경 변수 화면이 나오면 확인을 눌러서 설정 작업을 마칩니다.
3 자체 서명 인증서 만들기
공인 인증기관에서 인증서를 받기위해서는 비용을 지불해야 합니다. 반면에 OpenSSL을 사용하면 무료로 자체 서명 인증서(self-signed certificate)를 만들 수 있습니다.
OpenSSL로 만든 인증서가 설치된 서버에 접속하면 브라우져에 경고 메시지가 나타나지만 개인 사용의 경우라면 문제되지는 않습니다.
OpenSSL을 이용하여 개인키인 privKey.pem과 자체 서명 인증서인 cert.pem 파일을 생성하는 방법을 설명합니다.
여기서 만들어진개인키와 인증서는 원하는 곳에 등록하여 사용할 수 있으며, 여러 곳에서 공용으로 사용할 수도 있습니다.
자체 서명 인증서 만들기 상세 설명
1 인증서가 설치될 폴더 만들기
이후 작업은 명령 프롬프트에서 실행합니다. 키보드에서 을 눌러서 실행 화면이 나오면 cmd가 입력된 채로 확인 버튼을 누르면 명령 프롬프트가 나타납니다.
아래 명령어로 사용자 계정(여기서는 USER)에 certs라는 폴더를 만듭니다.
md certs
새로 만든 폴더로 이동합니다.
cd certs
이후 OpenSSL에서 생성되는 파일은 이 폴더 아래에 만들어집니다.
2 개인키와 인증서 만들기
다음 명령어를 입력하면 개인키가 파일 privKey.pem으로 만들어집니다. 여기서 만든 개인키는 이후 단계에서 계속 사용됩니다.
openssl genrsa -out privKey.pem 1024
3 CSR(인증서 서명 요청서) 만들기
계속해서 다음 명령어를 입력하면, CSR (Certificate Signing Request)이 파일 private-csr.pem으로 만들어 집니다. CSR은 인증서에 포함되는 여러 정보를 기록하는 용도입니다. 그래서 이 명령어를 실행하면 여러 정보를 입력하라는 프롬프트가 나오지만 그냥 엔터를 입력하여 넘어가도 됩니다. 다만 Common Name만 입력하면 됩니다. 여기서 생성된 CSR은 다음 단계에서 사용되지만 이후에는 삭제해도 됩니다.
openssl req -new -key privKey.pem -out private-csr.pem
3 인증서 만들기
다음 명령어를 입력하면, CSR을 개인키로 서명하여 인증서를 만듭니다. 그 결과는 파일 cert.pem입니다. 여기서는 -days 730로 하여 인증서 유효 기간을 2년으로 지정하였습니다. 인증서 유효 기간은 임의로 조절하면 되지만, 인증서 기간이 만료되면 다시 만들어야 합니다.
인증서가 IoT 디바이스에 설치되는 경우 갱신하기가 어려우므로 감안하여 인증서 기간을 정하여야 합니다.
openssl x509 -req -days 730 -in private-csr.pem -signkey privKey.pem -out cert.pem
다음 명령어를 입력하여 생성된 파일을 확인합니다
dir
이제 privKey.pem와 cert.pem이 생성되었습니다. 이 파일의 정보를 필요한 곳에 등록하여 사용하게 됩니다.
답글 남기기
로그인을 해야 댓글을 남길 수 있습니다.