-
node.js 개인 키, 공개 키, CSR 생성Node.js 2017. 3. 29. 00:06반응형
노드 TLS 구현체는 openssl 라이브러리를 기반으로 한다.
그러므로 openssl 이 설치가 되어있는지 확인을 한 후 설치되어 있지 않다면
https://code.google.com/archive/p/openssl-for-windows/downloads링크를 클릭 하여 설치하기 바란다.
개인 키의 생성
각 클라이언트와 서버는 메시지 서명에 사용할 개인 키를 갖고 있어야한다. 다음 명령을 통해 개인키를 만들 수 있다.
genrsa -out my_key.pem 1024
이렇게 하면 개인 키가 들어있는 my_key.pem 파일이 생성된다.
공개 키의 생성
TLS 에 참여하는 서버와 클라이언트는 상대방의 유효성 검증을 위해 인증서를 갖고 있어야 한다.
인증서는 인증 기관이 서명하거나 자기 서명한 공개 키다. 인증서를 만들기 위해 가장 먼저 할 일은 인증서
서명 요청(CSR) 파일을 생성하는 것이다.
req -new -key my_key.pem -out my_csr.pem
필자는 req 명령에 문제가 있다는 에러를 마주치게 되었다. 그래서 구글링 하여 얻은 해답을 여러분에게도 공유해본다.
openssl.cnf 파일을 bin 폴더에 옮기고 다음 과 같이 수정하여 명령을 실행해보자.
req -new -key my_key.pem -out my_csr.pem -config openssl.cnf
이렇게 하면 my_csr.pem이라는 이름의 CSR 파일이 생성된다. 하지만 그전에 먼저 OPENSSL에서 묻는 신원 확인 질문에 답해야 한다.
CSR을 가지고 자기 서명 인증서를 생성하려면 다음과 같이 하면 된다.
x509 -req -in my_csr.pem -signkey my_key.pem -out my_cert.pem
반응형'Node.js' 카테고리의 다른 글
node.js 디버그 모드(debug 패키지 활용) 명령어 (0) 2017.03.30 node.js readFileSync 란 (0) 2017.03.29 node.js Error: listen EADDRINUSE 에러 (0) 2017.03.24 node.js spawn 과 exec 차이점 (0) 2017.03.23 node.js npm의 nodemon 설치하기! (0) 2015.06.28