在ubuntu下怎么用一个private key签发一个证书请求?
时间: 2024-12-02 07:28:57 浏览: 14
GMSSL2.5.4编译生成证书-带说明
在Ubuntu系统下,你可以使用`openssl`工具来创建并签名一个证书请求(Certificate Signing Request, CSR),这个过程通常涉及以下几个步骤,假设你已经有了一个私钥:
1. **生成公钥**: 如果还没有公钥对,首先需要生成:
```
openssl genrsa -out private_key.pem [key_length] # 如需指定密钥长度,默认2048位
```
2. **生成公钥文件(PEM格式)**: 使用私钥生成对应的公钥:
```
openssl rsa -in private_key.pem -pubout -out public_key.pem
```
3. **创建CSR**: 使用私钥和公钥信息生成CSR文件:
```
openssl req -new -key private_key.pem -subj "/CN=your_domain" -out certificate_request.csr
```
这里 `/CN=your_domain` 需替换为你希望在证书中的Common Name。
4. **签名CSR**: 使用私钥签署CSR:
```
openssl x509 -req -days 365 -in certificate_request.csr -signkey private_key.pem -out certificate.crt
```
`-days 365` 设置证书的有效期为一年。
5. **查看或验证CSR内容**:
```
openssl req -text -noout -in certificate_request.csr
```
完成上述操作后,你就得到了一个签名过的证书请求文件(certificate_request.csr)和一个新签发的证书(certificate.crt)。如果要提交给证书颁发机构(CA)审批,就将CSR文件发送给他们。
阅读全文