zl程序教程

您现在的位置是:首页 >  其它

当前栏目

.NetCore3.1 gRPC pem证书使用

使用 证书 grpc pem
2023-06-13 09:15:42 时间

一、概要

本文章主要讲述pem文件在gRPC中的应用,本文章所应用的程序版本是.net core3.1。在这里向大家分享一下,避免踩坑。

二、简介

  1. 什么是pem文件?
  2. 如何生成pem文件?
  3. 如何校验生成好的pem文件?
  4. 如何应用到项目里?

三、主要内容

什么是pem文件?

pem文件是一个文件格式,存储证书(cacert.pem)和密钥(privkey.pem)pem 实质上是 Base64 编码的二进制内容,再加上开始和结束行。应用于ssl加密。

-----BEGIN CERTIFICATE-----
MIID9jCCAt6gAwIBAgIJAItu+rOsWwQ0MA0GCSqGSIb3DQEBCwUAMIGPMQswCQYD
VQQGEwJjbjERMA8GA1UECAwIc2hhbmdoYWkxETAPBgNVBAcMCHNoYW5naGFpMQ8w
DQYDVQQKDAZqdXN0ZXIxDzANBgNVBAsMBmp1c3RlcjESMBAGA1UEAwwJbG9jYWxo
b3N0MSQwIgYJKoZIhvcNAQkBFhV6aHV6aGVuNzIzNzIzQDE2My5jb20wHhcNMjAw
ODA4MTUzOTE2WhcNMjMwODA4MTUzOTE2WjCBjzELMAkGA1UEBhMCY24xETAPBgNV
BAgMCHNoYW5naGFpMREwDwYDVQQHDAhzaGFuZ2hhaTEPMA0GA1UECgwGanVzdGVy
MQ8wDQYDVQQLDAZqdXN0ZXIxEjAQBgNVBAMMCWxvY2FsaG9zdDEkMCIGCSqGSIb3
DQEJARYVemh1emhlbjcyMzcyM0AxNjMuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAwY0KuSZY/PZitcQvmcMwGMvIdr+1wSU4sO3FJ0ttwu1IJdKO
hm3ig/7KY7pPphBeVCvlD900PFpP1HIY+/3c4nv2yHkm+NEt9yV6+PlB1ds6cpne
H+uCLnI56PCH55zwWdbT7Gan/BUg1HVetMjLlWDj8JfsjianYzbtIQUQeyps28X3
ay0mfFAe7N/ZZhnyryzADIpVTFtdvtAtbC2IFYZpk3+BbQ792s49QuebW2HMoYYF
i6HZRBY9Zhz/jsozGwxgTmZABZXAcECu0IRj4zeFp37XcJCTJrnx3gqjLEciIYey
2SDU668fqPZ6DOtsFtYXtNUcY3mexO96f6Ca3wIDAQABo1MwUTAdBgNVHQ4EFgQU
idK+6WALPNkuHP11+nKjcweTzFYwHwYDVR0jBBgwFoAUidK+6WALPNkuHP11+nKj
cweTzFYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEASGcUkYfs
fY2idTcbbITt8IY8Kd5HbZ9qj63TrHwxIrQGkr/MBbQvG4JDgU6LAgm5+MvJ4T5h
08BQa6ld8irZ/5tpwrvqVj19Fub3/8tHYDnv5XQvJR+KV2ob9XJdvea9B0D57/pU
njmh8oBRzn54PcJfXrOJpOQCa/ZfFjd83gZY8Ax7fFkS3gaMyOzZmxYy4Rz5uZd3
avnrVcNGJrvX0/uOG/eMBRtInm/Q40M1HwwwO7SdkQj0GupMtzViESi/kjlkr3/e
1tHHWjs3kZNY1Kz6GuTVccQ5GYRi0/i2trv+ZatfMsmLlcr2c/f3RUTF+LqBLuKi
Y2Q3B9IR2C82JA==
-----END CERTIFICATE-----

-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAwY0KuSZY/PZitcQvmcMwGMvIdr+1wSU4sO3FJ0ttwu1IJdKO
hm3ig/7KY7pPphBeVCvlD900PFpP1HIY+/3c4nv2yHkm+NEt9yV6+PlB1ds6cpne
H+uCLnI56PCH55zwWdbT7Gan/BUg1HVetMjLlWDj8JfsjianYzbtIQUQeyps28X3
ay0mfFAe7N/ZZhnyryzADIpVTFtdvtAtbC2IFYZpk3+BbQ792s49QuebW2HMoYYF
i6HZRBY9Zhz/jsozGwxgTmZABZXAcECu0IRj4zeFp37XcJCTJrnx3gqjLEciIYey
2SDU668fqPZ6DOtsFtYXtNUcY3mexO96f6Ca3wIDAQABAoIBAGZPuxJiLfoR993j
hdH+9qa02hPDhT1DArOsDGKYIb4/lbrAkayH24wwnCWZb871qhdOWLhJEvqwNrCz
W3ehGyjxpGMWf75ZPLX/LwD7KYz1ZPD9Wwh+goMwyGHU+9I4CGlFASNepH/BX2hP
Xq+r0Mn2vKcKd/Ywgp0UhMbGmY6w1AOuOvrsV7+sMFauNaJqRnULc98VNPZHCOdC
N/aDAhz0WwYXuZCBVIIYaI/gutwb0haOtlx6VMDTG9tZKjFPHz2xbpFNc90NuV0C
G27aDw1pBstfU5oIHVwXXiR4zFAdNBfz0Udlnru+F4WA8J+kzdb/M3X+CSenX++C
NU/lgsECgYEA5eXgqcCwT9DP+xbD02qj8aVvnlWAInnhHByB7aa67p4RwjccRMPp
iMmsgzneF+Ej9OZ5qvfk0EAwvRLoO3J1NAhOtWxYDN/9G2pDekA2r4VRvsmU0JpU
gigC4es09X9ENd42y3vP/EdYuPCfdiXlnkSm8XIhbQXTB6lWneW+qb8CgYEA14a3
aoV+HKwMP3PWdGxrgv2AjyyQfZCkon7ZYyt0aafiUQRMH+fmbGNoqZ7pfwIJTP6P
yXM9r/+LhQ0QNJXO7dlqEPzoysdpJAvWlW161XvY5wu+czfmAspgSorZCtSdvfzd
GUPrFRCEGraIjflS3f+brZI5yp8F7WPtEXdJFuECgYEAuW9ofcQc8uRdPgyou9ki
kAF/PNl+V1Cz0Lb13jlEQsBhVqSZOqZDsr/pVJfSmrRRCnL05IC7oXaFWZzskTbL
bsLcqd3QT+JECF74Op2c/oqs2xVB4dj6HVokqRHNT8/ttv2ceRlPNBBgchw0o1oC
El0Rw2Lpr0SpaV6frRDpb4UCgYEAkZSh2AYLxXpBW6r3NPT3OifZ6twDTY2iZ1Cf
rmjv3V5VdLweX37ZGmWbkNeSiQPrHGLm5QA+rt9CcsD8LUjz2Z1+E7OB21cPIhYN
ACpPSly5indYUaN0bnYczL01Fie/1VE0V5iU9kmNsi2R17SN0P6TPY8EEmWQL2XM
AHw+loECgYEA5W85G7PjCxbg3Zz/WFDlJO7NhJvW/zD8YP6Y04D7x/tz2V8ZfVni
wmdoFCmFoq5vmBzaGmioinHOOGLSBPk87gC9VuysM5xNlVlfUFQC89B7n3HKfvUe
BqHC6Ic6xVnGhomQQFua4RfzqM0FK1lKAp9N7O8W9r3r+9QMPf7dHiE=
-----END RSA PRIVATE KEY-----

如何生成pem文件?

首先得安装OpenSSL软件包openssl。

  • 官网下载:openssl.org/source/
  • 第三方下载:oomake.com/download/ope

安装完成之后,大致分为以下几步:

安装路径 D:\OpenSSL-Win64\bin,然后找到openssl.exe双击打开即可然后输入以下命令。

1.生成密钥privkey.pem文件

genrsa -des3 -out privkey.pem 2048 //生成一个2048位的密钥,同时有一个des3方法加密的密码。

genrsa -out privkey.pem 2048 //无密码(推荐)

2.生成证书

req -new -key privkey.pem -out cert.csr(二选一)

生成证书会使用到privkey.pem最好放在同级目录下,这里将生成一个新的文件cert.csr,即一个证书请求文件,你可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书。

req -new -x509 -key privkey.pem -out cacert.pem -days 1095(二选一)

申请机构和颁发机构都是自己。就可以用这个命令来生成证书。

如何校验生成好的pem文件?

校验证书文件是否合法,解析成功之后可以看到生成的时候填写的内容

SSL证书校验工具-中国数字证书CHINASSLwww.chinassl.net

校验证书和私钥是否匹配

校验SSL与KEY/CSR文件是否匹配工具-中国数字证书CHINASSLwww.chinassl.net

如何应用到项目里?

项目能正常跑起来可以证明应用方式没错。