자체 서명 사설 SSL 인증서 만들기

사설 인증서를 만들고 웹 서버 설정 후 브라우저에서 사용하기까지 전체 과정을 살펴보고, 실습을 통해 쉽게 적용하고 사용할 수 있습니다.


사설 인증서를 만들고 웹 서버 설정 후 브라우저에서 사용하기까지 전체 과정을 살펴보고, 실습을 통해 쉽게 적용하고 사용할 수 있습니다.

웹 브라우저에서 https로 접속 시 서버 인증서를 발급한 CA(루트 인증 기관)를 식별한 다음 서버 인증서를 SSL 통신에 사용합니다. 잘 알려진 CA(예: GoDaddy 또는 DigiCert)에 의해 서명된 경우 기본적으로 웹 사이트의 인증서를 신뢰합니다. 이 경우 루트 인증서를 PC에 설치할 필요가 없습니다. 그러나 개발/테스트 환경이 있고 CA 서명된 인증서를 구입하지 않고 사용하려면 사용자 지정 CA를 직접 만들고 자체 서명된 인증서를 만들어서 사용할 수 있습니다.


  • [message]
    • ##info-circle## 참고하기!
      • 자체 서명된 인증서는 기본적으로 신뢰할 수 없으며, 오래된 해시 및 암호 제품군을 사용할 수도 있습니다. 외부에 공개된 웹 사이트에서 보안을 강화하려면 잘 알려진 인증 기관에서 서명한 인증서를 구입해서 사용하십시오.

이 문서에서는 다음 방법을 설명합니다.

  • 사용자 지정 인증서 기관 만들기
  • 사용자 지정 CA에서 서명한 자체 서명 인증서 만들기
  • 웹 서버에 SSL 인증서 적용하기
  • 자체 서명된 루트 인증서를 개인 컴퓨터에 설치해서 웹 서버 인증하기

사전 요구 사항

  • OpenSSL이 설치 된 윈도우나 리눅스
  • 인증서 관리에 사용할 수 있는 다른 도구가 있을 수 있지만 이 문서에서는 OpenSSL을 사용합니다. 오픈 소스인 OpenSSL은 가장 인기 있는 도구 중 하나입니다. 모든 주요 플랫폼에서 사용할 수 있으며, 키 생성을 위한 간단한 명령줄 인터페이스를 제공합니다.
  • 웹 서버
  • NGINX 웹 서버를 사용하여 인증서를 테스트합니다.

실습 환경

  • 운영 체제(OS) : CentOS 8
  • 권한이 있는 root 및 사용자 계정으로 실행
  • 실행 경로 : /root/ssl
  • IP 설정 및 인터넷이 가능한 환경

OpenSSL 설치 확인하기

openssl version 명령어로 확인하기

CentOS 8에서는 기본 번들로 OpenSSL이 설치되어 있습니다.

[openssl version]

[root@runit ssl]# openssl version OpenSSL 1.1.1c FIPS 28 May 2019

루트 인증서(CA) 만들기

OpenSSL을 사용하여 루트 인증서(CA)를 만듭니다.

루트 인증서 키 만들기

OpenSSL이 설치된 서버에 SSH 로그인 후 다음 명령을 실행합니다. 이렇게 하면 암호로 보호된 키가 만들어집니다.


  • rootca.key 파일 만들기
  • [openssl ecparam -out rootca.key -name prime256v1 -genkey]

  • rootca.key 파일 내용 확인하기
  • [cat rootca.key]

    [root@runit ssl]# cat rootca.key -----BEGIN EC PARAMETERS----- BggqhkjOPQMBBw== -----END EC PARAMETERS----- -----BEGIN EC PRIVATE KEY----- MHcCAQEEIIHjF6gSS4xlCP097jjjVkl7w+GjrL/SuvHqYx+su9cboAoGCCqGSM49 AwEHoUQDQgAEquz+t68EzC+xVpjdqH+1k5D7xDjIboRzXi/m/dDsGWceXlwlw385 JHWQujPEqE4tIjY/UoS94DtNUjaoeABxFw== -----END EC PRIVATE KEY-----

    루트 인증서 CSR(인증 서명 요청) 만들기

    다음 명령을 사용하여 인증서 발급에 필요한 정보를 담고 있는 인증서 서명 요청 파일(csr)을 생성합니다.

    rootca.csr 인증 서명 요청 파일 만들기

    입력 프롬프트가 표시되면 정규화된 도메인 이름(발급자의 도메인)과 같은 사용자 지정 CA에 대한 조직 정보를 입력합니다.

    [openssl req -new -sha256 -key rootca.key -out rootca.csr]

    [root@runit ssl]# openssl req -new -sha256 -key rootca.key -out rootca.csr 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) [XX]:KR State or Province Name (full name) []:Gyeonggi-do Locality Name (eg, city) [Default City]:Hwaseong Organization Name (eg, company) [Default Company Ltd]:RunIT Organizational Unit Name (eg, section) []:Cloud Common Name (eg, your name or your server's hostname) []:RunIT.Cloud CA Root Certificate Email Address []:webmaster@runit.cloud Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:Enter 누르기 An optional company name []:Enter 누르기

  • rootca.csr 인증 서명 요청 파일 내용 확인하기
  • 암호화된 인증 서명 요청 파일( csr)을 확인할 수 있습니다.

    [cat rootca.csr]

    [root@runit ssl]# cat rootca.csr -----BEGIN CERTIFICATE REQUEST----- MIIBYjCCAQkCAQAwgaYxCzAJBgNVBAYTAktSMRQwEgYDVQQIDAtHeWVvbmdnaS1k bzERMA8GA1UEBwwISHdhc2VvbmcxDjAMBgNVBAoMBVJ1bklUMQ4wDAYDVQQLDAVD bG91ZDEoMCYGA1UEAwwfUnVuSVQuQ2xvdWQgQ0EgUm9vdCBDZXJ0aWZpY2F0ZTEk MCIGCSqGSIb3DQEJARYVd2VibWFzdGVyQHJ1bml0LmNsb3VkMFkwEwYHKoZIzj0C AQYIKoZIzj0DAQcDQgAEquz+t68EzC+xVpjdqH+1k5D7xDjIboRzXi/m/dDsGWce Xlwlw385JHWQujPEqE4tIjY/UoS94DtNUjaoeABxF6AAMAoGCCqGSM49BAMCA0cA MEQCIHEXV+MEF5mJ91HQsr6mtMWzvvIHYAPGPtBlUWsnsq3BAiBOGOQ5skrTdiIM +ACVgnECu/ZqM6BPaBvZJS9WUZACVQ== -----END CERTIFICATE REQUEST-----

    루트 인증서(CA)를 만들고 자체 서명하기

    다음 명령을 사용하여 인증서 발급에 필요한 정보를 담고 있는 인증서 서명 요청 파일(csr) 및 인증서(CA)를 생성합니다.

  • rootca.crt SSL 인증서 파일 만들기
  • 인증 기간은 최대 6자리로 설정할 수 있습니다.
    일반적으로 365일(1년)로 생성하거나 3650일(10년)로 생성할 수 있습니다.
    이 문서에서는 최대 기간인 999999일(2739)년으로 인증서를 생성합니다.

    [openssl x509 -req -sha256 -days 999999 -in rootca.csr -signkey rootca.key -out rootca.crt]

    [root@runit ssl]# openssl x509 -req -sha256 -days 999999 -in rootca.csr -signkey rootca.key -out rootca.crt Signature ok subject=C = KR, ST = Gyeonggi-do, L = Hwaseong, O = RunIT, OU = Cloud, CN = RunIT.Cloud CA Root Certificate, emailAddress = webmaster@runit.cloud Getting Private key

  • rootca.crt SSL 인증서 파일 내용 확인하기
  • 암호화된 SSL 인증서(crt)를 확인할 수 있습니다.

    [cat rootca.crt]

    [root@runit ssl]# cat rootca.crt -----BEGIN CERTIFICATE----- MIICTDCCAfECFEr5tNn4vOOrq6TZlercP9zj9ND6MAoGCCqGSM49BAMCMIGmMQsw CQYDVQQGEwJLUjEUMBIGA1UECAwLR3llb25nZ2ktZG8xETAPBgNVBAcMCEh3YXNl b25nMQ4wDAYDVQQKDAVSdW5JVDEOMAwGA1UECwwFQ2xvdWQxKDAmBgNVBAMMH1J1 bklULkNsb3VkIENBIFJvb3QgQ2VydGlmaWNhdGUxJDAiBgkqhkiG9w0BCQEWFXdl Ym1hc3RlckBydW5pdC5jbG91ZDAgFw0yMDA0MTMwNzQxMzZaGA80NzU4MDMxMDA3 NDEzNlowgaYxCzAJBgNVBAYTAktSMRQwEgYDVQQIDAtHeWVvbmdnaS1kbzERMA8G A1UEBwwISHdhc2VvbmcxDjAMBgNVBAoMBVJ1bklUMQ4wDAYDVQQLDAVDbG91ZDEo MCYGA1UEAwwfUnVuSVQuQ2xvdWQgQ0EgUm9vdCBDZXJ0aWZpY2F0ZTEkMCIGCSqG SIb3DQEJARYVd2VibWFzdGVyQHJ1bml0LmNsb3VkMFkwEwYHKoZIzj0CAQYIKoZI zj0DAQcDQgAEquz+t68EzC+xVpjdqH+1k5D7xDjIboRzXi/m/dDsGWceXlwlw385 JHWQujPEqE4tIjY/UoS94DtNUjaoeABxFzAKBggqhkjOPQQDAgNJADBGAiEA8syO fe6lOTE28ntDB1mUsJAheBEWqxc87+YZNj05Gn0CIQCKDZTwr3W91eRERx/B3+hh JY7KdQNx3ZqiutJu/L4JRQ== -----END CERTIFICATE-----

    서버 인증서 만들기

    서버 인증서 키 만들기

    OpenSSL을 사용하여 서버 인증서를 만듭니다.


  • server.key 파일 만들기
  • 다음 명령을 사용하여 서버 인증서에 대한 키를 생성합니다.

    [openssl ecparam -out server.key -name prime256v1 -genkey]

  • server.key 파일 내용 확인하기
  • 암호화된 키 파일이 생성된 것을 확인할 수 있습니다.

    [cat server.key]

    [root@runit ssl]# cat server.key -----BEGIN EC PARAMETERS----- BggqhkjOPQMBBw== -----END EC PARAMETERS----- -----BEGIN EC PRIVATE KEY----- MHcCAQEEIDngU19/T0y/tf3hs/Dtf9vU884/vSzXhgRKa8K0vy6boAoGCCqGSM49 AwEHoUQDQgAEuCVmi+HEIZID2uOMzkr7hhuIxCUuQE7o9sC69zHzcWdJrpP0VvA2 nPe+LLlz9lX6998BUDWR7+KFrbVKzXrvFg== -----END EC PRIVATE KEY-----

    서버 인증서 CSR(인증 서명 요청) 만들기

    다음 명령을 사용하여 인증서 발급에 필요한 정보를 담고 있는 인증서 서명 요청 파일(csr)을 생성합니다.


    • [message]
      • ##info-circle## 참고하기!
        • 서버 인증서의 CN(일반 이름)은 발급자의 도메인과 달라야 합니다. 예를 들어 이 경우 발급자의 CN은 RunIT.Cloud CA Root Certificate 이며 서버 인증서의 CN은 *.in.runit.cloud 입니다.

  • server.csr 인증 서명 요청 파일 만들기
  • CSR은 인증서를 요청할 때 CA에 제공하는 공개 키입니다. CA는 CSR 요청에 대한 인증서를 발급합니다.
    입력 프롬프트가 표시되면 정규화된 도메인 이름(발급자의 도메인)과 같은 사용자 지정 CA에 대한 조직 정보를 입력합니다.

    [openssl req -new -sha256 -key server.key -out server.csr]

    [root@runit ssl]# openssl req -new -sha256 -key server.key -out server.csr 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) [XX]:KR State or Province Name (full name) []:Gyeonggi-do Locality Name (eg, city) [Default City]:Hwaseong Organization Name (eg, company) [Default Company Ltd]:RunIT Organizational Unit Name (eg, section) []:Cloud Common Name (eg, your name or your server's hostname) []:*.in.runit.cloud Email Address []:webmaster@runit.cloud Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:Enter 누르기 An optional company name []:Enter 누르기

  • server.csr 인증 서명 요청 파일 내용 확인하기
  • 암호화된 인증 서명 요청 파일( csr)을 확인할 수 있습니다.

    [cat server.csr]

    [root@runit ssl]# cat server.csr -----BEGIN CERTIFICATE REQUEST----- MIIBUzCB+gIBADCBlzELMAkGA1UEBhMCS1IxFDASBgNVBAgMC0d5ZW9uZ2dpLWRv MREwDwYDVQQHDAhId2FzZW9uZzEOMAwGA1UECgwFUnVuSVQxDjAMBgNVBAsMBUNs b3VkMRkwFwYDVQQDDBAqLmluLnJ1bml0LmNsb3VkMSQwIgYJKoZIhvcNAQkBFhV3 ZWJtYXN0ZXJAcnVuaXQuY2xvdWQwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4 JWaL4cQhkgPa44zOSvuGG4jEJS5ATuj2wLr3MfNxZ0muk/RW8Dac974suXP2Vfr3 3wFQNZHv4oWttUrNeu8WoAAwCgYIKoZIzj0EAwIDSAAwRQIhAJ/hYrruQO3DHGJl Hvd7lsUtEz535P3JfQHUU2FhVhUTAiBLaJLl3OTX/4g5ma0vf2Lj+w2x7EKu+TIk sSp5Dx5Lkg== -----END CERTIFICATE REQUEST-----

    서버 인증서를 만들고 자체 서명하기

    다음 명령을 사용하여 CSR 및 키로 인증서를 생성하고 CA의 루트 키로 서명합니다.

  • server.crt SSL 인증서 파일 만들기
  • 인증 기간은 최대 6자리로 설정할 수 있습니다.
    일반적으로 365일(1년)로 생성하거나 3650일(10년)로 생성할 수 있습니다.
    이 문서에서는 최대 기간인 999999일(2739)년으로 인증서를 생성합니다.

    [openssl x509 -req -sha256 -days 999999 -in server.csr -CA rootca.crt -CAkey rootca.key -CAcreateserial -out server.crt]

    [root@runit ssl]# openssl x509 -req -sha256 -days 999999 -in server.csr -CA rootca.crt -CAkey rootca.key -CAcreateserial -out server.crt Signature ok subject=C = KR, ST = Gyeonggi-do, L = Hwaseong, O = RunIT, OU = Cloud, CN = *.in.runit.cloud, emailAddress = webmaster@runit.cloud Getting CA Private Key

  • server.crt SSL 인증서 파일 내용 확인하기
  • 암호화된 SSL 인증서(crt)를 확인할 수 있습니다.

    [cat server.crt]

    [root@runit ssl]# cat server.crt -----BEGIN CERTIFICATE----- MIICOzCCAeICFG9XTpxwenVnMyJi7RblVYkys8+gMAoGCCqGSM49BAMCMIGmMQsw CQYDVQQGEwJLUjEUMBIGA1UECAwLR3llb25nZ2ktZG8xETAPBgNVBAcMCEh3YXNl b25nMQ4wDAYDVQQKDAVSdW5JVDEOMAwGA1UECwwFQ2xvdWQxKDAmBgNVBAMMH1J1 bklULkNsb3VkIENBIFJvb3QgQ2VydGlmaWNhdGUxJDAiBgkqhkiG9w0BCQEWFXdl Ym1hc3RlckBydW5pdC5jbG91ZDAgFw0yMDA0MTUwMTQ0MTNaGA80NzU4MDMxMjAx NDQxM1owgZcxCzAJBgNVBAYTAktSMRQwEgYDVQQIDAtHeWVvbmdnaS1kbzERMA8G A1UEBwwISHdhc2VvbmcxDjAMBgNVBAoMBVJ1bklUMQ4wDAYDVQQLDAVDbG91ZDEZ MBcGA1UEAwwQKi5pbi5ydW5pdC5jbG91ZDEkMCIGCSqGSIb3DQEJARYVd2VibWFz dGVyQHJ1bml0LmNsb3VkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuCVmi+HE IZID2uOMzkr7hhuIxCUuQE7o9sC69zHzcWdJrpP0VvA2nPe+LLlz9lX6998BUDWR 7+KFrbVKzXrvFjAKBggqhkjOPQQDAgNHADBEAiApY8yR6oW6L3RZnWtC0ZV4paM2 CxSedAUSiMLLf43OwAIgeAVI9XkMQUkXHkZ19YtviY0SQDmj2WEEUJiJ6K+q2+0= -----END CERTIFICATE-----

    인증서 정보 확인하기

    다음 명령을 사용하여 CRT 파일을 출력하고 해당 내용을 확인합니다.

    [openssl x509 -in server.crt -text -noout]

    [root@runit ssl]# openssl x509 -in server.crt -text -noout Certificate: Data: Version: 1 (0x0) Serial Number: 6f:57:4e:9c:70:7a:75:67:33:22:62:ed:16:e5:55:89:32:b3:cf:a0 Signature Algorithm: ecdsa-with-SHA256 Issuer: C = KR, ST = Gyeonggi-do, L = Hwaseong, O = RunIT, OU = Cloud, CN = RunIT.Cloud CA Root Certificate, emailAddress = webmaster@runit.cloud Validity Not Before: Apr 15 01:44:13 2020 GMT Not After : Mar 12 01:44:13 4758 GMT Subject: C = KR, ST = Gyeonggi-do, L = Hwaseong, O = RunIT, OU = Cloud, CN = *.in.runit.cloud, emailAddress = webmaster@runit.cloud Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: 04:b8:25:66:8b:e1:c4:21:92:03:da:e3:8c:ce:4a: fb:86:1b:88:c4:25:2e:40:4e:e8:f6:c0:ba:f7:31: f3:71:67:49:ae:93:f4:56:f0:36:9c:f7:be:2c:b9: 73:f6:55:fa:f7:df:01:50:35:91:ef:e2:85:ad:b5: 4a:cd:7a:ef:16 ASN1 OID: prime256v1 NIST CURVE: P-256 Signature Algorithm: ecdsa-with-SHA256 30:44:02:20:29:63:cc:91:ea:85:ba:2f:74:59:9d:6b:42:d1: 95:78:a5:a3:36:0b:14:9e:74:05:12:88:c2:cb:7f:8d:ce:c0: 02:20:78:05:48:f5:79:0c:41:49:17:1e:46:75:f5:8b:6f:89: 8d:12:40:39:a3:d9:61:04:50:98:89:e8:af:aa:db:ed

    웹 서버에 SSL 인증서 적용하기

    CA 인증서를 포함하는 서버 인증서 만들기

    CAT 명령을 사용해서 server.crt 와 rootca.crt 파일 내용을 합친 인증서 파일을 생성합니다.

    [cat server.crt rootca.crt > server.pem]

  • server.pem 파일 내용 확인하기
  • [cat server.pem]

    [root@runit ssl]# cat server.pem -----BEGIN CERTIFICATE----- MIICOzCCAeICFG9XTpxwenVnMyJi7RblVYkys8+gMAoGCCqGSM49BAMCMIGmMQsw CQYDVQQGEwJLUjEUMBIGA1UECAwLR3llb25nZ2ktZG8xETAPBgNVBAcMCEh3YXNl b25nMQ4wDAYDVQQKDAVSdW5JVDEOMAwGA1UECwwFQ2xvdWQxKDAmBgNVBAMMH1J1 bklULkNsb3VkIENBIFJvb3QgQ2VydGlmaWNhdGUxJDAiBgkqhkiG9w0BCQEWFXdl Ym1hc3RlckBydW5pdC5jbG91ZDAgFw0yMDA0MTUwMTQ0MTNaGA80NzU4MDMxMjAx NDQxM1owgZcxCzAJBgNVBAYTAktSMRQwEgYDVQQIDAtHeWVvbmdnaS1kbzERMA8G A1UEBwwISHdhc2VvbmcxDjAMBgNVBAoMBVJ1bklUMQ4wDAYDVQQLDAVDbG91ZDEZ MBcGA1UEAwwQKi5pbi5ydW5pdC5jbG91ZDEkMCIGCSqGSIb3DQEJARYVd2VibWFz dGVyQHJ1bml0LmNsb3VkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuCVmi+HE IZID2uOMzkr7hhuIxCUuQE7o9sC69zHzcWdJrpP0VvA2nPe+LLlz9lX6998BUDWR 7+KFrbVKzXrvFjAKBggqhkjOPQQDAgNHADBEAiApY8yR6oW6L3RZnWtC0ZV4paM2 CxSedAUSiMLLf43OwAIgeAVI9XkMQUkXHkZ19YtviY0SQDmj2WEEUJiJ6K+q2+0= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIICTDCCAfECFEr5tNn4vOOrq6TZlercP9zj9ND6MAoGCCqGSM49BAMCMIGmMQsw CQYDVQQGEwJLUjEUMBIGA1UECAwLR3llb25nZ2ktZG8xETAPBgNVBAcMCEh3YXNl b25nMQ4wDAYDVQQKDAVSdW5JVDEOMAwGA1UECwwFQ2xvdWQxKDAmBgNVBAMMH1J1 bklULkNsb3VkIENBIFJvb3QgQ2VydGlmaWNhdGUxJDAiBgkqhkiG9w0BCQEWFXdl Ym1hc3RlckBydW5pdC5jbG91ZDAgFw0yMDA0MTMwNzQxMzZaGA80NzU4MDMxMDA3 NDEzNlowgaYxCzAJBgNVBAYTAktSMRQwEgYDVQQIDAtHeWVvbmdnaS1kbzERMA8G A1UEBwwISHdhc2VvbmcxDjAMBgNVBAoMBVJ1bklUMQ4wDAYDVQQLDAVDbG91ZDEo MCYGA1UEAwwfUnVuSVQuQ2xvdWQgQ0EgUm9vdCBDZXJ0aWZpY2F0ZTEkMCIGCSqG SIb3DQEJARYVd2VibWFzdGVyQHJ1bml0LmNsb3VkMFkwEwYHKoZIzj0CAQYIKoZI zj0DAQcDQgAEquz+t68EzC+xVpjdqH+1k5D7xDjIboRzXi/m/dDsGWceXlwlw385 JHWQujPEqE4tIjY/UoS94DtNUjaoeABxFzAKBggqhkjOPQQDAgNJADBGAiEA8syO fe6lOTE28ntDB1mUsJAheBEWqxc87+YZNj05Gn0CIQCKDZTwr3W91eRERx/B3+hh JY7KdQNx3ZqiutJu/L4JRQ== -----END CERTIFICATE-----

    NGINX SSL 설정하기

    NGINX 기본 설치 후 SSL 인증서를 복사하고 적용합니다.

  • SSL 인증서 복사하기
  • [cp -arp /root/ssl /etc/nginx/]

  • /etc/nginx/nginx.conf 파일에 SSL 설정 추가하기
  • 다음 구문의 주석(#)을 해제하고 server.key 와 server.pem 파일 경로를 설정합니다.

    [vi /etc/nginx/nginx.conf]

    [root@runit ssl]# vi /etc/nginx/nginx.conf # Settings for a TLS enabled server. # server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/nginx/ssl/server.pem"; ssl_certificate_key "/etc/nginx/ssl/server.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers PROFILE=SYSTEM; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }

  • NGINX 설정 확인하기
  • [nginx -t]

    [root@runit ssl]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

  • NGINX 서비스 재실행하기
  • [systemctl restart nginx]

    자체 서명된 루트 인증서를 개인 컴퓨터에 설치해서 웹 서버 인증하기

    개인 컴퓨터 호스트 추가하기

    네임 서버( DNS)에 등록되지 않은 도메인으로 테스트하기 때문에 개인 컴퓨터에서 www.in.runit.cloud의 IP 주소를 호스트 파일에 추가해야 접속할 수 있습니다.

  • www.in.runit.cloud 호스트 추가하기
  • 관리자 계정으로 Windows key + R 키를 눌러서 명령 프롬프트를 실행합니다.
    notepad 명령으로 hosts 파일을 열어서 내용을 추가합니다.

    [notepad C:\Windows\System32\drivers\etc\hosts]

    [root@runit ssl]# notepad C:\Windows\System32\drivers\etc\hosts # Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 192.168.33.33 www.in.runit.cloud

    루트 인증서(CA) 설치하기

    윈도우 익스플로러 실행 후 https://www.in.runit.cloud 사이트에 접속합니다.

  • 추가 정보 클릭 -> 웹페이지로 이동(권장하지 않음) 클릭하기
  • [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    SSL 인증서 경고화면

  • 인증서 오류 클릭 -> 인증서 보기 클릭하기
  • [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    SSL 인증서 보기

  • 인증 경로 클릭하기
  • ' 신뢰된 인증 기간에서 이 인증서를 검증할 수 없습니다. ' 라는 메세지를 확인할 수 있습니다.

    [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    SSL 인증서 검증 불가

  • RunIT.Cloud CA Root Certificate 인증서 클릭 -> 인증서 보기 클릭하기
  • [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    CA Root Certificate 인증서 보기

  • 인증서 설치(i) 클릭하기
  • [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    SSL 인증서 설치하기

  • 인증서 가져오기 마법사 -> 현재 사용자(C) 선택 후 다음 클릭하기
  • [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    SSL 인증서 가져오기 마법사

  • 모든 인증서를 다음 저장소에 저장(P) 클릭 -> 찾아보기(R) 클릭 -> 신뢰할 수 있는 루트 인증 기관 확인 클릭 -> 다음(N) 클릭하기
  • [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    신뢰할 수 있는 루트 인증 기관에 저장하기

  • 인증서 가져오기 마법사 완료 -> 마침(F) 클릭하기
  • [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    인증서 가져오기 마법사 완료

  • 이 인증서를 설치하시겠습니까? -> 예(Y) 클릭하기
  • [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    SSL 인증서 설치 경고

  • 가져오기를 완료했습니다. -> 확인 클릭하기
  • [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    SSL 인증서 가져오기 완료

  • 웹 사이트 재접속하기
  • 웹 브라우저를 재실행 해야 CA 루트 인증서가 적용됩니다.
    윈도우 익스플로러를 종료하고 다시 실행해서 https://www.in.runit.cloud 사이트에 접속합니다.
    인증서 오류 없이 신뢰할 수 있는 사이트로 보이는 것을 확인할 수 있습니다.

    [HTTPS] 자체 서명 사설 SSL 인증서 만들기
    신뢰할 수 있는 사이트 확인 완료

    마무리

    사설 SSL 인증서를 생성하고 PC에 설치해서 사용하는 방법에 대해 알아보았습니다.
    외부에 오픈된 서비스가 아니라 사내에서 사용할 때나 개인 테스트용으로 사설 SSL 인증서를 사용할 수 있습니다.

    COMMENTS

    이름

    가상 머신 생성,1,가상 머신 자동 시작,2,그라파나 비밀번호 초기화,1,데이터베이스 설치,1,리눅스 메모리,1,리눅스 명령어 자동 완성,2,리눅스 백업,1,리눅스 설치,1,리눅스 시스템 언어,1,리눅스 언어 설정,1,리눅스 원격 명령 실행,1,리눅스 프로세스,1,리눅스 한글 설정,1,리눅스 LOCALE,1,리버스 프록시,1,맥북,1,메모리,1,모바일 리다이렉션,1,모바일 페이지,1,백업 스크립트,1,버추얼박스 설치,1,보안 취약점,1,사설 인증서,1,서버 관리,2,소스 컴파일,1,슬랙 사용법,1,슬랙 시작,1,슬랙 초보자 가이드,1,엔진엑스 설치,1,원격 데스크톱 연결,1,웹 접속 제한,1,윈도우 비밀번호 초기화,1,윈도우 전원 옵션,1,윈도우 PATH,1,이미지 압축,1,이미지 용량 줄이기,1,인증서 생성,1,인증서 설치,1,자동 로그인,1,자빅스 한글,1,자체 서명,1,점검 스크립트,1,젠서버 설치,1,커널 삭제,1,콘솔 파란색 설정,1,클립보드 공유,1,파이썬 설치,1,파일 업로드 제한,1,프로세스 관리,1,프로세스 오류,1,한국어 설정,1,한글 설정,1,한영 전환,1,호스트 전용 네트워크,1,ADMIN 초기화,1,APACHE,1,APPLICATIONS,16,Big Sur,1,CentOS,4,CentOS 6,9,CentOS 7,4,CentOS 8,21,CentOS 8 설치,1,CentOS 설치 이미지 다운로드,1,CentOS ISO Download,1,CentOS-Base.repo,1,Citrix Hypervisor,2,DATABASES,1,dnf install httpd,1,DROPPING PACKET,1,GRAFANA,1,htpasswd,1,HTTP 기본 인증,2,HTTPS,1,IPTABLES,1,ISMS,1,ISO 저장소,1,JENNIFER,1,jennifer_admintool,1,jpg smaller,1,LINUX,29,macOS,2,MariaDB,1,MONITORING,3,NF_CONNTRACK,1,NGINX,9,NGINX 설치,1,NGINX SSL 설정,1,openssl 인증서 생성,1,pam 인증,1,passwd,1,PHP,1,PHP-FPM 설치,1,PuTTY,1,PYTHON,1,RSYNC,1,SFTP,1,Shift + Space 한영 전환,1,SLACK,2,slack 사용법,1,SSH 인증,1,SSH 자동 로그인,2,SSHPASS,3,SSL 경고 로그,1,SSL 인증서,1,su,1,SWAP,1,TABLE FULL,1,TABLEAU,1,tinypng,1,TIP,1,TMUX,3,TMUX 설치,2,useradd,1,userdel,1,VirtualBox,4,VIRTUALIZATION,7,VM,3,VMware,1,VMware 무료 라이센스,1,Vmware Fusion,1,wheel 그룹,1,WINDOWS,7,Windows 10,7,XCP-ng,2,XenServer,4,YUM,1,ZABBIX,1,
    ltr
    item
    시스템 엔지니어의 세상: 자체 서명 사설 SSL 인증서 만들기
    자체 서명 사설 SSL 인증서 만들기
    사설 인증서를 만들고 웹 서버 설정 후 브라우저에서 사용하기까지 전체 과정을 살펴보고, 실습을 통해 쉽게 적용하고 사용할 수 있습니다.
    https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQDqCaSmz91YM6hyphenhyphenloXv_H07qJtNg3DSxPSUN_ePCNvvVkhsv_U0xqlfAj3XbbVqYx7JOb5qfJX4hO1Ktzdm5X48vQr-TKWERUYYkZx62XUtNlWyVuSDD-sYtyuwuUuZQleD-jD_6_gVY/s1600/www.in.runit.cloud-SSL+%25EA%25B2%25BD%25EA%25B3%25A0%25ED%2599%2594%25EB%25A9%25B4.PNG
    https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQDqCaSmz91YM6hyphenhyphenloXv_H07qJtNg3DSxPSUN_ePCNvvVkhsv_U0xqlfAj3XbbVqYx7JOb5qfJX4hO1Ktzdm5X48vQr-TKWERUYYkZx62XUtNlWyVuSDD-sYtyuwuUuZQleD-jD_6_gVY/s72-c/www.in.runit.cloud-SSL+%25EA%25B2%25BD%25EA%25B3%25A0%25ED%2599%2594%25EB%25A9%25B4.PNG
    시스템 엔지니어의 세상
    https://www.runit.cloud/2020/04/https-ssl.html
    https://www.runit.cloud/
    https://www.runit.cloud/
    https://www.runit.cloud/2020/04/https-ssl.html
    true
    7559506062450536879
    UTF-8
    Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content