GmSSL制作國密算法自簽證書和 HTTPS 配置


GmSSL 是一個開源(遵循 BSD 協議)的密碼工具箱,支持 SM2 / SM3 / SM4 / SM9 / ZUC 等國密(國家商用密碼)算法、SM2 國密數字證書及基於 SM2 證書的 SSL / TLS 安全通信協議,支持國密硬件密碼設備,提供符合國密規范的編程接口與命令行工具,可以用於構建 PKI / CA 、安全通信、數據加密等符合國密標准的安全應用。GmSSL 項目是 OpenSSL 項目的分支,並與 OpenSSL 保持接口兼容。因此 GmSSL 可以替代應用中的 OpenSSL 組件,並使應用自動具備基於國密的安全能力。

目前已發布的 GmSSL 僅適配 RedHat/CentOS7,更高的 RedHat/CentOS 系統在運行 GmSSL 時可能出現鏈接庫文件無法適配的問題。

國產密碼算法(國密算法)是指國家密碼局認定的國產商用密碼算法,國密算法系列包括 SM1,SM2,SM3,SM4,SM7,SM9 和 ZUC 算法,與國際通用算法標准有對應關系。其中對稱密碼算法包括 SM1,SM4 和 SM7,非對稱密碼算法包括 SM2,SM9,哈希算法包括 SM3。

  • SM1 算法:僅支持硬件實現,目前使用范圍逐漸萎縮,目前主要在存量市場有所使用。
  • SM2 算法:對標 RSA、ECC 算法,算法標准已公開。
  • SM3 算法:對標 MD5、SHA-256 等哈希算法,算法標准已公開。
  • SM4 算法:對標 AES,3DES 等算法,算法標准已公開。
  • SM7 算法:針對非接觸式 IC 卡、票務、支付卡類應用,算法標准已公開。
  • SM9 算法:ZUC 算法屬於對稱密碼算法中的序列密碼算法,以 32 位字為單位輸出密鑰流,其密鑰長度和 IV 長度均為 128 比特。

目錄

1.GmSSL 制作自簽證書
1.1.第一階段:制作 CA 根證書
1.2.第二階段:制作服務器證書
1.3.第三階段:制作客戶端證書(雙向認證使用)

2.Web 容器配置 HTTPS站點
2.1.Tomcat 配置方案
2.2.Nginx 配置方案
2.3.Apache Httpd 配置方案

3.客戶端訪問
3.1.安裝 CA 機構證書
3.2.安裝客戶端 PKCS12 證書(雙向認證使用)
3.3.常見問題

后記一:HTTPS 和 SSL 的概念和工作原理

1.GmSSL 制作自簽證書

1、安裝 GmSSL。

1)驗證並安裝依賴軟件。通過源代碼編譯的方式安裝 GmSSL,需要依賴軟件"make"、"gcc",驗證或安裝依賴軟件:

$ sudo yum install make gcc

補充知識:

① "gcc"是一個C/C++、FORTRAN、JAVA、OBJC、ADA等多種語言的編譯器,用來將源代碼編譯成可發布的軟件程序。

② "make"是一個工程管理工具,能夠根據 Makefile 中的腳本執行編譯、安裝流程。

2)打開 GmSSL 下載頁面【https://github.com/guanzhi/GmSSL】,下載 GmSSL 源代碼 zip 包到用戶主目錄中:

3)解壓縮 GmSSL 的源代碼 zip 包到用戶主目錄下:

$ unzip GmSSL-master.zip
$ ll
drwxrwxr-x. 24 centos centos    4096 8月  24 21:46 GmSSL-master

4)安裝 GmSSL,進入源代碼目錄,配置、編譯、安裝程序,並拷貝鏈接庫文件("libcrypto.so.1.1"、"libssl.so.1.1")到系統鏈接庫目錄("/lib64")中:

$ cd GmSSL-master
$ ./config
$ make
$ sudo make install
$ sudo cp libcrypto.so.1.1 libssl.so.1.1 /lib64

程序安裝目錄是"/usr/local/bin"。

5)查看 GmSSL 的鏈接庫文件是否正常:

$ ldd /usr/local/bin/gmssl

linux-vdso.so.1 =>  (0x00007fffc0cc2000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f9fd0a46000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f9fd04f2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9fd02ee000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9fd00d2000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9fcfd04000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9fd0cbd000)

2、創建 SSL 工作目錄。

證書包括 CA 認證機構、服務器和客戶端三類證書的制作,在 SSL 工作根目錄下分別建立"ca"、"server"、"client"子目錄存放對應的輸出文件,並設置所有者為證書管理賬戶。

$ sudo mkdir -p /data/ssl/ca
$ sudo mkdir -p /data/ssl/server
$ sudo mkdir -p /data/ssl/client
$ sudo chown -R centos:centos /data/ssl

3、術語說明

文件類型                                  說明
KEY                  非對稱私鑰文件,文件擴展名通常為 ".key"
CSR                 只包含公鑰的證書簽名申請,文件擴展名通常為 ".csr"
PEM                 只包含公鑰的證書,文件擴展名通常為 ".pem"
PKCS12           包含公鑰和私鑰證書,文件擴展名通常為 ".p12"

1.1.第一階段:制作 CA 根證書

1、制作 CA【秘鑰】。

$ gmssl ecparam -genkey -name sm2p256v1 -out /data/ssl/ca/ca.key

說明:

  • 【openssl ecparam】表示制作秘鑰。
  • 【-genkey】表示生成一個 EC 秘鑰;
  • 【-name】表示 EC 密碼的算法。
  • 【-out】表示秘鑰的輸出文件。

查看 CA 秘鑰文件:

gmssl ec -in /data/ssl/ca/ca.key

2、制作 CA 【根證書簽名申請】。

輸入 CA 秘鑰文件,輸出 CA 根證書簽名申請文件。

操作過程:驗證 CA 秘鑰口令 => 設置國家名稱 => 設置省份名稱 => 設置城市名稱 => 設置組織機構名稱 => 設置組織單元名稱 => 設置證書名稱 => 設置電子郵件地址和擴展屬性(密碼提示信息和可選的公司名稱)。

$ gmssl req -new -key /data/ssl/ca/ca.key -out /data/ssl/ca/ca.csr

Enter pass phrase for /data/ssl/ca/ca.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) [XX]:ch
State or Province Name (full name) []:sd
Locality Name (eg, city) [Default City]:qd 
Organization Name (eg, company) [Default Company Ltd]:private
Organizational Unit Name (eg, section) []:zhangyi
Common Name (eg, your name or your server's hostname) []:ca
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

說明:

  • 【openssl req】表示制作證書簽名申請。
  • 【-new】表示生成證書請求文件;
  • 【-key】表示秘鑰的輸入文件;
  • 【-out】表示證書簽名申請的輸出文件。

注意:【Common Name】應為 CA 機構的名稱。

查看 CA 證書申請文件:

$ gmssl req -in /data/ssl/ca/ca.csr -noout -text

3、生成 CA 自簽【根證書】,即對簽名申請進行自簽生成證書。

輸入 CA 秘鑰文件、CA 根證書簽名申請,輸出 CA 自簽根證書文件。

$ gmssl x509 -req -days 3650 -sm3 -signkey /data/ssl/ca/ca.key -in /data/ssl/ca/ca.csr -out /data/ssl/ca/ca.pem

Signature ok
subject=C = ch, ST = sd, L = qd, O = private, OU = zhangyi, CN = ca
Getting Private key

說明:

  • 【openssl x509】表示制作自簽證書。
  • 【-req】表示輸入文件的類型是證書簽名申請;
  • 【-days】表示證書的有效期,單位是天;
  • 【-sm3】表示使用 SM3 加密算法進行簽名;
  • 【-signkey】表示簽名秘鑰的輸入文件;
  • 【-in】表示證書簽名申請的輸入文件;
  • 【-out】表示證書的輸出文件。

查看 CA 證書文件:

$ gmssl x509 -in /data/ssl/ca/ca.pem -noout -text

4、導出 CA【 PKCS12 證書】。

輸入 CA 自簽的 CA 證書文件、CA 秘鑰,輸出 CA PKCS12 證書。

操作過程:設置 PKCS12 證書口令。

$ gmssl pkcs12 -export -in /data/ssl/ca/ca.pem -inkey /data/ssl/ca/ca.key -out /data/ssl/ca/ca.p12 -name ca

Enter Export Password:
Verifying - Enter Export Password:

說明:

  • 【openssl pkcs12】表示制作 PKCS12 證書。
  • 【-export 】表示導出 PKCS12 證書;
  • 【-in】表示簽名證書的輸入文件;
  • 【-inkey】表示秘鑰的輸入文件;
  • 【-name】表示 PKCS12 證書的別名;
  • 【-out】表示 PKCS12 證書的輸出文件。

查看 CA PKCS12 證書文件(需要輸入 CA PKCS12 證書口令):

$ gmssl pkcs12 -in /data/ssl/ca/ca.p12 -info
Enter Import Password:
......

Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
......

5、查看 CA 產生的全部文件。

$ ls /data/ssl/ca/
ca.csr  ca.key  ca.p12  ca.pem

1.2.第二階段:制作服務器證書

1、制作服務器【秘鑰】。

$ gmssl ecparam -genkey -name sm2p256v1 -out /data/ssl/server/server.key

說明:

  • 【openssl ecparam】表示制作秘鑰。
  • 【-genkey】表示生成一個 EC 秘鑰;
  • 【-name】表示 EC 密碼的算法。
  • 【-out】表示秘鑰的輸出文件。

查看服務器秘鑰文件:

gmssl ec -in /data/ssl/server/server.key

2、制作服務器【證書簽名申請】。

輸入服務器秘鑰文件,輸出服務器證書簽名申請文件。

操作過程:驗證服務器秘鑰口令 => 設置國家名稱 => 設置省份名稱 => 設置城市名稱 => 設置組織機構名稱 => 設置組織單元名稱 => 設置證書名稱 => 設置電子郵件地址和擴展屬性(密碼提示信息和可選的公司名稱)。

$ gmssl req -new -key /data/ssl/server/server.key -out /data/ssl/server/server.csr

Enter pass phrase for /data/ssl/server/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) [XX]:ch
State or Province Name (full name) []:sd
Locality Name (eg, city) [Default City]:qd
Organization Name (eg, company) [Default Company Ltd]:private
Organizational Unit Name (eg, section) []:zhangyi
Common Name (eg, your name or your server's hostname) []:192.168.216.128
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

說明:

  • 【openssl req】表示制作證書簽名申請。
  • 【-new】表示生成證書請求文件;
  • 【-key】表示秘鑰的輸入文件;
  • 【-out】表示證書簽名申請的輸出文件。

注意:【Common Name】應為服務器的 IP 地址或者 DNS(如:192.168.216.128 或者 localhost)。在 在 Web 容器配置后,當客戶端使用 HTTPS 協議訪問時,如果域名與【Common Name】不一致,則會進行風險提示。

查看服務器證書申請文件:

$ gmssl req -in /data/ssl/server/server.csr -noout -text

3、生成 CA 簽名的服務器【證書】,即 CA 對服務器簽名申請進行簽名生成服務器證書。

輸入 CA 根證書文件、 CA 秘鑰文件、服務器證書簽名申請,輸出 CA 簽名的服務器證書文件。

$ gmssl x509 -req -days 3650 -sm3 -CA /data/ssl/ca/ca.pem -CAkey /data/ssl/ca/ca.key -CAcreateserial -in /data/ssl/server/server.csr -out /data/ssl/server/server.pem

Signature ok
subject=C = ch, ST = sd, L = qd, O = private, OU = zhangyi, CN = 192.168.216.128
Getting CA Private Key

說明:

  • 【openssl x509】表示制作 CA 簽名的證書。
  • 【-req】表示輸入文件的類型是證書簽名申請;
  • 【-days】表示證書的有效期,單位是天;
  • 【-sm3】表示使用 SM3 加密算法進行簽名;
  • 【-CA】表示 CA 根證書的輸入文件;
  • 【-CAkey】表示 CA 秘鑰的輸入文件;
  • 【-CAcreateserial】表示如果 CA 序列號文件不存在自動創建;
  • 【-in】表示證書簽名申請的輸入文件;
  • 【-out】表示證書的輸出文件。

查看服務器證書文件:

$ gmssl x509 -in /data/ssl/server/server.pem -noout -text

使用 CA 證書驗證服務器證書文件:

$ gmssl verify -CAfile /data/ssl/ca/ca.pem /data/ssl/server/server.pem
/data/ssl/server/server.pem: OK

4、導出服務器【 PKCS12 證書】。

輸入 CA 簽名的服務器證書文件、服務器秘鑰,輸出服務器 PKCS12 證書。

操作過程:設置 PKCS12 證書口令。

$ gmssl pkcs12 -export -in /data/ssl/server/server.pem -inkey /data/ssl/server/server.key -out /data/ssl/server/server.p12 -name https_cert

Enter Export Password:
Verifying - Enter Export Password:

說明:

  • 【openssl pkcs12】表示制作 PKCS12 證書。
  • 【-export 】表示導出 PKCS12 證書;
  • 【-in】表示簽名證書的輸入文件;
  • 【-inkey】表示秘鑰的輸入文件;
  • 【-name】表示 PKCS12 證書的別名;
  • 【-out】表示 PKCS12 證書的輸出文件。

查看服務器 PKCS12 證書文件(需要輸入服務器 PKCS12 證書口令):

$ gmssl pkcs12 -in /data/ssl/server/server.p12 -info
Enter Import Password:
......

Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
......

5、查看服務器產生的全部文件。

$ ls /data/ssl/server
server.csr  server.key  server.p12  server.pem

1.3.第三階段:制作客戶端證書(雙向認證時使用)

1、制作客戶端【秘鑰】。

$ gmssl ecparam -genkey -name sm2p256v1 -out /data/ssl/client/client.key

說明:

  • 【openssl ecparam】表示制作秘鑰。
  • 【-genkey】表示生成一個 EC 秘鑰;
  • 【-name】表示 EC 密碼的算法。
  • 【-out】表示秘鑰的輸出文件。

查看客戶端秘鑰文件:

 gmssl ec -in /data/ssl/client/client.key

2、制作客戶端【證書簽名申請】。

輸入客戶端秘鑰文件,輸出客戶端證書簽名申請文件。

操作過程:驗證客戶端秘鑰口令 => 設置國家名稱 => 設置省份名稱 => 設置城市名稱 => 設置組織機構名稱 => 設置組織單元名稱 => 設置證書名稱 => 設置電子郵件地址和擴展屬性(密碼提示信息和可選的公司名稱)。

$ gmssl req -new -key /data/ssl/client/client.key -out /data/ssl/client/client.csr

nter pass phrase for /data/ssl/client/client.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) [XX]:ch
State or Province Name (full name) []:sd
Locality Name (eg, city) [Default City]:qd
Organization Name (eg, company) [Default Company Ltd]:private
Organizational Unit Name (eg, section) []:zhangyi
Common Name (eg, your name or your server's hostname) []:https_client
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

說明:

  • 【openssl req】表示制作證書簽名申請。
  • 【-new】表示生成證書請求文件;
  • 【-key】表示秘鑰的輸入文件;
  • 【-out】表示證書簽名申請的輸出文件。

注意:【Common Name】應為客戶端的統一標識。

查看客戶端證書申請文件:

$ gmssl req -in /data/ssl/client/client.csr -noout -text

3、生成 CA 簽名的客戶端【證書】,即 CA 對客戶端簽名申請進行簽名生成客戶端證書。

輸入 CA 根證書文件、 CA 秘鑰文件、客戶端證書簽名申請,輸出 CA 簽名的客戶端證書文件。

$ gmssl x509 -req -days 3650 -sm3 -CA /data/ssl/ca/ca.pem -CAkey /data/ssl/ca/ca.key -CAcreateserial -in /data/ssl/client/client.csr -out /data/ssl/client/client.pem

Signature ok
subject=C = ch, ST = sd, L = qd, O = private, OU = zhangyi, CN = https_client
Getting CA Private Key

說明:

  • 【openssl x509】表示制作 CA 簽名的證書。
  • 【-req】表示輸入文件的類型是證書簽名申請;
  • 【-days】表示證書的有效期,單位是天;
  • 【-sm3】表示使用 SM3 加密算法進行簽名;
  • 【-CA】表示 CA 根證書的輸入文件;
  • 【-CAkey】表示 CA 秘鑰的輸入文件;
  • 【-CAcreateserial】表示如果 CA 序列號文件不存在自動創建;
  • 【-in】表示證書簽名申請的輸入文件;
  • 【-out】表示證書的輸出文件。

查看客戶端證書文件:

$ gmssl x509 -in /data/ssl/client/client.pem -noout -text

使用 CA 證書驗證服務器證書文件:

$ gmssl verify -CAfile /data/ssl/ca/ca.pem /data/ssl/client/client.pem
/data/ssl/client/client.pem: OK

4、導出客戶端【 PKCS12 證書】。

輸入 CA 簽名的客戶端證書文件、客戶端秘鑰,輸出客戶端 PKCS12 證書。

操作過程:設置 PKCS12 證書口令。

$ gmssl pkcs12 -export -in /data/ssl/client/client.pem -inkey /data/ssl/client/client.key -out /data/ssl/client/client.p12 -name https_client

Enter Export Password:
Verifying - Enter Export Password:

說明:

  • 【openssl pkcs12】表示制作 PKCS12 證書。
  • 【-export 】表示導出 PKCS12 證書;
  • 【-in】表示簽名證書的輸入文件;
  • 【-inkey】表示秘鑰的輸入文件;
  • 【-name】表示 PKCS12 證書的別名;
  • 【-out】表示 PKCS12 證書的輸出文件。

查看客戶端 PKCS12 證書文件(需要輸入服務器 PKCS12 證書口令):

$ gmssl pkcs12 -in /data/ssl/client/client.p12 -info
Enter Import Password:
......

Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
......

5、查看客戶端產生的全部文件。

$ ls /data/ssl/client
client.csr  client.key  client.p12  client.pem

2.Web 容器配置 HTTPS 站點

2.1.Tomcat 配置方案

1、安裝並配置 Tomcat 。

 sudo tar zxvf apache-tomcat-9.0.34.tar.gz -C /usr/local
 sudo mv /usr/local/apache-tomcat-9.0.34 /usr/local/tomcat-9.0.34
 sudo gedit /usr/local/tomcat-9.0.34/conf/server.xml

在文件中的增加以下配置並保存(服務器認證):

<Server>
    <Service>  
        <Connector
            port="443" 
            protocol="org.apache.coyote.http11.Http11NioProtocol"
            maxThreads="150"
            SSLEnabled="true"
            keystoreFile="/data/ssl/server/server.p12"
            keystoreType="PKCS12"
            keystorePass="123456a?">
    </Connector>
    </Service>  
</Server>

在文件中的增加以下配置並保存(雙向認證):

<Server>
    <Service>  
        <Connector
            port="443" 
            protocol="org.apache.coyote.http11.Http11NioProtocol"
            maxThreads="150"
            SSLEnabled="true"
            keystoreFile="/data/ssl/server/server.p12"
            keystoreType="PKCS12"
            clientAuth="true"
            truststoreFile="/data/ssl/ca/ca.p12"
            truststoreType="PKCS12"
            truststorePass="123456a?">
    </Connector>
    </Service>  
</Server>

2、啟動/重新啟動 Tomcat 。

$ sudo /usr/local/tomcat-9.0.34/bin/startup.sh
$ sudo /usr/local/tomcat-9.0.34/bin/shutdown.sh && /usr/local/tomcat-9.0.34/bin/startup.sh

2.2.Nginx 配置方案

1、安裝並配置 Nginx 。

$ sudo dnf install make gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
$ tar -zxvf nginx-1.18.0.tar.gz
$ cd nginx-1.18.0
$ ./configure  --with-http_ssl_module
$ make
$ sudo make install
$ sudo gedit /usr/local/nginx/conf/nginx.conf

在文件中的增加以下配置並保存:

http {
    server {
        listen       80;
        listen       443 ssl;

        server_name  localhost;

        # 服務器簽名證書文件
        ssl_certificate      /data/ssl/server/server.pem;
        # 服務器秘鑰文件
        ssl_certificate_key  /data/ssl/server/server.key;

        # 開啟客戶端證書認證(雙向認證)
        # ssl_verify_client on; 
        # CA 證書(雙向認證)
        # ssl_client_certificate /data/ssl/ca/ca.pem;
        

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            ...
        }
    }
}

2、啟動/重新啟動 Nginx 服務器。

$ sudo /usr/local/nginx/sbin/nginx
$ sudo /usr/local/nginx/sbin/nginx -s reload

2.3.Apache Httpd 配置方案

1、安裝並配置 Apache Httpd。

$ sudo dnf install httpd
$ sudo dnf install mod_ssl openssl
$ sudo setenforce 0
$ sudo gedit /etc/httpd/conf.d/ssl.conf

在文件中的編輯以下配置並保存:

# 監聽端口
Listen 443 https
# Https 根路徑
DocumentRoot "/var/www/html"
# 服務器域名
ServerName localhost
# 服務器簽名證書文件
SSLCertificateFile /data/ssl/server/server.pem
# 服務器秘鑰文件
SSLCertificateKeyFile /data/ssl/server/server.key

# 開啟客戶端證書認證(雙向認證)
# SSLVerifyClient require  

# CA 證書(雙向認證)
# SSLCACertificateFile  /data/ssl/ca/ca.pem

2、啟動/重新啟動 Apache Httpd 服務器。

$ sudo systemctl start httpd.service
$ sudo systemctl restart httpd.service

3.客戶端配置

3.1.安裝 CA 機構證書

                         第1步

                          第2步

                             第3步

                             第4步

                             第5步

                             第6步

3.2.安裝客戶端 PKCS12 證書(雙向認證使用)

1、參照章節"3.1.安裝 CA 機構證書",安裝 CA 機構證書。

2、安裝客戶端 PKCS12 證書。

                            第1步

                         第2步

                           第3步

                           第4步

                             第5步

                            第6步

Nginx配置SSL證書部署https支持

免費ssl證書申請

申請免費的SSL證書

沃通、阿里雲 申請免費的SSL證書

下載www.iamle.com.zip文件,解壓文件,找到for Nginx.zip解壓,得到2個文件

1_www.iamle.com_bundle.crt ,2_www.iamle.com.key

改個名字www.iamle.com.crt,www.iamle.com.key傳到服務器上備用

找到對應的server,增加
listen          443 ssl;
ssl                     on;
ssl_certificate         /usr/local/nginx/conf/ssl/www.iamle.com.crt;
ssl_certificate_key     /usr/local/nginx/conf/ssl/www.iamle.com.key;
ssl_session_timeout     5m;
ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers             ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers       on;

重新載入nginx配置

# /etc/init.d/nginx  reload

轉換pfx為nginx需要的crt,key

如果已經有一個擴展名為pfx的證書,那么需要轉換使用

# openssl pkcs12 -in www.iamle.com.pfx -nocerts -nodes -out www.iamle.com.key
Enter Import Password: 輸入證書密碼
MAC verified OK

# openssl pkcs12 -in www.iamle.com.pfx -clcerts -nokeys -out www.iamle.com.crt
Enter Import Password: 輸入證書密碼
MAC verified OK

生成2個文件 www.iamle.com.key , www.iamle.com.pfx 復制到你指定的目錄

 

 

 

https://www.jianshu.com/p/983ee30af32c    大佬文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM