一. 证书管理

1. 如何生成证书

(1). 关于阿里云证书和证书的相关概念

 详见:https://www.cnblogs.com/yaopengfei/p/10648151.html (抽时间重新配置一遍)

(2). 本地生成测试证书

 详见:https://docs.microsoft.com/en-us/powershell/module/pkiclient/new-selfsignedcertificate?view=win10-ps

 这里使用案例9:【New-SelfSignedCertificate -Subject "localhost" -TextExtension @("2.5.29.17={text}DNS=localhost&IPAddress=127.0.0.1&IPAddress=::1")】

第三十七节:系统证书管理和gRPC基于数字证书的认证和授权

 

2. 本地计算机证书管理

(1).查看计算已有的证书

 cmd命令行→输入certmgr→可以查看当前用户下的证书以及受信任的颁发机构

(2).证书导入和添加信任

 cmd命令行→输入mmc→进入控制台页面(默认空白)→选中文件中的‘添加/删除管理单元’→将'证书'一项添加进去

导入步骤:

 A.以管理员的身份运行powershell,运行证书生成指令【New-SelfSignedCertificate -Subject "ypf" -TextExtension @("2.5.29.17={text}DNS=localhost&IPAddress=127.0.0.1&IPAddress=::1")】生成成功,如下图: 并在控制台下→个人→证书 找到刚才生成的证书。

第三十七节:系统证书管理和gRPC基于数字证书的认证和授权

 B.将该证书导出:选择需要私钥→输入密码123455→输入名称ypfCert进行导出

 

第三十七节:系统证书管理和gRPC基于数字证书的认证和授权

 C.对该证书添加信任:受信任的根证书颁发机构→证书→进行导入

第三十七节:系统证书管理和gRPC基于数字证书的认证和授权

 

 

二. 基于证书的认证和授权

1. 项目准备

 GrpcServer3:服务端

 MyClient3:客户端(控制台)

2. 服务端配置

 (1).新建cert.proto文件,声明获取证书信息的方法GetCertificateInfo,并对其添加链接引用。

代码如下:

syntax = "proto3";

import "google/protobuf/empty.proto";

package certify;

//Certifier对应CertifierService实现类
service Certifier {
  //获取证书信息的方法
  rpc GetCertificateInfo (google.protobuf.Empty) returns (CertificateInfoResponse);
   //获取证书信息的方法(测试不加校验)
  rpc GetCertificateInfoNoAuth (google.protobuf.Empty) returns (CertificateInfoResponse);
}

message CertificateInfoResponse {
  bool hasCertificate = 1;
  string name = 2;
}
View Code

相关文章: