.NetCore3.1 gRPC pem证书使用

.NetCore3.1 gRPC pem证书使用
juster zhu
juster zhu
Microsoft MVP
2 人赞同了该文章
一、概要
本文章主要讲述pem文件在gRPC中的应用,本文章所应用的程序版本是.net core3.1。在这里向大家分享一下,避免踩坑。

二、简介
什么是pem文件?
如何生成pem文件?
如何校验生成好的pem文件?
如何应用到项目里?
三、主要内容
什么是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。

官网下载:https://www.openssl.org/source/
第三方下载:OpenSSL官方下载 - 码客
安装完成之后,大致分为以下几步:

安装路径 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证书校验工具-中国数字证书CHINASSL
​www.chinassl.net/ssltools/decoder-ssl.html

校验证书和私钥是否匹配

校验SSL与KEY/CSR文件是否匹配工具-中国数字证书CHINASSL
​www.chinassl.net/ssltools/match-ssl-details.html

如何应用到项目里?

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

利用openssl完成X509证书和PFX证书之间的互转

回到顶部
  1、将X509格式的数字证书转换成微软的PFX格式
openssl pkcs12 -export -inkey c:\test\server.key -in server.crt -out c:\test\server.pfx
回到顶部
  2、将微软的PFX数字证书转换成X509格式
openssl pkcs12 -in c:\test\server.pfx -nodes -out c:\test\server.pem # 生成明文所有内容
openssl rsa -in c:\test\server.pem -out c:\test\server.key # 取 key 文件
openssl x509 -in c:\test\server.pem -out c:\test\server.crt # 取证书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值