Openssl로 인증서 생성

 

인증서 생성하기 전 작업

인증서 폴더 생성 후 읽기 및 실행 권한 부여.

$ mkdir /etc/pki/root
$ cd /etc/pki/root/

$ chmod 555 /etc/pki/root
$ chmod 555 /etc/pki/root/*

IP를 추가하기 위한 파일 생성

  • IP 주소가 작성된 파일을 생성한다.
  • 인증서에 IP를 추가하지 않을 경우 metricbeat 등 추가적인 연결프로그램에 대하여 IP 접근이 막히는 에러가 발생한다. - 에러는 아래와 같다 </>
  • x509: cannot validate certificate for <ip> because it doesn’t contain any ip SANs </>
$ vi extfile.cnf

subjectAltName = IP:192.168.0.85, IP:192.168.0.86, IP:192.168.0.87

서버용 CA 생성

  • CA에 대한 비밀번호를 입력한다.
$ openssl genrsa -des3 -out server.cakey.pem
  • Openssl 을 이용한 CA 생성

서버 CA 를 통하여 공개키 생성

$ openssl req -new -x509 -key server.cakey.pem -out root.crt

서버 개인 키 생성

$ openssl genrsa -out server.key 

서버 csr 생성

$ openssl req -new -key server.key -out server.csr

서버 crt 생성

  • 일전에 생성한 extfile.cnf 를 -extfile 명령어를 이용하여 추가해준다.
$ openssl x509 -req -in server.csr -days 3650 -sha1 -CAcreateserial -CA root.crt -CAkey server.cakey.pem -out server.crt -extfile extfile.cnf

클라이언트 키 생성

$ openssl genrsa -out client.key

클라이언트 csr 생성

$ openssl req -new -key client.key -out client.csr

클라이언트 crt 생성

$ openssl x509 -req -in client.csr -days 3650 -sha1 -CAcreateserial -CA root.crt -CAkey server.cakey.pem -out client.crt -extfile extfile.cnf