jaywcjlove / jaywcjlove/reference

请求添加备忘清单: OpenSSL

Open
#141 5 comments 0 reactions 1 assignee Claimed by @jaywcjlove View on GitHub
request 已有参考资料欢迎参与贡献 已添加 欢迎补充修正
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.