Blame view

doc/cret.md 2.01 KB
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
  ```