diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs index 1f91832f..919f8b45 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs @@ -6,15 +6,19 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { static TestClients() { + GlobalCertificateStorer = new Settings.InMemoryCertificateStorer(); Instance = new WechatTenpayClient(new WechatTenpayClientOptions() { MerchantId = TestConfigs.WechatMerchantId, MerchantV3Secret = TestConfigs.WechatMerchantSecret, MerchantCertSerialNumber = TestConfigs.WechatMerchantCertSerialNumber, - MerchantCertPrivateKey = TestConfigs.WechatMerchantCertPrivateKey + MerchantCertPrivateKey = TestConfigs.WechatMerchantCertPrivateKey, + CertificateStorer = GlobalCertificateStorer }); } + public static readonly Settings.ICertificateStorer GlobalCertificateStorer; + public static readonly WechatTenpayClient Instance; } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseVerificationTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseVerificationTests.cs index 12b3e907..9b9eef57 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseVerificationTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseVerificationTests.cs @@ -22,13 +22,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests Assert.NotNull(response.WechatpaySignature); TestClients.Instance.DecryptResponseEncryptedData(ref response); - var certificateModel = response.CertificateList.SingleOrDefault(e => e.SerialNumber == response.WechatpayCertSerialNumber); - Assert.NotNull(certificateModel); + foreach (var certificateModel in response.CertificateList) + { + TestClients.GlobalCertificateStorer.Set(certificateModel.SerialNumber, certificateModel.EncryptCertificate.CipherText); + } - // 通过证书验证签名 - Assert.True(TestClients.Instance.VerifyResponseSignatureByCertificate(response, certificate: certificateModel.EncryptCertificate.CipherText)); - // 通过公钥验证签名 - Assert.True(TestClients.Instance.VerifyResponseSignature(response, publicKey: Utilities.RSAUtility.ExportPublicKey(certificateModel.EncryptCertificate.CipherText))); + Assert.True(TestClients.Instance.VerifyResponseSignature(response)); } } }