Linux에서 자체 만든 단방향 인증서 구축 https 서버
앞말
https를 구축하는 데는 두 가지 방식이 있는데 단방향 인증과 양방향 인증으로 나뉜다.단방향 인증은 전송된 데이터가 암호화되었지만 클라이언트의 출처를 검사하지 않고 클라이언트만 서버 인증서를 검증한다.
단방향 인증서 생성
서버 개인 키를 만들고 RSA 비밀 키를 생성합니다.과정 중에 비밀번호를 입력하라고 요구할 것입니다. 입력한 비밀번호를 기억하세요.ubuntu@ip-172-31-23-98:~$ openssl genrsa -des3 -out server.key 2048
Generating RSA private key, 2048 bit long modulus
...................................................................................................................................................................+++
..+++
e is 65537 (0x10001)
Enter pass phrase for server.key:
140204033578648:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:823:You must type in 4 to 1023 characters
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
ubuntu@ip-172-31-23-98:~$ ls
cointown lian12.sql redis-4.0.11 redis-4.0.11.tar.gz server.key sms-service-0.0.1-SNAPSHOT.jar white.test.conf x.sql
암호와 관련된 인증서 요청을 생성하려면 이전에 입력한 암호를 입력하면 됩니다.ubuntu@ip-172-31-23-98:~$ sudo openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
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) [AU]:cn
State or Province Name (full name) [Some-State]:cn
Locality Name (eg, city) []:beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:cn
Organizational Unit Name (eg, section) []:g
Common Name (e.g. server FQDN or YOUR name) []:yang
Email Address []:[email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:abcd
An optional company name []:cn
ubuntu@ip-172-31-23-98:~$ ls
cointown lian12.sql redis-4.0.11 redis-4.0.11.tar.gz server.csr server.key sms-service-0.0.1-SNAPSHOT.jar white.test.conf x.sql
이 내용을 입력하면 서버가 생성됩니다.csr 파일, 그리고 비밀 키를 ssl 암호화ubuntu@ip-172-31-23-98:~$ cp server.key server.key.org
ubuntu@ip-172-31-23-98:~$ ls
cointown redis-4.0.11 server.csr server.key.org white.test.conf
lian12.sql redis-4.0.11.tar.gz server.key sms-service-0.0.1-SNAPSHOT.jar x.sql
ubuntu@ip-172-31-23-98:~$ openssl rsa -in server.key.org -out server.key
Enter pass phrase for server.key.org:
writing RSA key
ubuntu@ip-172-31-23-98:~$ ls
cointown redis-4.0.11 server.csr server.key.org white.test.conf
lian12.sql redis-4.0.11.tar.gz server.key sms-service-0.0.1-SNAPSHOT.jar x.sql
위의 비밀 키와 CSR을 사용하여 정식으로 서명ubuntu@ip-172-31-23-98:~$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=cn/ST=cn/L=beijing/O=cn/OU=g/CN=yang/[email protected]
Getting Private key
ubuntu@ip-172-31-23-98:~$ ls
cointown redis-4.0.11 server.crt server.key sms-service-0.0.1-SNAPSHOT.jar x.sql
lian12.sql redis-4.0.11.tar.gz server.csr server.key.org white.test.conf
이렇게 하면 증서가 완성된다. 맞다. 증서를 합병해야 한다ubuntu@ip-172-31-23-98:~$ cat server.key server.crt > server.pem
ubuntu@ip-172-31-23-98:~$ ls
cointown redis-4.0.11 server.crt server.key server.pem white.test.conf
lian12.sql redis-4.0.11.tar.gz server.csr server.key.org sms-service-0.0.1-SNAPSHOT.jar x.sql
nginx에 가서 사용할 수 있어요. ssl_certificate cert/server.pem;
ssl_certificate_key cert/server.key;
주의: 이렇게 된 인증서는 csr를 브라우저에 가져와야 사용할 수 있습니다. 인증서를 브라우저에 가져오는 방법을 생략합니다.만약 내가 절차를 적어야 한다면, 메시지를 남겨 주십시오. 제가 다시 추가할 것입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
서버 개인 키를 만들고 RSA 비밀 키를 생성합니다.과정 중에 비밀번호를 입력하라고 요구할 것입니다. 입력한 비밀번호를 기억하세요.
ubuntu@ip-172-31-23-98:~$ openssl genrsa -des3 -out server.key 2048
Generating RSA private key, 2048 bit long modulus
...................................................................................................................................................................+++
..+++
e is 65537 (0x10001)
Enter pass phrase for server.key:
140204033578648:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:823:You must type in 4 to 1023 characters
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
ubuntu@ip-172-31-23-98:~$ ls
cointown lian12.sql redis-4.0.11 redis-4.0.11.tar.gz server.key sms-service-0.0.1-SNAPSHOT.jar white.test.conf x.sql
암호와 관련된 인증서 요청을 생성하려면 이전에 입력한 암호를 입력하면 됩니다.
ubuntu@ip-172-31-23-98:~$ sudo openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
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) [AU]:cn
State or Province Name (full name) [Some-State]:cn
Locality Name (eg, city) []:beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:cn
Organizational Unit Name (eg, section) []:g
Common Name (e.g. server FQDN or YOUR name) []:yang
Email Address []:[email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:abcd
An optional company name []:cn
ubuntu@ip-172-31-23-98:~$ ls
cointown lian12.sql redis-4.0.11 redis-4.0.11.tar.gz server.csr server.key sms-service-0.0.1-SNAPSHOT.jar white.test.conf x.sql
이 내용을 입력하면 서버가 생성됩니다.csr 파일, 그리고 비밀 키를 ssl 암호화
ubuntu@ip-172-31-23-98:~$ cp server.key server.key.org
ubuntu@ip-172-31-23-98:~$ ls
cointown redis-4.0.11 server.csr server.key.org white.test.conf
lian12.sql redis-4.0.11.tar.gz server.key sms-service-0.0.1-SNAPSHOT.jar x.sql
ubuntu@ip-172-31-23-98:~$ openssl rsa -in server.key.org -out server.key
Enter pass phrase for server.key.org:
writing RSA key
ubuntu@ip-172-31-23-98:~$ ls
cointown redis-4.0.11 server.csr server.key.org white.test.conf
lian12.sql redis-4.0.11.tar.gz server.key sms-service-0.0.1-SNAPSHOT.jar x.sql
위의 비밀 키와 CSR을 사용하여 정식으로 서명
ubuntu@ip-172-31-23-98:~$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=cn/ST=cn/L=beijing/O=cn/OU=g/CN=yang/[email protected]
Getting Private key
ubuntu@ip-172-31-23-98:~$ ls
cointown redis-4.0.11 server.crt server.key sms-service-0.0.1-SNAPSHOT.jar x.sql
lian12.sql redis-4.0.11.tar.gz server.csr server.key.org white.test.conf
이렇게 하면 증서가 완성된다. 맞다. 증서를 합병해야 한다
ubuntu@ip-172-31-23-98:~$ cat server.key server.crt > server.pem
ubuntu@ip-172-31-23-98:~$ ls
cointown redis-4.0.11 server.crt server.key server.pem white.test.conf
lian12.sql redis-4.0.11.tar.gz server.csr server.key.org sms-service-0.0.1-SNAPSHOT.jar x.sql
nginx에 가서 사용할 수 있어요.
ssl_certificate cert/server.pem;
ssl_certificate_key cert/server.key;
주의: 이렇게 된 인증서는 csr를 브라우저에 가져와야 사용할 수 있습니다. 인증서를 브라우저에 가져오는 방법을 생략합니다.만약 내가 절차를 적어야 한다면, 메시지를 남겨 주십시오. 제가 다시 추가할 것입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.