新疆喜乐彩玩法
您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

CentOS下生成自簽名的證書的方法詳解

添加時間:2019-11-15 21:23:48  添加: 思海網絡 
1. 生成自簽名的證書

通常要配置 https 的服務器,都需要一個由正式的 CA 機構認證的 X509 證書。當客戶端連接 https 服務器時,會通過 CA 的共鑰來檢查這個證書的正確性。但要獲得 CA 的證書是一件很麻煩的事情,而且還要花費一定的費用。因此通常一些小的機構會是使用自簽名的證書。也就是自己做 CA,給自己的服務器證書簽名。

這個過程有兩個主要的步驟,首先是生成自己的 CA 證書,然后再生成各個服務器的證書并為它們簽名。 我是用 OpenSSL 來生成自簽名證書的。

第一步是制作 CA 的證書:

openssl genrsa -des3 -out my-ca.key 2048

openssl req -new -x509 -days 3650 -key my-ca.key -out my-ca.crt

這會生成 my-ca.key 和 my-ca.crt 文件,前者存放著使用 my-ca.crt 制作簽名時必須的密鑰,應當妥善保管。而后者是可以公開的。上面的命令為 my-ca.key 設定的有效期為 10 年。

用命令

openssl x509 -in my-ca.crt -text -noout

可以查看 my-ca.crt 文件的內容。

有了 CA 證書之后,就可以為自己的服務器生成證書了:

openssl genrsa -des3 -out mars-server.key 1024

openssl req -new -key mars-server.key -out mars-server.csr

openssl x509 -req -in mars-server.csr -out mars-server.crt -sha1 -CA my-ca.crt -CAkey my-ca.key -CAcreateserial -days 3650

前兩個命令會生成 key、csr 文件,最后一個命令則通過 my-ca.crt 為 mars-server.csr 制作了 x509 的簽名證書。

需要注意的是,在執行上述第二個命令時,Common Name 選項應當輸入的是服務器的域名,否則在用戶通過 https 協議訪問時每次都會有額外的提示信息。

用命令

openssl x509 -in mars-server.crt -text -noout

可以查看 mars-server.crt 文件的內容。

2. 配置 Apache 服務器

首先,創建 /etc/apache2/ssl 目錄,將剛剛制作的 my-ca.crt、mars-server.key 和 mars-server.crt 文件拷貝到這個目錄中。

接著執行命令

a2emod ssl

激活 Apache 的 SSL 模塊,然后在 /etc/apache2/sites-enable/ 中添加虛擬主機,這個過程與添加普通的虛擬主機類似,不同點在于該主機的端口應為 443。配置如下:

NameVirtualHost *:443

<VirtualHost *:443>

ServerName localhost

DocumentRoot /var/www

SSLEngine On

SSLCipherSuite HIGH:MEDIUM

SSLProtocol all -SSLv2

SSLCertificateFile /etc/apache2/ssl/mars-server.crt

SSLCertificateKeyFile /etc/apache2/ssl/mars-server.key

SSLCACertificateFile /etc/apache2/ssl/my-ca.crt

<Directory /var/www>

   Order deny,allow

   Allow from localhost

</Directory>

</VirtualHost>

<VirtualHost *:80>

ServerName localhost

DocumentRoot /var/www

<Directory /var/www>    Order deny,allow

   Allow from localhost

</Directory>

</VirtualHost>

以上配置保證了用戶在訪問 443 和 80 端口時可以看到相同的內容,而僅僅是使用的協議不同。修改好配置后,便可以重啟 Apache 服務器,這時需要輸入 mars-server.key 的密碼。用瀏覽器訪問

https://localhost/

這時應當看到一個彈出對話框,讓你確認是否信任該站點的證書,選擇信任后,便可以查看該站點的內容了。

由于大多數 Apache 服務器都是在服務器啟動時自動啟動,為了避免在啟動 Apache 時輸入密碼,可以用以下命令生成不加密的 mars-server.key 文件:

openssl rsa -in mars-server.key -out mars-server.key.insecure

用新生成的 mars-server.key.insecure 代替原有的 key 文件即可。


關鍵字:CentOS、自簽名、證書、服務器
分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2020 All Rights Reserved.
聯系電話:(0757)22630313、22633833
公司地址: 廣東省佛山市順德區大良國際商業城A區4座3樓106號   郵編:528300
機房7x24小時服務熱線:(0757)23628508、23628509
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站
新疆喜乐彩玩法
江苏快3技巧 打天津麻将技巧 25选7开奖公告 秒速飞艇开奖历史 007球探网足球比分 北京赛车玩法 fushi大乐透中奖规则 spb01体球网即时比分 山东福彩20选5 北京赛车pk10计划下截