.NetCore3.1 gRPC pem证书使用
一、概要
本文章主要讲述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。
- 官网下载: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
如何应用到项目里?
项目能正常跑起来可以证明应用方式没错。
相关文章
- 如何使用IP地址申请SSL证书?
- 二维数组使用
- 使用JDK的keytool工具生成JKS证书
- openssl生成证书linux,Linux下使用openssl生成证书「建议收藏」
- Vue 2x 中使用 render 和 jsx 的最佳实践 (1)
- 使用 openssl生成证书「建议收藏」
- AppUploader教程:如何使用该工具制作Apple证书
- SQLServer 错误 26014 无法加载用户指定的证书 [Cert Hash(sha1) “%hs”]。 服务器将不接受连接。 您应该验证是否正确安装了证书。 请参阅联机丛书中的“配置证书以供 SSL 使用”。 故障 处理 修复 支持远程
- PostgreSQL中的template0和template1库使用实战
- CentOS 7.2 下nginx SSL证书部署的方法(使用crt以及key 配置)详解程序员
- 监控JVM内存使用情况,剩余空间小于2M时报警详解编程语言
- Oracle 视图 V$DIAG_SQL_TRACE_RECORDS 官方解释,作用,如何使用详细说明
- 机制使用Redis和Java实现到期机制(redisjava过期)
- 使用Oracle给表增加一列(oracle表增加一列)
- 仅有 0.09% 的 HTTPS 站点使用了 HPKP 证书钉
- / rz 命令使用sz/rz命令更简便地管理Linux系统(linux中sz)
- 在SQLServer中优雅使用列变量(sqlserver列变量)
- MySQL引擎个性化个性化引擎的使用与掌握(mysql个性化引擎)
- Oracle中最佳实践使用链接符号进行SQL合并(oracle中链接符)
- 使用Redis解决重复提交问题(redis 防重复提交)
- 使用Redis实现域名连接及其利弊(redis连接域名)
- 如何明智地使用Oracle的IF功能(oracle if使用)