本篇內容主要講解“CentOS下怎么生成自簽名的證書”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“CentOS下怎么生成自簽名的證書”吧!
創新互聯建站是一家專業提供淇濱企業網站建設,專注與網站設計、做網站、HTML5、小程序制作等業務。10年已為淇濱眾多企業、政府機構等服務。創新互聯專業網站制作公司優惠進行中。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下怎么生成自簽名的證書”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯建站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
新聞標題:CentOS下怎么生成自簽名的證書-創新互聯
轉載注明:http://vcdvsql.cn/article38/cciisp.html
成都網站建設公司_創新互聯,為您提供外貿建站、用戶體驗、服務器托管、企業建站、網站營銷、關鍵詞優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯