提交 0a3331af authored 作者: lefull_wl's avatar lefull_wl

通联支付

上级 022a2daf
......@@ -167,7 +167,7 @@ class AllInPayHelper extends BaseHelper
'source' => 1
];
if ($pay_order_info['data']['expired_time'] > 0){
$order_param['ordErexpireDatetime'] = date('Y-m-d H:i:s', $pay_order_info['data']['expired_time']);
$order_param['orderExpireDatetime'] = date('Y-m-d H:i:s', $pay_order_info['data']['expired_time']);
}
// 手续费大于等于 0.01才分账
if (bccomp($pay_standard_money, 1) >= 0) {
......
......@@ -96,6 +96,7 @@ class AllInPayLogic extends BaseLogic
$keys_info = $this->getKeys();
$param['cardNo'] = self::rsaEncrypt($param['cardNo'], $keys_info['data']['public_key'], $keys_info['data']['private_key']);
$param['identityNo'] = self::rsaEncrypt($param['identityNo'], $keys_info['data']['public_key'], $keys_info['data']['private_key']);
$param['cardCheck'] = 7;
$client = self::baseClient();
$result = $client->request("MemberService", "applyBindBankCard", $param);
return self::formatResult($result);
......@@ -143,6 +144,7 @@ class AllInPayLogic extends BaseLogic
{
$keys_info = $this->getKeys();
$param['bankCardNo'] = self::rsaEncrypt($param['bankCardNo'], $keys_info['data']['public_key'], $keys_info['data']['private_key']);
$param["validateType"] = 0;
$client = self::baseClient();
$result = $client->request("OrderService", "withdrawApply", $param);
return self::formatResult($result);
......
......@@ -26,9 +26,16 @@ class RsaUtilLogic extends BaseLogic
static function loadPrivateKey($alias, $path, $pwd)
{
$priKey = file_get_contents($path);
$res = openssl_get_privatekey($priKey, $pwd);
($res) or die('您使用的私钥格式错误,请检查私钥配置');
return $res;
// $res = openssl_get_privatekey($priKey, $pwd);
// openssl_pkcs12_read($priKey, $res, $pwd);
if (openssl_pkcs12_read($priKey, $certs, $pwd)) {
$privateKey = $certs['pkey'];
return $privateKey;
}
die("您使用的私钥格式错误,请检查私钥配置");
// ($res) or die('您使用的私钥格式错误,请检查私钥配置');
// return $res;
}
/**
......@@ -41,10 +48,19 @@ class RsaUtilLogic extends BaseLogic
*/
static function loadPublicKey($alias, $path, $pwd)
{
$priKey = file_get_contents($path);
$res = openssl_get_publickey($priKey);
($res) or die('您使用的私钥格式错误,请检查私钥配置');
return $res;
$certfile = file_get_contents($path);
vendor("AllinPay.IncludeAllinPay");
$x509 = new \File_X509();
$cert = $x509->loadX509($certfile);
$publicKey = $x509->getPublicKey();
return $publicKey;
// $priKey = file_get_contents($path);
// $res = openssl_get_publickey($priKey);
// ($res) or die('您使用的私钥格式错误,请检查私钥配置');
// return $res;
}
/**
......@@ -56,7 +72,28 @@ class RsaUtilLogic extends BaseLogic
*/
static function sign($privateKey, $text)
{
openssl_sign($text, $sign, $privateKey);
$mdSign = base64_encode(hash('md5', $text, true));
openssl_sign($mdSign, $sign, $privateKey);
openssl_free_key($privateKey);
$sign = base64_encode($sign);
return $sign;
}
/**
* 华通加密
* @function htSign
* @datetime 2019-09-17 17:47
* @author Wang Liang<wangliang@lefull.cn>
* @link https://www.lefull.cn/
* @param $arr
* @param $privateKey
* @return string
*/
public static function htSign($arr,$privateKey)
{
ksort($arr);
openssl_sign(json_encode($arr), $sign, $privateKey);
openssl_free_key($privateKey);
$sign = base64_encode($sign);
return $sign;
......@@ -65,43 +102,60 @@ class RsaUtilLogic extends BaseLogic
/**
* 用公钥对签名进行验证
* @param publicKey 公钥
* @param text 签名的原始内容
* @param $signedValue 签名的原始内容
* @param sign 签名
* @return true/false
* @throws Exception
*/
static function verify($publicKey, $text, $sign)
static function verify($publicKey, $signedValue, $sign)
{
$result = (bool)openssl_verify($text, base64_decode($sign), $publicKey, OPENSSL_ALGO_SHA1);
openssl_free_key($publicKey);
return $result;
// $result = (bool)openssl_verify($text, base64_decode($sign), $publicKey, OPENSSL_ALGO_SHA1);
// openssl_free_key($publicKey);
// return $result;
vendor("AllinPay.IncludeAllinPay");
$rsa = new \Crypt_RSA();
$rsa->loadKey($publicKey); // public key
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
$signedValue = base64_encode(hash('md5', $signedValue, true));
$verifyResult = $rsa->verify($signedValue, base64_decode(trim($sign)));
return $verifyResult;
}
public function encrypt($str)
{
$blocks = self::splitCN($str, 0, 30, 'utf-8');
$chrtext  = null;
$encodes  = [];
foreach ($blocks as $n => $block) {
if (!openssl_private_encrypt($block, $chrtext, $this->privateKey)) {
echo "<br/>" . openssl_error_string() . "<br/>";
}
$encodes[] = $chrtext;
}
$chrtext = base64_encode(implode(",", $encodes));
// $blocks = self::splitCN($str, 0, 30, 'utf-8');
// $chrtext  = null;
// $encodes  = [];
// foreach ($blocks as $n => $block) {
// if (!openssl_private_encrypt($block, $chrtext, $this->privateKey)) {
// echo "<br/>" . openssl_error_string() . "<br/>";
// }
// $encodes[] = $chrtext;
// }
// $chrtext = base64_encode(implode(",", $encodes));
$publicKey = $this->publicKey;
openssl_public_encrypt($str, $encrypted, $publicKey);
$chrtext = strtoupper(bin2hex($encrypted));
return $chrtext;
}
public function decrypt($str)
{
// $decodes = explode(',', base64_decode($str));
$strnull = "";
$dcyCont = "";
if (!openssl_public_decrypt(base64_decode($str), $dcyCont, $this->publicKey)) {
echo "<br/>" . openssl_error_string() . "<br/>";
}
$strnull .= $dcyCont;
return $strnull;
// $strnull = "";
// $dcyCont = "";
// if (!openssl_public_decrypt(base64_decode($str), $dcyCont, $this->publicKey)) {
// echo "<br/>" . openssl_error_string() . "<br/>";
// }
// $strnull .= $dcyCont;
$privateKey = $this->privateKey;
$data = hex2bin($str);
openssl_private_decrypt($data, $decrypted, $privateKey);
return $decrypted;
}
static function splitCN($cont, $n = 0, $subnum, $charset)
......
......@@ -20,7 +20,7 @@ class SoaClientLogic extends BaseLogic
private $ssoid = "ime_public_ssoid";
private $_signKey = "";
private $_sysid = "";
private $version = "1.0";
private $version = "2.0";
private $_signMethod = "MD5";
private $privateKey;
private $publicKey;
......@@ -135,7 +135,7 @@ class SoaClientLogic extends BaseLogic
$strRequest = json_encode($request);
$strRequest = str_replace("\r\n", "", $strRequest);
$req['req'] = $strRequest;
$req['ssoid'] = $this->ssoid;
// $req['ssoid'] = $this->ssoid;
if (("" != $this->_signKey || $this->privateKey != null) && "" != $this->_sysid) {
$timestamp = date("Y-m-d H:i:s", time());
$sign = $this->sign($this->_sysid, $strRequest, $timestamp);
......
......@@ -158,7 +158,7 @@ class AllinPayLogic extends BasePayCenterLogic
$apply_res = $this->logic('AllInPay\AllInPay')->applyBindBankCard($api_param);
if (
$apply_res['status'] == 0 || empty($apply_res['data']) || !is_array($apply_res['data']) ||
empty($apply_res['data']['tranceNum']) || empty($apply_res['data']['transDate'])
empty($apply_res['data']['tranceNum'])
) {
return $apply_res;
}
......@@ -587,7 +587,8 @@ class AllinPayLogic extends BasePayCenterLogic
}
// 商户信息
$merchant_fields = [
'pay_merchant_id', 'merchant_type', 'merchant_id', 'merchant_balance', 'pay_channel', 'reserve_amount'
'pay_merchant_id', 'merchant_type', 'merchant_id', 'merchant_balance', 'pay_channel', 'reserve_amount',
// 'table_id','table_name'
];
$merchant_info = $this->helper('PayCenter\PayMerchant')->getOne(
['merchant_id' => $param['merchant_id']], $merchant_fields
......@@ -599,6 +600,21 @@ class AllinPayLogic extends BasePayCenterLogic
return RD('[APL3000]商户信息不存在');
}
$merchant_info = $merchant_info['data'];
// $helperName = 'AllInPay\MemberPersonal';
// $id_field = "allinpay_member_personal_id";
// if($merchant_info["table_name"]=="allinpay_member_company"){
// $helperName = 'AllInPay\MemberCompany';
// $id_field = "allinpay_member_company_id";
//
// }
// $merchant_sub_info = $this->helper($helperName)->getOne([$id_field=>$merchant_info["table_id"]],["sub_acct_no"]);
// if ($merchant_sub_info['status'] == 0) {
// return RD('[APL3000]商户华通子账户信息获取异常');
// }
// if (empty($merchant_sub_info['data']) || empty($merchant_sub_info['data']['sub_acct_no'])) {
// return RD('[APL3000]未开通华通子账户');
// }
// 银行卡信息
$merchant_card_info = $this->helper('PayCenter\PayMerchantCard')->getOne(
['pay_merchant_id' => $merchant_info['pay_merchant_id']], ['pay_merchant_card_id', 'card_no', 'phone', 'bind_status', 'merchant_type']
......@@ -647,7 +663,7 @@ class AllinPayLogic extends BasePayCenterLogic
],
'bankCardPro' => $bank_card_pro,
'bankCardNo' => $merchant_card_info['card_no'],
'withdrawType' => 'T0',
'withdrawType' => 'D0',
// 行业代码
'industryCode' => '1613',
// 行业名称
......@@ -656,7 +672,9 @@ class AllinPayLogic extends BasePayCenterLogic
'source' => 1
];
$api_res = $this->logic('AllInPay\AllInPay')->withdrawApply($api_param);
if ($api_res['status'] == 0) {
if ($api_res['status'] == 0 || empty($api_res["data"]) ||$api_res["data"]["payStatus"] == "fail") {
$api_res['status'] = 0;
$api_res['message'] = $api_res['data']['payFailMessage'];
return $api_res;
}
// 2.写入提现记录表
......@@ -667,7 +685,7 @@ class AllinPayLogic extends BasePayCenterLogic
'amount' => $param['amount'],
'fee' => bcmul($param['fee'], 100),// 前端传
'card_no' => $merchant_card_info['card_no'],
'withdraw_type' => 'T0',
'withdraw_type' => 'D0',
'status' => 1,
'operator_employee_id' => $param['operator_employee_id'],
];
......@@ -853,7 +871,7 @@ class AllinPayLogic extends BasePayCenterLogic
return RD('[APL6000]提现订单获取异常');
}
if (empty($withdraw_data['data'])) {
return RD('成功', $withdraw_data['data'], 1);
return RD('获取数据失败', $withdraw_data['data']);
}
$withdraw_data = $withdraw_data['data'];
// 提现状态已更新
......
-----BEGIN CERTIFICATE-----
MIIEETCCAvmgAwIBAgILAZbujreigQtXe5gwDQYJKoZIhvcNAQEFBQAwgYYxFTATBgNVBAMMDDEwMDAwOTAwMDM0NTEtMCsGA1UECwwk5YyX5Lqs5LmQ5LmO54mp5Lia566h55CG5pyJ6ZmQ5YWs5Y+4MQ8wDQYDVQQKDAZsZWZ1bGwxDzANBgNVBAcMBuWMl+S6rDEPMA0GA1UECAwG5YyX5LqsMQswCQYDVQQGEwJDTjAeFw0xOTA5MTAwMTIzNDVaFw0yOTA5MDcwMTIzNDVaMIGGMRUwEwYDVQQDDAwxMDAwMDkwMDAzNDUxLTArBgNVBAsMJOWMl+S6rOS5kOS5jueJqeS4mueuoeeQhuaciemZkOWFrOWPuDEPMA0GA1UECgwGbGVmdWxsMQ8wDQYDVQQHDAbljJfkuqwxDzANBgNVBAgMBuWMl+S6rDELMAkGA1UEBhMCQ04wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJgEiO0qMDEXdPS8HSs8pVaFOMFGVUBVeUasW7mWn/023DjkdsSBZtUOAWBfGJyTGD0WNn8u79eb37jlpJ+5s5Qjp1sa8f0gd5+6SHx58TtSk5U8nq60ijWw/rZ2TNGa743xfZK+vbTqZIJE9sPG4aDz96vf3RmSZZe7Cyb0Nk27AgMBAAGjggEAMIH9MIG6BgNVHSMEgbIwga+AFEUDE9XsiEhRN+NFjxbBeh5U3fRWoYGMpIGJMIGGMRUwEwYDVQQDDAwxMDAwMDkwMDAzNDUxLTArBgNVBAsMJOWMl+S6rOS5kOS5jueJqeS4mueuoeeQhuaciemZkOWFrOWPuDEPMA0GA1UECgwGbGVmdWxsMQ8wDQYDVQQHDAbljJfkuqwxDzANBgNVBAgMBuWMl+S6rDELMAkGA1UEBhMCQ06CCAis0XT/////MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMr49jmfHYu0Q/4WT6fjHI7JqQXsMA4GA1UdDwEB/wQEAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEAFXibMvHKhuf/yG12lsJO3XCdiIaIQvP/41a82nrjllhw5QV/JCXD3sL9Ny7dBEnb3dEGVXfyADavyiGNLD2qsnnUhzmmHt5rEajAyPkAwuXd4ftk8eY8Xn4o3QkrV1qU4UzjwtNuaKgaujjFbOVYZE2jEgeNTYRyYszMMmL0dEKJGPafKGiCt97N/eK4JYtjG/hAWS251nVUfggkEEBTcgdD3c4tCZMOI9OokEV+N96YFm88ASTf23bvS28y2SalqnR8cWZnOtlNy7gzkH7BToYwyNzr6hPJnGTxXCOoQIHXGrWsbOMEr3dFR/O6AXHJvuZdn0v+7lliHm5BuhmZjw==-----END CERTIFICATE-----
\ No newline at end of file
-----BEGIN CERTIFICATE-----
MIIDxjCCAq6gAwIBAgILAZbujreifGwGvh0wDQYJKoZIhvcNAQEFBQAwbzEcMBoGA1UEAwwTMTkwMTIyMTczOTEwOTE3Nzk3NDEPMA0GA1UECwwG6YCa6IGUMQ8wDQYDVQQKDAbpgJrogZQxDzANBgNVBAcMBuS4iua1tzEPMA0GA1UECAwG5LiK5rW3MQswCQYDVQQGEwJDTjAeFw0xOTAxMjMwNjQ0NDdaFw0yOTAxMjAwNjQ0NDdaMG8xHDAaBgNVBAMMEzE5MDEyMjE3MzkxMDkxNzc5NzQxDzANBgNVBAsMBumAmuiBlDEPMA0GA1UECgwG6YCa6IGUMQ8wDQYDVQQHDAbkuIrmtbcxDzANBgNVBAgMBuS4iua1tzELMAkGA1UEBhMCQ04wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAIcMcvuwcSIC3AC5XT8KwUdeHE9AKoPWH8torbCkMzg7Z3PwEd30vA1hpMusM8CK2tAkznQfl1ivnk7W5+6fuD/pL3ZAA14ris/kbYGzIxuLbyZO5yM/vBieWRXckctkttt9g3gHWoRebkQw22RddKijTooe474u8Yfffrd34VIBAgMBAAGjgeYwgeMwgaAGA1UdIwSBmDCBlYAUKQYjfjb0BKBOQ2eaqSBNQqNmMk+hc6RxMG8xHDAaBgNVBAMMEzE5MDEyMjE3MzkxMDkxNzc5NzQxDzANBgNVBAsMBumAmuiBlDEPMA0GA1UECgwG6YCa6IGUMQ8wDQYDVQQHDAbkuIrmtbcxDzANBgNVBAgMBuS4iua1tzELMAkGA1UEBhMCQ06CCAis0XT/////MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEZ7hFxMJIstBV2Sfybo1XnRVE4dMA4GA1UdDwEB/wQEAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEAcp7JrBa/jG4pYxIMjHopii/1gUORDiKQ7BrWvHoJbfONsZgo9BVA6BktJYvrjNRoxStod5JpqoWQkFeaGP7DEwExKVa0Mh8oG7Z07rCkpAUoTywyiEu6ofX+AXwskO7jALsFvcki4Otf8GNmtxNyFSTyGd79vhRjqB887DqC0k/0q/qUZgZoKJDW65iM2S8bUO7Qyq7VbRIxWa8J0OW5RUIyH+U5dUrf9O/5pqRCBKuPiUNSMm8DuB/LyXVzx/71SbbctAcGR6bOnLG0nUbx+4TxWXKkZKh7G4PzqhJRU1Nj/dqI3w1AOMD03ehTWoztLz/2lhq8oLrqhtAYScMtYg==-----END CERTIFICATE-----
\ No newline at end of file
-----BEGIN CERTIFICATE-----
MIID3jCCAsagAwIBAgILAZbujreifSA4bgAwDQYJKoZIhvcNAQEFBQAwdzEcMBoGA1UEAwwTMTkwMjI3MTQyMzUzMDQ3MzY4MTERMA8GA1UECwwIdG9uZ2xpYW4xETAPBgNVBAoMCGFsbGlucGF5MREwDwYDVQQHDAhzaGFuZ2hhaTERMA8GA1UECAwIc2hhbmdoYWkxCzAJBgNVBAYTAkNOMB4XDTE5MDIyNzA2MzA0MloXDTI5MDIyNDA2MzA0MlowdzEcMBoGA1UEAwwTMTkwMjI3MTQyMzUzMDQ3MzY4MTERMA8GA1UECwwIdG9uZ2xpYW4xETAPBgNVBAoMCGFsbGlucGF5MREwDwYDVQQHDAhzaGFuZ2hhaTERMA8GA1UECAwIc2hhbmdoYWkxCzAJBgNVBAYTAkNOMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQ/J5gn8lSCxTYkFo2P3CZy+R+KmtYRRc9XP1mFpKUDxcJjmz33g/w1o60WoEeBGnPCDRXMm7xE5wf8qHt24A3XDPqJDARz8UGZytKrZpOZmNAeEP+EAAPhMQHlLIEO2FUGBUrxIdnCLXeTX7N602DbFN5Bh/wmPkgl5JNvSuBOwIDAQABo4HuMIHrMIGoBgNVHSMEgaAwgZ2AFKTlkeCqEh6itzV4CuR6jsUBGQUHoXukeTB3MRwwGgYDVQQDDBMxOTAyMjcxNDIzNTMwNDczNjgxMREwDwYDVQQLDAh0b25nbGlhbjERMA8GA1UECgwIYWxsaW5wYXkxETAPBgNVBAcMCHNoYW5naGFpMREwDwYDVQQIDAhzaGFuZ2hhaTELMAkGA1UEBhMCQ06CCAis0XT/////MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKteRNXpJ0AdTHwEHwKKrYvxWeQYMA4GA1UdDwEB/wQEAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEADXzbSu/fDHtMil7JHwdqPPqvIbkEXwmaA9jgwNz/cedxWSWsjWTC0h6LJnF1mtucNNQcVQ3PLDdlCoW3zE5Sk2uk3m+l8BXXC9ND8uIfVUMumxrZts+JxgmLfK5jf3tOKZvx4UDCNfxGnpWzQe99a8nqVl31FJ1V7tuiX5fYg8vJ/THkNrar28cEPJYeoC3nbFgS5UCsr1IO6F7UnU2wDjUsYvwXxlRIRDWUP5ulGfSnjQQfsYvcYkdLpsdEH6GvNaBGiEVpqDwV4bJzv9mhgAjEjBqUC8BtwIHoKeroApJHuUaqOQCnPfjO+GjVj2kv/ydgG57Gwc4c5sBbdzqOKQ==-----END CERTIFICATE-----
\ No newline at end of file
-----BEGIN CERTIFICATE-----
MIIDhzCCAm+gAwIBAgIGASYgtFQUMA0GCSqGSIb3DQEBBQUAMF8xCzAJBgNVBAYTAkNOMSkwJwYDVQQKDCBBbGxpbnBheSBOZXR3b3JrIFNlcnZpY2VzIENvLkx0ZDElMCMGA1UECwwcQWxsaW5wYXkgUHJpbWFyeSBDZXJ0aWZpY2F0ZTAeFw0xMDAxMTIwNDA0MzNaFw0zMDAxMDcwNDA0MzNaMGQxCzAJBgNVBAYTAkNOMSkwJwYDVQQKDCBBbGxpbnBheSBOZXR3b3JrIFNlcnZpY2VzIENvLkx0ZDEqMCgGA1UECwwhQWxsaW5wYXkgRGlnaXRhbCBTaWduIENlcnRpZmljYXRlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUucCNCbCM2KGIRrR+MuzxdBwcsEdIlP+bkP50yufEiIHqAGKleCFIQVhVi23TGEqAcHb1FCOE6RBdXc/E9cfBBYuwfSu6RA50FABJhXBW3aS546tmyaTfOLHOKR+NvFe8Q2cRb+jRKJCP2MGxGpBxifXcfJ1pTFLSWE3DngR96wIDAQABo4HHMIHEMB0GA1UdDgQWBBSmPlA9zXUf5QUXm3bRwDbJXMd1CzCBjgYDVR0jBIGGMIGDgBRkngYunj9vGVSczC9heuKlAX9yZaFjpGEwXzELMAkGA1UEBhMCQ04xKTAnBgNVBAoMIEFsbGlucGF5IE5ldHdvcmsgU2VydmljZXMgQ28uTHRkMSUwIwYDVQQLDBxBbGxpbnBheSBQcmltYXJ5IENlcnRpZmljYXRlggYBJiC0U2AwEgYDVR0TAQH/BAgwBgEB/wIBADANBgkqhkiG9w0BAQUFAAOCAQEAK13MKF5lMKy9tNHYW6bkJWkQcwf39qLagcmkRGZVoSWE8E/2hyDoUP4PYcvxwpx+jA0L4FfAabfpO1VfWP/Cm6k+6NL/zcXKpES/kZfSXcThbTPvH1X2K87/QD0Wzse1dw6+UZbngEEst9MyKLjDrWd8wH3e6RNHZ4khEOE4zxvEKH9Q/fFhIjr+HTmv8LfTS4knR/TSQvBPf/qf4rBPl3lRhR5J4bYt3jQiwl+9vJGYVINCyBI2GwxMCFjgpZka96W6Y5CnjijvCoKG+ZanZY8xr8S4Yp1eZymgtGZ5YbUGp8OTplTlLtfNd06H1WEcdNbeunaYRYLqCHBBKkJjlg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDhzCCAm+gAwIBAgIGASYISh96MA0GCSqGSIb3DQEBBQUAMF8xCzAJBgNVBAYTAkNOMSkwJwYDVQQKDCBBbGxpbnBheSBOZXR3b3JrIFNlcnZpY2VzIENvLkx0ZDElMCMGA1UECwwcQWxsaW5wYXkgUHJpbWFyeSBDZXJ0aWZpY2F0ZTAeFw0xMDAxMDcxMDE3NDBaFw0zMDAxMDIxMDE3NDBaMGQxCzAJBgNVBAYTAkNOMSkwJwYDVQQKDCBBbGxpbnBheSBOZXR3b3JrIFNlcnZpY2VzIENvLkx0ZDEqMCgGA1UECwwhQWxsaW5wYXkgRGlnaXRhbCBTaWduIENlcnRpZmljYXRlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEv2q2/xN5PF0dLn1vhIaVlyWsvJFVFxWgH7sQBObzYbZXOOVzoQpmXuSFOrF0/ol4Okd/2OGfdXUUFSUZfzAQOT1Wmjupec7z2V6l4/PT7aOg6t/MJwU9aW9Iw+AFzM1vnLOXdTlWVLZbtB7IiJ/HhfwBDkyvhp1zNYoAPrwC5QIDAQABo4HHMIHEMB0GA1UdDgQWBBQlWQA//YbuEdfE1yP+PpnokDO8WDCBjgYDVR0jBIGGMIGDgBSBWR3Bvx8To7TrecKhCM4smeabN6FjpGEwXzELMAkGA1UEBhMCQ04xKTAnBgNVBAoMIEFsbGlucGF5IE5ldHdvcmsgU2VydmljZXMgQ28uTHRkMSUwIwYDVQQLDBxBbGxpbnBheSBQcmltYXJ5IENlcnRpZmljYXRlggYBJghKHowwEgYDVR0TAQH/BAgwBgEB/wIBADANBgkqhkiG9w0BAQUFAAOCAQEATzT9GuAmAXLSWpoGc0F7Km7DPMWvSAkq8ckJLftF0/lB3JTR6QT5rsTnQHCdRU7SJX+eLNwhJQdRg34dPJAI2z/HpgGu7tW7pdsHjCjlVae3I64h2OzYBGXdtdRyPmyXfBOgXUfqtH0Fg+1QqsRmcRugywjZH8ZQAVYm0TkVJmdBknPp60bJ2gE/nj0w6VaSL6HMAQ+A7AVne3NDreBXepMHgiFqiqMHrZFBQCgTSR1UwZoT8hwXaaUgwf2h9l/D2QOGCD8G3sRKfMsH3clkehXbprWPNk3uww7dCT0pGz845AyKzCmRK60Z/NOgMG5X+f+JmugsS/bKYwjetXHg9Q==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDhzCCAm+gAwIBAgIGASYISh96MA0GCSqGSIb3DQEBBQUAMF8xCzAJBgNVBAYTAkNOMSkwJwYDVQQKDCBBbGxpbnBheSBOZXR3b3JrIFNlcnZpY2VzIENvLkx0ZDElMCMGA1UECwwcQWxsaW5wYXkgUHJpbWFyeSBDZXJ0aWZpY2F0ZTAeFw0xMDAxMDcxMDE3NDBaFw0zMDAxMDIxMDE3NDBaMGQxCzAJBgNVBAYTAkNOMSkwJwYDVQQKDCBBbGxpbnBheSBOZXR3b3JrIFNlcnZpY2VzIENvLkx0ZDEqMCgGA1UECwwhQWxsaW5wYXkgRGlnaXRhbCBTaWduIENlcnRpZmljYXRlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEv2q2/xN5PF0dLn1vhIaVlyWsvJFVFxWgH7sQBObzYbZXOOVzoQpmXuSFOrF0/ol4Okd/2OGfdXUUFSUZfzAQOT1Wmjupec7z2V6l4/PT7aOg6t/MJwU9aW9Iw+AFzM1vnLOXdTlWVLZbtB7IiJ/HhfwBDkyvhp1zNYoAPrwC5QIDAQABo4HHMIHEMB0GA1UdDgQWBBQlWQA//YbuEdfE1yP+PpnokDO8WDCBjgYDVR0jBIGGMIGDgBSBWR3Bvx8To7TrecKhCM4smeabN6FjpGEwXzELMAkGA1UEBhMCQ04xKTAnBgNVBAoMIEFsbGlucGF5IE5ldHdvcmsgU2VydmljZXMgQ28uTHRkMSUwIwYDVQQLDBxBbGxpbnBheSBQcmltYXJ5IENlcnRpZmljYXRlggYBJghKHowwEgYDVR0TAQH/BAgwBgEB/wIBADANBgkqhkiG9w0BAQUFAAOCAQEATzT9GuAmAXLSWpoGc0F7Km7DPMWvSAkq8ckJLftF0/lB3JTR6QT5rsTnQHCdRU7SJX+eLNwhJQdRg34dPJAI2z/HpgGu7tW7pdsHjCjlVae3I64h2OzYBGXdtdRyPmyXfBOgXUfqtH0Fg+1QqsRmcRugywjZH8ZQAVYm0TkVJmdBknPp60bJ2gE/nj0w6VaSL6HMAQ+A7AVne3NDreBXepMHgiFqiqMHrZFBQCgTSR1UwZoT8hwXaaUgwf2h9l/D2QOGCD8G3sRKfMsH3clkehXbprWPNk3uww7dCT0pGz845AyKzCmRK60Z/NOgMG5X+f+JmugsS/bKYwjetXHg9Q==
-----END CERTIFICATE-----
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论