From 306304f567e7002de474f731705fd227915c7d43 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Fri, 21 Jan 2022 14:51:30 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=8C=E5=96=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Advanced_EventSignatureVerification.md | 10 ++++++++-- ....md => Advanced_MerchantCertificateSerialNumber.md} | 0 .../Advanced_RequestSensitiveDataEncryption.md | 8 ++++---- .../Advanced_ResponseSignatureVerification.md | 10 ++++++++-- docs/WechatTenpayV3/README.md | 8 ++++---- 5 files changed, 24 insertions(+), 12 deletions(-) rename docs/WechatTenpayV3/{Advanced_MerchantCertSerialNumber.md => Advanced_MerchantCertificateSerialNumber.md} (100%) diff --git a/docs/WechatTenpayV3/Advanced_EventSignatureVerification.md b/docs/WechatTenpayV3/Advanced_EventSignatureVerification.md index a080857e..b7b31966 100644 --- a/docs/WechatTenpayV3/Advanced_EventSignatureVerification.md +++ b/docs/WechatTenpayV3/Advanced_EventSignatureVerification.md @@ -32,7 +32,7 @@ bool ret = client.VerifyEventSignature( ); ``` -需要注意的是,使用该扩展方法前需先下载好平台证书,并存入全局的 `CertificateManager`。有关 `CertificateManager` 的更多介绍,请参阅本文档[《高级技巧 - 如何加密请求中的敏感数据?》](./Advanced_RequestSensitiveDataEncryption.md)的有关章节。 +需要注意的是,使用该扩展方法前需先下载好平台证书,并存入全局的 `CertificateManager`。有关 `CertificateManager` 的更多介绍,请阅读下方有关章节。 --- @@ -47,4 +47,10 @@ if (!ret) Console.WriteLine(error); Console.WriteLine(error.InnerException); } -``` \ No newline at end of file +``` + +--- + +### 通过 `CertificateManager` 管理平台证书信息: + +请参阅本文档[《高级技巧 - 如何加密请求中的敏感数据?》](./Advanced_RequestSensitiveDataEncryption.md)下的同名章节。 \ No newline at end of file diff --git a/docs/WechatTenpayV3/Advanced_MerchantCertSerialNumber.md b/docs/WechatTenpayV3/Advanced_MerchantCertificateSerialNumber.md similarity index 100% rename from docs/WechatTenpayV3/Advanced_MerchantCertSerialNumber.md rename to docs/WechatTenpayV3/Advanced_MerchantCertificateSerialNumber.md diff --git a/docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md b/docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md index 0212813c..43bd7800 100644 --- a/docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md +++ b/docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md @@ -104,7 +104,7 @@ var manager = new InMemoryCertificateManager(); // 为便于后续使用,该 var options = new WechatTenpayClientOptions() { // 其他配置项略 - CertificateManager = manager + PlatformCertificateManager = manager }; var client = new WechatTenpayClient(options); ``` @@ -122,14 +122,14 @@ manager.SetEntry(new CertificateEntry("CRT/CER 证书序列号", "CRT/CER 证书 当然,现在的平台证书离过期还有很久,你也可以选择“偷懒”:提前下载好平台证书,在程序启动时记录一次即可。 -每个请求模型对象会包含一个名为 `WechatpayCertSerialNumber` 的公共字段,本库会根据该字段的值自动尝试在证书管理器中读取证书内容,并完成请求中敏感信息字段加密: +每个请求模型对象会包含一个名为 `WechatpayCertificateSerialNumber` 的公共字段,本库会根据该字段的值自动尝试在证书管理器中读取证书内容,并完成请求中敏感信息字段加密: ```csharp -request.WechatpayCertSerialNumber = "平台证书序列号"; +request.WechatpayCertificateSerialNumber = "平台证书序列号"; client.EncryptRequestSensitiveProperty(request); ``` -对于存在待加密敏感信息字段的请求模型对象而言,如果你不指定 `WechatpayCertSerialNumber` 字段的值,本库会自动从 `CertificateManager` 挑选一个离过期时间最远的证书。 +对于存在待加密敏感信息字段的请求模型对象而言,如果你不指定 `WechatpayCertificateSerialNumber` 字段的值,本库会自动从 `CertificateManager` 挑选一个离过期时间最远的证书。 --- diff --git a/docs/WechatTenpayV3/Advanced_ResponseSignatureVerification.md b/docs/WechatTenpayV3/Advanced_ResponseSignatureVerification.md index 0d1152e0..7e1b17eb 100644 --- a/docs/WechatTenpayV3/Advanced_ResponseSignatureVerification.md +++ b/docs/WechatTenpayV3/Advanced_ResponseSignatureVerification.md @@ -54,7 +54,7 @@ bool ret = RSAUtility.VerifyWithSHA256(publicKey, data, sign); bool ret = client.VerifyResponseSignature(response); ``` -需要注意的是,使用该扩展方法前需先下载好平台证书,并存入全局的 `CertificateManager`。有关 `CertificateManager` 的更多介绍,请参阅本文档[《高级技巧 - 如何加密请求中的敏感数据?》](./Advanced_RequestSensitiveDataEncryption.md)的有关章节。 +需要注意的是,使用该扩展方法前需先下载好平台证书,并存入全局的 `CertificateManager`。有关 `CertificateManager` 的更多介绍,请阅读下方有关章节。 --- @@ -69,4 +69,10 @@ if (!ret) Console.WriteLine(error); Console.WriteLine(error.InnerException); } -``` \ No newline at end of file +``` + +--- + +### 通过 `CertificateManager` 管理平台证书信息: + +请参阅本文档[《高级技巧 - 如何加密请求中的敏感数据?》](./Advanced_RequestSensitiveDataEncryption.md)下的同名章节。 \ No newline at end of file diff --git a/docs/WechatTenpayV3/README.md b/docs/WechatTenpayV3/README.md index fe399d52..c2138e3a 100644 --- a/docs/WechatTenpayV3/README.md +++ b/docs/WechatTenpayV3/README.md @@ -44,9 +44,9 @@ var options = new WechatTenpayClientOptions() { MerchantId = "微信商户号", MerchantV3Secret = "微信商户 v3 API 密钥", - MerchantCertSerialNumber = "微信商户证书序列号", - MerchantCertPrivateKey = "-----BEGIN PRIVATE KEY-----微信商户证书私钥-----END PRIVATE KEY-----", - CertificateManager = manager // 证书管理器的具体用法请参阅下文的高级技巧 + MerchantCertificateSerialNumber = "微信商户证书序列号", + MerchantCertificatePrivateKey = "-----BEGIN PRIVATE KEY-----微信商户证书私钥,即 `apiclient_key.pem` 文件内容-----END PRIVATE KEY-----", + PlatformCertificateManager = manager // 证书管理器的具体用法请参阅下文的高级技巧与加密、验签有关的章节 }; var client = new WechatTenpayClient(options); ``` @@ -90,7 +90,7 @@ else ## 高级技巧 -- [如何查看商户证书序列号?](./Advanced_MerchantCertSerialNumber.md) +- [如何查看商户证书序列号?](./Advanced_MerchantCertificateSerialNumber.md) - [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Advanced_ModelDefinition.md)