自签证书是创建用于加密和身份验证的 SSL/TLS 证书的一种方法,尤其适用于测试和内部使用。以下是生成自签证书的一般步骤:
### 1. 生成私钥
```bash
openssl genpkey -algorithm RSA -out private.key -aes256
```
- `openssl genpkey`:OpenSSL 工具生成密钥对。
- `-algorithm RSA`:指定使用 RSA 算法。
- `-out private.key`:将生成的私钥保存到 `private.key` 文件中。
- `-aes256`:使用 AES-256 加密私钥文件,增强安全性。
### 2. 生成证书签名请求 (CSR)
```bash
openssl req -new -key private.key -out server.csr
```
- `openssl req`:生成和处理证书请求。
- `-new`:生成新的证书签名请求。
- `-key private.key`:使用之前生成的私钥。
- `-out server.csr`:将生成的 CSR 保存到 `server.csr` 文件中。
### 3. 生成自签证书
```bash
openssl x509 -req -days 365 -in server.csr -signkey private.key -out server.crt
```
- `openssl x509`:处理证书的命令。
- `-req`:指定使用 CSR 来生成证书。
- `-days 365`:证书有效期为 365 天。
- `-in server.csr`:使用之前生成的 CSR 文件。
- `-signkey private.key`:使用之前生成的私钥对证书进行签名。
- `-out server.crt`:将生成的证书保存到 `server.crt` 文件中。
### 4. 验证证书
```bash
openssl x509 -text -noout -in server.crt
```
- `openssl x509`:处理证书的命令。
- `-text`:以人类可读的格式显示证书内容。
- `-noout`:不输出证书的编码内容,仅显示文本信息。
- `-in server.crt`:要检查的证书文件。
这些命令帮助你生成并管理自签证书,用于加密和验证数据。