mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-09-21 02:58:06 +08:00
test(tenpayv3): 补充基于国密算法的客户端测试
This commit is contained in:
@@ -7,31 +7,41 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
||||
{
|
||||
static TestClients()
|
||||
{
|
||||
var certificateManager = new Settings.InMemoryCertificateManager();
|
||||
Instance = new WechatTenpayClient(new WechatTenpayClientOptions()
|
||||
var manager = new Settings.InMemoryCertificateManager();
|
||||
InstanceUseRSA = new WechatTenpayClient(new WechatTenpayClientOptions()
|
||||
{
|
||||
MerchantId = TestConfigs.WechatMerchantId,
|
||||
MerchantV3Secret = TestConfigs.WechatMerchantSecret,
|
||||
MerchantCertificateSerialNumber = TestConfigs.WechatMerchantCertificateSerialNumber,
|
||||
MerchantCertificatePrivateKey = TestConfigs.WechatMerchantCertificatePrivateKey,
|
||||
PlatformCertificateManager = certificateManager
|
||||
MerchantCertificateSerialNumber = TestConfigs.WechatMerchantRSACertificateSerialNumber,
|
||||
MerchantCertificatePrivateKey = TestConfigs.WechatMerchantRSACertificatePrivateKey,
|
||||
PlatformCertificateManager = manager
|
||||
});
|
||||
InstanceUseSM2 = new WechatTenpayClient(new WechatTenpayClientOptions()
|
||||
{
|
||||
MerchantId = TestConfigs.WechatMerchantId,
|
||||
MerchantV3Secret = TestConfigs.WechatMerchantSecret,
|
||||
SignScheme = Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3,
|
||||
MerchantCertificateSerialNumber = TestConfigs.WechatMerchantSM2CertificateSerialNumber!,
|
||||
MerchantCertificatePrivateKey = TestConfigs.WechatMerchantSM2CertificatePrivateKey!,
|
||||
PlatformCertificateManager = manager
|
||||
});
|
||||
}
|
||||
|
||||
internal static async Task InitializeCertificateManagerAsync()
|
||||
{
|
||||
var request = new Models.QueryCertificatesRequest();
|
||||
var response = await Instance.ExecuteQueryCertificatesAsync(request);
|
||||
var request = new Models.QueryCertificatesRequest() { AlgorithmType = "ALL" };
|
||||
var response = await InstanceUseRSA.ExecuteQueryCertificatesAsync(request);
|
||||
|
||||
if (!response.IsSuccessful())
|
||||
throw new Exception();
|
||||
|
||||
foreach (var certificate in Instance.DecryptResponseSensitiveProperty(response).CertificateList)
|
||||
foreach (var certificate in InstanceUseRSA.DecryptResponseSensitiveProperty(response).CertificateList)
|
||||
{
|
||||
Instance.PlatformCertificateManager.AddEntry(new Settings.CertificateEntry(certificate));
|
||||
InstanceUseRSA.PlatformCertificateManager.AddEntry(new Settings.CertificateEntry(certificate));
|
||||
}
|
||||
}
|
||||
|
||||
public static readonly WechatTenpayClient Instance;
|
||||
public static readonly WechatTenpayClient InstanceUseRSA;
|
||||
public static readonly WechatTenpayClient InstanceUseSM2;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user