ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

Designed by Tistory.