使用openssl给我生成一个Root CA,同时用这个CA给我签发一个域名为www.test.com的tls证书。要求chrome、safri、firebox最新版本在信任CA之后,都能信任这个证书。
时间: 2024-05-14 09:12:44 浏览: 10
生成Root CA:
1. 在命令行中输入以下命令:
```
openssl genrsa -out rootCA.key 2048
```
该命令将生成一个2048位的RSA私钥,保存在名为rootCA.key的文件中。
2. 输入以下命令,生成一个自签名的Root CA证书:
```
openssl req -x509 -new -key rootCA.key -out rootCA.crt -subj "/CN=My Root CA"
```
该命令将生成一个自签名的Root CA证书,保存在名为rootCA.crt的文件中。
签发www.test.com的tls证书:
1. 创建一个OpenSSL配置文件test.com.cnf,内容如下:
```
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C = US
ST = CA
L = San Francisco
O = My Company
OU = My Department
CN = www.test.com
```
2. 生成一个RSA私钥:
```
openssl genrsa -out www.test.com.key 2048
```
3. 生成一个证书签名请求(CSR):
```
openssl req -new -key www.test.com.key -out www.test.com.csr -config test.com.cnf
```
4. 用Root CA证书对CSR进行签名,生成TLS证书:
```
openssl x509 -req -in www.test.com.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out www.test.com.crt -days 365 -sha256
```
该命令将使用Root CA证书对CSR进行签名,生成名为www.test.com.crt的TLS证书。
最后,在服务器上配置使用www.test.com.key和www.test.com.crt即可。在客户端中导入Root CA证书,即可信任该TLS证书。