88e31175
zhangqijia
grpc 增加tls, 使用san证书
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
## 证书制作
## ca证书生成流程(在升级版本的GO中已经不支持读取)
使用-subj参数,指定服务器的相关信息,与之前的不同,此时不需要引导输入。
```shell
openssl req \
-x509 \
-nodes \
-newkey rsa:2048 \
-keyout ca.key \
-out ca.crt \
-days 3650 \
-subj "/C=CN/ST=ZheJiang/L=ZheJiang/O=Global/CN=pro2d Security/OU=IT Department/CN=pro2d"
```
### SAN证书生成(使用开启扩展SAN的证书)
生成私钥
```shell
$ openssl genpkey -algorithm RSA -out server.key
```
根据私钥server.key生成证书请求文件server.csr:
```shell
openssl req -new -nodes -key server.key -out server.csr -days 3650 \
-subj "/C=CN/OU=IT/O=Global/CN=pro2d/L=ZheJiang" \
-config openssl.cnf -extensions v3_req
```
验证证书CSR的扩展属性
```shell
$ openssl req -noout -text -in server.csr
```
生成san证书
```shell
$ openssl x509 -req -days 365 -in server.csr -out server.pem \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-extfile openssl.cnf -extensions v3_req
```
* server.csr是前面步骤生成的证书请求文件。
* ca.crt & ca.key 是CA证书文件和key,用来对server.csr进行签名认证。
查看SAN信息在证书内容
```shell
$ openssl x509 -noout -text -in server.pem
```
现在证书已经生成完毕, server.pem 和 server.key正式我们需要的证书和密钥
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
## 一键生成
```shell
$ openssl req \
-x509 \
-nodes \
-newkey rsa:2048 \
-keyout keys/ca.key \
-out keys/ca.crt \
-days 3650 \
-subj "/C=CN/ST=ZheJiang/L=ZheJiang/O=Global/CN=pro2d Security/OU=IT Department/CN=pro2d"
$ openssl genpkey -algorithm RSA -out keys/server.key
$ openssl req -new -nodes -key keys/server.key -out keys/server.csr -days 3650 -subj "/C=CN/OU=IT/O=Global/CN=pro2d/L=ZheJiang" -config keys/openssl.cnf -extensions v3_req
$ openssl x509 -req -days 365 -in keys/server.csr -out keys/server.pem -CA keys/ca.crt -CAkey keys/ca.key -CAcreateserial -extfile keys/openssl.cnf -extensions v3_req
```
|