ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Self-Signed SSL 인증서 생성하기 & Springboot 적용하기
    우아한 테크코스/이것저것 2020. 7. 29. 15:24
    반응형

    OpenSSL 설치

    Mac

    $ brew install openssl
    

    개인 키 및 인증서 서명 요청 생성

    개인 키 생성

    $ openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
    Generating RSA private key, 2048 bit long modulus
    .......+++
    .........................................................................................................................................+++
    e is 65537 (0x10001)
    
    $ openssl rsa -passin pass:x -in server.pass.key -out server.key
    writing RSA key
    
    $ rm server.pass.key

    CSR 생성

     CSR : Certificate Signing Request - 인증서 서명 요청

    - 인증서를 발급받기 위한 정보들과 어떤 키를 사용하는지에 대한 정보를 저장하고 있음

    $ openssl req -new -key server.key -out server.csr
    Enter pass phrase for key.pem: # 키 파일 패스워드 사용 - 암호화하지 않았을 경우 뜨지 않음
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) []:KR                # ISO 국가코드
    State or Province Name (full name) []:Seoul       # 도/시
    Locality Name (eg, city) []:                      # 도시명
    Organization Name (eg, company) []:               # 회사명
    Organizational Unit Name (eg, section) []:        # 조직명
    Common Name (eg, fully qualified host name) []:   # 사용자명 or 서버의 host명
    Email Address []:                                 # Email 주소
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:                          # 인증서 PW - 따로 입력하지 않음

    Creating a Self-Signed SSL Certificate

    공인 인증서 파일 생성

     - 공인 인증서를 발급하는 기관의 발급 절차를 따라 발급

     - 인증서 발급 신청시 CSR 파일 필요

    사설 인증서 파일 생성

     - openssl을 이용해 사설 인증서 파일 생성

     - Self-Signed SSL Cretificate

     - 생성하기 : server.csr

    $ openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
    Signature ok
    subject=/C=KR/ST=Seoul
    Getting Private key
    
    $ ls
    server.crt      server.csr      server.key

    Springboot에 적용하기

    Springboot에서 사용할 keystore.p12 생성

    $ openssl pkcs12 -export -in server.crt -inkey server.key -out keystore.p12 -name airpageserver -CAfile server.csr -caname root
    # 비밀번호 지정하지 않음
    Enter Export Password:
    Verifying - Enter Export Password:
    

    application.properties

    server.port=443
    server.ssl.enabled=true
    server.ssl.key-store=src/main/resources/keystore.p12
    server.ssl.key-store-password=
    server.ssl.key-store-type=PKCS12

    사설 인증서이므로 다음과 같은 알림 뜸

    반응형

    댓글

Designed by Tistory.