搭建商用密碼 HTTPS服務 真正全網最完整方案

2021-10-08 20:14:55 字數 2847 閱讀 2864

環境:linux

系統版本:centos7 64位

在安裝nginx前首先要確認系統中安裝了gcc、pcre-devel、zlib-devel、openssl-devel

安裝命令:

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

nginx_tassl 2023年6月版本有誤,後面解釋。

這個是可用的版本

1.首先在linux系統中安裝tassl

(1) 安裝過程

tar xvf tassl-1.1.1b-0.8.tar.gz

cd tassl-1.1.1b-0.8

chmod u+x ./config

./config --prefix=/root/lib_r/tassl

make

make install

(2) 執行、測試過程

進入安裝目錄,除了標準的openssl庫和標頭檔案外,還會有tassl_demo的例子目錄

cd /root/lib_r/tassl/tassl_demo

a) cert目錄:

包含生成測試證書的指令碼gen_sm2_cert.sh

生成測試證書目錄certs

./ gen_sm2_cert.sh

b) crypto目錄:

包含測試國密演算法的示例進行編譯測試

./mk.sh

c) ssl目錄:

包含國密ssl通訊的客戶端和服務端進行編譯測試

./mk.sh

d)執行成功後

/root/lib_r/tassl/tassl_demo/cert/certs 目錄下應有如下證書

2.安裝nginx伺服器

(1) 安裝過程

解壓檔案

yum install -y unzip zip

unzip nginx_tassl.zip

賦予許可權

chmod 777 -r nginx_tassl

進入nginx_tassl目錄,執行設定和編譯安裝命令

安裝完成後,賦予許可權

chmod 777 -r /root

修改nginx配置

cd /root/nginx/conf

vi nginx.conf

根據修改內容

#/簽名證書/

ssl_certificate_key /root/lib_r/tassl/tassl_demo/cert/certs/ss.key;

#/簽名私鑰/

ssl_enc_certificate /root/lib_r/tassl/tassl_demo/cert/certs/se.crt;

#/加密證書/

ssl_enc_certificate_key /root/lib_r/tassl/tassl_demo/cert/certs/se.key;

#/加密私鑰/

(2) 啟動nginx

cd /root/nginx/sbin

./nginx

檢視nginx狀態

ps -ef | grep nginx

如圖顯示則啟動成功

關閉nginx

./nginx -s stop

重啟nginx

./nginx -s reload

(3) 可能出現的問題

2023年6月作者提供的資源,可能由於未更新全部資源,導致編譯時出現如下問題並導致編譯失敗。

(1) 密信瀏覽器

如果第一次連線失敗,那麼密信瀏覽器會嘗試國際演算法,導致以後的連線都會使用國際演算法,無法成功。此時需要在瀏覽器設定中,清楚瀏覽資料,進行清楚所有的資料,那麼瀏覽器在下一次再進行連線時,會首先嘗試國密演算法。

(2) 360瀏覽器

(3)訪問 https://ip 即可

下圖是使用密信瀏覽器的截圖,360瀏覽器一直讓win10系統重啟。

樓主踩坑踩了幾十個,翻閱了大量資料才終於成功,分享給大家,希望我國技術盡快超越美帝。

早日實現共同富裕,世界人民大團結萬歲!

自製證書搭建https服務

第一步,自製ca證書和server證書,私鑰 自製ca私鑰 openssl genrsa des3 out ca.key 4096 自製ca證書 openssl req new x509 days 3650 key ca.key out ca.crt 自製server私鑰,生成免密碼版本 opens...

搭建https服務 部署服務(2)

上一節介紹了htpps協議,以及獲取htpp證書的方法。這一節將介紹如何部署htpps服務。這邊以常用的linux nginx為例。1.首先將在startssl獲取的證書,上傳至伺服器。2.修改nginx的配置,並且重啟nginx,重啟時需要輸入證書密碼。nginx配置如下 server 3.將ht...

nginx搭建https伺服器

https hypertext transfer protocol over secure socket layer 是以安全為目標的http通道,簡單來講就是http的安全版。即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl。它是乙個uri scheme 抽象...