自签名证书
- 在桌面新建文件夹
mkdir ssl
cd ssl -
生成私钥
sudo openssl genrsa -out server.key 2048
-
生成自签名证书
sudo openssl req -new -sha256 -x509 -days 365 -key server.key -out server.crt
配置Apache服务器
- 证书放入服务器
server.crt和server.key拷贝到/etc/apache2/目录 - 修改配置文件
编辑/etc/apache2/httpd.conf文件
LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
Include /private/etc/apache2/extra/httpd-ssl.conf
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so编辑/etc/apache2/extra/httpd-ssl.conf
去掉下面注释,并修改为上面证书放入的路径
SSLCertificateFile "/private/etc/apache2/server.crt"
SSLCertificateKeyFile "/private/etc/apache2/server.key"
-编辑/etc/apache2/extra/httpd-vhosts.conf
在<VirtualHost *:80> .....</VirtualHost>后面添加一段如下内容:
<VirtualHost *:443>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /private/etc/apache2/server.crt
SSLCertificateKeyFile /private/etc/apache2/server.key
ServerName 192.168.1.6
DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>
- 重启服务器
sudo apachectl restart -
访问服务器
https://192.168.1.6
会提示不安全,因为自己的证书没有加入浏览器的信任列表,继续访问就可以了
4、apache2 网站跟目录
/Library/WebServer/Documents (可以在此目录下面放置需要下载的文件)
作为CA签发证书
1、 生成CA根证书
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
2、创建服务器私钥、生成证书请求文件CSR
openssl genrsa -out server.key 4096
openssl req -new -key server.key -out server.csr
3、自己作为CA签发证书
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -days 365
-
遇到问题
用/System/Library/OpenSSL/openssl.cnf替换目录中的/private/etc/ssl/openssl.cnf文件
mkdir -p ./demoCA/newcerts
touch demoCA/index.txt
touch demoCA/serial
echo 01 > demoCA/serial