日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

openssl证书及配置

發布時間:2025/3/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 openssl证书及配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我的環境是:Linux+Apache+MySQL+PHP

1.下載openssl 及相關依賴

#yum install -y openssl

2.進入目錄 /etc/pki/tls/certs

#cd /etc/pki/tls/certs

3.生成私鑰文件(key)

#openssl genrsa -des3 -out server.key 1024

  在提示后輸入密碼(密碼不顯示)

4.為避免每次服務啟動都需輸入證書密碼,刪除證書密碼

#openssl rsa -in server.key -out server.key

5.用server.key生成證書

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

參數說明:

-new:表示生成一個新證書簽署請求

-key:用到的私鑰文件

-out:證書的保存路徑

-days:證書的有效期限,單位是day(天),默認是openssl.cnf的default_days

  此時根據提示完成以下信息:

Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:Yangzhou Locality Name (eg, city) [Default City]:Yangzhou Organization Name (eg, company) [Default Company Ltd]:No Organizational Unit Name (eg, section) []:New Common Name (eg, your name or your server's hostname) []:No Email Address []:test@test.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:#可直接回車 An optional company name []:#若上面回車,這邊直接回車

6.生成CA的key文件ca.key和根證書ca.crt

#openssl req -new -x509 -keyout ca.key -out ca.crt

  此時提示信息與上一步類似

7.創建為根證書CA所需的目錄及文件

#touch /etc/pki/CA/index.txt

8.指明證書的開始編號

#echo 01 > /etc/pki/CA/serial

9.用CA證書為server.csr證書簽名

#openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ../openssl.cnf

  根據提示輸入y,并回車

10.將ca.crt,server.crt,server.key復制到apache配置目錄

例如:我的是/usr/local/apache/conf/

  我在conf中創建ssl目錄用來存放

# mkdir /usr/local/apache/conf/ssl

11.配置apache

編輯配置文件

vi /usr/local/apache/conf/httpd.conf

引入ssl配置文件,增加支持ssl:

Include conf/extra/httpd-ssl.conf 去掉前面的#

打開ssl模塊

LoadModule ssl_module modules/mod_ssl.so??去掉前面的#

若沒有找到這句,說明需要安裝依賴包:mod_ssl,安裝后就會在modules里面找到:

在apache的源碼目錄中的modules目錄下找loggers,ssl這兩個文件,若沒有則需根據服務器apache版本下載對應版本:http://archive.apache.org/dist/httpd/

將下載好的modules下的loggers,ssl兩個文件放至你的apache的源碼目錄modules下

查找openssl路徑

whereis openssl

進入apache的源碼目錄modules/ssl中

例如我的源碼目錄為/root/package/httpd-2.4.20

cd /root/package/httpd-2.4.20/modules/ssl

執行(/usr/local/apache 是Apache的安裝目錄)

/usr/local/apache/bin/apxs -a -i -c -L/usr/lib/openssl/engines/lib -c *.c -lcrypto -lssl -ldl;

完成后,在apache的安裝目錄下的modules目錄會生成一個mod_ssl.so,同時httpd.conf中會增加一行LoadModule php5_module modules/libphp5.so?

?編輯httpd-ssl.conf文件

vi /usr/local/apache/conf/extra/httpd-ssl.conf

寫入如下內容:

<VirtualHost *:443> ServerAdmin #輸入的郵箱地址 php_admin_value open_basedir "/home/www/:/tmp/:/var/tmp/:/proc/" DocumentRoot #工作目錄,如/home/www ServerName #域名:443 ErrorLog "/home/wwwlogs/error_log"CustomLog "/home/wwwlogs/access_log" combined SSLEngine on SSLCertificateFile /usr/local/apache/conf/ssl/server.crt#證書的路徑 SSLCertificateKeyFile /usr/local/apache/conf/ssl/server.key#證書的路徑 #SSLCertificateChainFile /usr/local/apache/conf/ssl/ca.crt#證書的路徑 Protocols h2 h2c http/1.1 <Directory "/home/www/"> SetOutputFilter DEFLATE Options FollowSymLinks AllowOverride All Order allow,deny Allow from all DirectoryIndex index.php index.html </Directory> </VirtualHost>

保存并重啟Apache

apachectl -k restart

若出現這種報錯

解決:在httpd.conf中找到

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so? ?去掉前面的#

保存并重啟

轉載于:https://www.cnblogs.com/writerW/p/10300847.html

總結

以上是生活随笔為你收集整理的openssl证书及配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。