jaywcjlove / jaywcjlove/reference
请求添加备忘清单: OpenSSL
- Dominant language
- Dockerfile
- Stars
- 15.3k
- Forks
- 2.2k
- Avg merge
- 2h 17m
- Merged PRs (30d)
- 4
Description
生成公钥和私钥
---
### 生成 RSA 密钥
生成 2048 位 RSA 私钥并保存为 KEY1.pem
```bash
$ openssl genrsa -out KEY1.pem 2048
```
生成 4096 位 RSA 私钥,并使用 AES128 加密密钥
```bash
$ openssl genrsa -out KEY2.pem -aes128 4096
```
- 密钥长度必须置于末尾
- 如不指定 `-out ` 参数则默认输出到 stdout
- 也支持以下加密算法
- `-aes128`
- `-aes192`
- `-aes256`
- `-des3`
- `-des`
### 生成 DSA 密钥
生成 DSA 参数文件
```bash
$ openssl dsaparam -out DSA-PARAM.pem 1024
```
用 DSA 参数文件生成 DSA 密钥
```bash
$ openssl gendsa -out DSA-KEY.pem DSA-PARAM.pem
```
将 DSA 参数文件和密钥生成于同一文件
```bash
$ openssl dsaparam -genkey -out DSA-PARAM-KEY.pem 2048
```
### 生成 Elliptic Curve (椭圆曲线)密钥
生成 EC 参数文件
```bash
$ openssl genkey -genparam -algorithm EC -pkeyopt ec_paramgen_curve:secp384r1 -out EC-PARAM.pem
```
用 EC 参数文件生成 EC 密钥
```bash
$ openssl genkey -paramfile EC-PARAM.pem -out EC-KEY.pem
```
直接生成 EC 密钥
```bash
$ openssl genkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -out EC-KEY.pem
```
查看支持的椭圆曲线
```bash
$ openssl ecparam -list_curves
```
推荐的曲线:
- `prime256v1`
- `secp384r1`
- `secp521r1`
分别对应于 `P-256`/`P-384`/`P-521`
检视 RSA、DSA 和 Elliptic Curve (椭圆曲线)的秘钥
---
【WIP】
生成证书签名请求(CSR)和自签名证书
---
【WIP】
检视证书签名请求(CSR)和自签名证书
---
【WIP】
文件格式与格式间转换 (PEM, DER, PFX)
---
【WIP】
另见
---
- [linux-command openssl](https://wangchujiang.com/linux-command/c/openssl.html) _(wangchujiang.com)_
-------
参考的这个cheatsheet
[OpenSSL+Cheat+Sheet+-+v1.7+-+Practical+Networking+.net.pdf](https://github.com/jaywcjlove/reference/files/10045814/OpenSSL%2BCheat%2BSheet%2B-%2Bv1.7%2B-%2BPractical%2BNetworking%2B.net.1.pdf)
Contributor guide
Assessment
This issue has not been assessed yet.