mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-17 01:46:20 +08:00
test(tenpayv3): 提供新的响应验签测试用例
This commit is contained in:
parent
36be477673
commit
10c396e48f
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user