本篇內(nèi)容主要講解“CentOS下怎么生成自簽名的證書(shū)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“CentOS下怎么生成自簽名的證書(shū)”吧!
1. 生成自簽名的證書(shū)
通常要配置 https 的服務(wù)器,都需要一個(gè)由正式的 CA 機(jī)構(gòu)認(rèn)證的 X509 證書(shū)。當(dāng)客戶(hù)端連接 https 服務(wù)器時(shí),會(huì)通過(guò) CA 的共鑰來(lái)檢查這個(gè)證書(shū)的正確性。但要獲得 CA 的證書(shū)是一件很麻煩的事情,而且還要花費(fèi)一定的費(fèi)用。因此通常一些小的機(jī)構(gòu)會(huì)是使用自簽名的證書(shū)。也就是自己做 CA,給自己的服務(wù)器證書(shū)簽名。
這個(gè)過(guò)程有兩個(gè)主要的步驟,首先是生成自己的 CA 證書(shū),然后再生成各個(gè)服務(wù)器的證書(shū)并為它們簽名。 我是用 OpenSSL 來(lái)生成自簽名證書(shū)的。
第一步是制作 CA 的證書(shū):
openssl genrsa -des3 -out my-ca.key 2048
openssl req -new -x509 -days 3650 -key my-ca.key -out my-ca.crt
這會(huì)生成 my-ca.key 和 my-ca.crt 文件,前者存放著使用 my-ca.crt 制作簽名時(shí)必須的密鑰,應(yīng)當(dāng)妥善保管。而后者是可以公開(kāi)的。上面的命令為 my-ca.key 設(shè)定的有效期為 10 年。
用命令
openssl x509 -in my-ca.crt -text -noout
可以查看 my-ca.crt 文件的內(nèi)容。
有了 CA 證書(shū)之后,就可以為自己的服務(wù)器生成證書(shū)了:
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
前兩個(gè)命令會(huì)生成 key、csr 文件,最后一個(gè)命令則通過(guò) my-ca.crt 為 mars-server.csr 制作了 x509 的簽名證書(shū)。
需要注意的是,在執(zhí)行上述第二個(gè)命令時(shí),Common Name 選項(xiàng)應(yīng)當(dāng)輸入的是服務(wù)器的域名,否則在用戶(hù)通過(guò) https 協(xié)議訪問(wèn)時(shí)每次都會(huì)有額外的提示信息。
用命令
openssl x509 -in mars-server.crt -text -noout
可以查看 mars-server.crt 文件的內(nèi)容。
2. 配置 Apache 服務(wù)器
首先,創(chuàng)建 /etc/apache2/ssl 目錄,將剛剛制作的 my-ca.crt、mars-server.key 和 mars-server.crt 文件拷貝到這個(gè)目錄中。
接著執(zhí)行命令
a2emod ssl
激活 Apache 的 SSL 模塊,然后在 /etc/apache2/sites-enable/ 中添加虛擬主機(jī),這個(gè)過(guò)程與添加普通的虛擬主機(jī)類(lèi)似,不同點(diǎn)在于該主機(jī)的端口應(yīng)為 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>
以上配置保證了用戶(hù)在訪問(wèn) 443 和 80 端口時(shí)可以看到相同的內(nèi)容,而僅僅是使用的協(xié)議不同。修改好配置后,便可以重啟 Apache 服務(wù)器,這時(shí)需要輸入 mars-server.key 的密碼。用瀏覽器訪問(wèn)
https://localhost/
這時(shí)應(yīng)當(dāng)看到一個(gè)彈出對(duì)話(huà)框,讓你確認(rèn)是否信任該站點(diǎn)的證書(shū),選擇信任后,便可以查看該站點(diǎn)的內(nèi)容了。
由于大多數(shù) Apache 服務(wù)器都是在服務(wù)器啟動(dòng)時(shí)自動(dòng)啟動(dòng),為了避免在啟動(dòng) Apache 時(shí)輸入密碼,可以用以下命令生成不加密的 mars-server.key 文件:
openssl rsa -in mars-server.key -out mars-server.key.insecure
用新生成的 mars-server.key.insecure 代替原有的 key 文件即可。
到此,相信大家對(duì)“CentOS下怎么生成自簽名的證書(shū)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞標(biāo)題:CentOS下怎么生成自簽名的證書(shū)-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://www.chinadenli.net/article38/cciisp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、用戶(hù)體驗(yàn)、服務(wù)器托管、企業(yè)建站、網(wǎng)站營(yíng)銷(xiāo)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容