一,首先切换到apache2目录下,创建一个CA文件夹
cd /private/etc/apache2/
sudo mkdir CA
sudo chmod 777 CA
二,然后进去CA文件夹
cd CA
三,创建其它文件
mkdir demoCA
mkdir demoCA/newcerts
mkdir demoCA/private
touch demoCA/index.txt
echo “01” >> demoCA/serial
四,输入“openssl genrsa -out server.key 2048”,生成网站服务器公钥文件server.key。
输入openssl req -new -out server.csr -key server.key (Common Name为要申请域名证书的域名)
Country Name (2 letter code) [AU]:CN[这里是国家,CN中国]
State or Province Name (full name) [Some-State]:hangzhou[这里是省份,城市]
Locality Name (eg, city) []:hangzhou[这里是城市]
Organization Name (eg, company) [Internet Widgits Pty Ltd]:hz ltd[这里是公司]
Organizational Unit Name (eg, section) []:rh[这里是组织名称]
Common Name (e.g. server FQDN or YOUR name) []:www.zhuangzhuangyong.com[这个必须填正确,是你的服务器的域名,或者ip]
Email Address []:m13918838204@163.com[这里是我的邮箱]
输入openssl req -new -out server.csr -key server.key -out server.csr -subj
输入“openssl genrsa -out ca.key 2048”,生成CA私钥文件ca.key。
输入“openssl req -new -x509 -days 365 -key ca.key -out ca.crt ”,生成CA证书。
输入openssl req -new -x509 -days 365 -key ca.key -out ca.crt -subj
输入“openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key”,
之后会在bin目录下面看到多了一个server.crt文件,
这就是签名以后的服务器证书。
五,生成 client.key
输入openssl genrsa -out client.key 2048
生成客户证书 client.crt
输入openssl req -new -key client.key -out client.csr
输入openssl req -new -key client.key -out client.csr -subj
将client.crt转换为 .pfx 格式的证书
输入openssl x509 -req -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -out client.crt
将client.crt转换为 .pfx 格式的证书
输入openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
到这里,自签名证书就生成好了,下面就开始配置Apache
六、 备份文件,以防不测,只需要执行一次就可以了
sudo cp httpd.conf httpd.conf.bak
sudo cp httpd-ssl.conf httpd-ssl.conf.bak
sudo cp httpd-vhosts.conf httpd-vhosts.conf.bak
// 提示:下面这行代码不要打,如果后续操作出现错误!才需要使用以下命令,恢复备份过的 httpd.conf 文件
sudo cp httpd.conf.bak httpd.conf
开始修改配置文件