using System;
using System.Collections.Generic;
using Tea;
using Alipay.EasySDK.Kernel.Util;
namespace Alipay.EasySDK.Kernel
{
public class Context
{
///
/// 客户端配置参数
///
private readonly Dictionary config;
///
/// 证书模式运行时环境
///
public CertEnvironment CertEnvironment { get; }
///
/// SDK版本号
///
public string SdkVersion { get; set; }
public Context(Config config, string sdkVersion)
{
this.config = config.ToMap();
SdkVersion = sdkVersion;
ArgumentValidator.CheckArgument(AlipayConstants.RSA2.Equals(GetConfig(AlipayConstants.SIGN_TYPE_CONFIG_KEY)),
"Alipay Easy SDK只允许使用RSA2签名方式,RSA签名方式由于安全性相比RSA2弱已不再推荐。");
if (!string.IsNullOrEmpty(GetConfig(AlipayConstants.ALIPAY_CERT_PATH_CONFIG_KEY)))
{
CertEnvironment = new CertEnvironment(
GetConfig(AlipayConstants.MERCHANT_CERT_PATH_CONFIG_KEY),
GetConfig(AlipayConstants.ALIPAY_CERT_PATH_CONFIG_KEY),
GetConfig(AlipayConstants.ALIPAY_ROOT_CERT_PATH_CONFIG_KEY));
}
}
public string GetConfig(string key)
{
return (string)config[key];
}
}
}