自建https证书
自建HTTPS证书通常涉及到创建一个自签名的SSL/TLS证书,这个过程可以通过OpenSSL工具来完成。以下是一个基本的步骤来创建自签名的HTTPS证书:
1. 生成CA私钥
首先,你需要生成一个CA(Certificate Authority)的私钥。这个私钥将用于签署服务器证书。使用以下命令生成一个2048位的RSA私钥:
openssl genrsa -des3 -out ca.key 2048
2. 生成CA自签名证书
使用上一步生成的私钥,创建一个自签名的CA证书。这个证书将作为信任链的根证书:
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
3. 生成服务器私钥和证书申请文件(CSR)
为你的服务器生成一个私钥和证书申请文件(CSR)。这个CSR将被发送到CA进行签名:
openssl req -newkey rsa:2048 -nodes -keyout server.key -out server.csr
4. 使用CA根证书签名服务器证书
使用CA的私钥对服务器的CSR进行签名,生成服务器证书:
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
5. 配置服务器使用自签名证书
将生成的服务器证书和私钥配置到你的Web服务器中。例如,如果你使用的是Nginx,配置文件可能如下:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
6. 信任自签名证书
由于自签名证书不是由受信任的CA颁发的,你需要将CA证书添加到客户端的信任存储中。在大多数操作系统中,这意味着将CA证书添加到浏览器或操作系统的信任存储中。