|
@@ -38,13 +38,13 @@ class GmService
|
|
|
//泰隆银行公钥
|
|
|
const CGB_PUBLIC_KEY = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE6mJz31IQpqtv42a67pfUe6q6UKUa/Lxf2rzJC4iAK0p3dOooG/d+N2fs6qmzK+7smovqcP7VhA8D+OIvaVjMsw==";
|
|
|
|
|
|
- public function __construct()
|
|
|
+ public static function _initialize()
|
|
|
{
|
|
|
// 初始化加密扩展
|
|
|
- echo "--------php_crypto_init 初始化开始--------\n";
|
|
|
+// echo "--------php_crypto_init 初始化开始--------\n";
|
|
|
$path = "/www/server/php/73/libcryptAPIsm_lnx64.so";
|
|
|
php_crypto_init($path);
|
|
|
- echo "--------php_crypto_init 初始化结束-------\n";
|
|
|
+// echo "--------php_crypto_init 初始化结束-------\n";
|
|
|
}
|
|
|
|
|
|
public static function string2hex($string)
|
|
@@ -73,43 +73,37 @@ class GmService
|
|
|
|
|
|
// echo self::string2hex(base64_decode(self::PUBLIC_KEY));
|
|
|
|
|
|
- $p_hex = self::string2hex(base64_decode(self::PRIVATE_KEY));
|
|
|
- dump($p_hex);
|
|
|
- php_HextoAsc(self::string2hex(base64_decode($p_hex)), $k1);
|
|
|
- dump(compact('k1'));
|
|
|
- exit;
|
|
|
+
|
|
|
//初始化转换密钥信息
|
|
|
php_HextoAsc(self::string2hex(base64_decode(self::PRIVATE_KEY)), $k1);
|
|
|
+ php_HextoAsc(self::string2hex(base64_decode(self::PUBLIC_KEY)), $k2);
|
|
|
+ php_HextoAsc(self::string2hex(base64_decode(self::CGB_PUBLIC_KEY)), $gf_k);
|
|
|
|
|
|
-// php_HextoAsc(self::string2hex(base64_decode(self::PUBLIC_KEY)), $k2);
|
|
|
-// halt(compact('k1', 'k2'));
|
|
|
-// php_HextoAsc(self::string2hex(base64_decode(self::CGB_PUBLIC_KEY)), $gf_k);
|
|
|
-// halt(compact('k1', 'k2', 'gf_k'));
|
|
|
//拼接参数数组
|
|
|
-// $data = [
|
|
|
-// 'appID' => self::$appID,
|
|
|
-// 'seqNO' => $seqNO,
|
|
|
-// 'random' => strtoupper(md5($seqNO)),
|
|
|
-// 'sm2EncryptData' => self::SM2Encrypt($key, $gf_k), //sm2加密key
|
|
|
-// 'sm2Sign' => self::SM2Sign($key, $k2, $k1), //sm2加密key
|
|
|
-// ];
|
|
|
-// dump($data);
|
|
|
-// //拼接签名参数,md5转大写
|
|
|
-// $data['sign'] = self::SM3Crypt($data['random'] . $data['seqNO'] . self::$appSecretKey . $key);
|
|
|
-//
|
|
|
-// dump($data);
|
|
|
-// exit;
|
|
|
-// //发送post接口请求
|
|
|
-// $res = self::https_post(self::$tokenUrl, $data);
|
|
|
-// halt($res);
|
|
|
-// exit();
|
|
|
-//
|
|
|
-// //解密返回token数据
|
|
|
-// $token = self::SM2Decrypt(base64_decode($res['sm2EncryptData']), $k1);
|
|
|
-//
|
|
|
-// self::$token = $token;
|
|
|
+ $data = [
|
|
|
+ 'appID' => self::$appID,
|
|
|
+ 'seqNO' => $seqNO,
|
|
|
+ 'random' => strtoupper(md5($seqNO)),
|
|
|
+ 'sm2EncryptData' => self::SM2Encrypt($key, $gf_k), //sm2加密key
|
|
|
+ 'sm2Sign' => self::SM2Sign($key, $k2, $k1), //sm2加密key
|
|
|
+ ];
|
|
|
+ dump($data);
|
|
|
+ //拼接签名参数,md5转大写
|
|
|
+ $data['sign'] = self::SM3Crypt($data['random'] . $data['seqNO'] . self::$appSecretKey . $key);
|
|
|
+
|
|
|
+ dump($data);
|
|
|
+ exit;
|
|
|
+ //发送post接口请求
|
|
|
+ $res = self::https_post(self::$tokenUrl, $data);
|
|
|
+ halt($res);
|
|
|
+ exit();
|
|
|
+
|
|
|
+ //解密返回token数据
|
|
|
+ $token = self::SM2Decrypt(base64_decode($res['sm2EncryptData']), $k1);
|
|
|
+
|
|
|
+ self::$token = $token;
|
|
|
//返回token
|
|
|
-// return $token;
|
|
|
+ return $token;
|
|
|
}
|
|
|
|
|
|
//业务请求数据
|