<?php

namespace web\admin\demo\dyn;

class ecc_ukey_ad {
    public static function json_checkecc() {
        $post = new \ciy\post();
        $pubkey = $post->get('pubkey');
        if (empty($pubkey))
            return errjson('请填写公钥');
        $sign = $post->get('sign');
        if (empty($sign))
            return errjson('请填写签名');
        $hash = $post->get('hash');
        if (empty($hash))
            return errjson('请填写hash');
        require_once PATH_ROOT . '../libs/sm/autoload.php';
        $der = base64_decode($pubkey);
        $pubkeyBytes = substr($der, 27);
        $publicKey = '04' . bin2hex($pubkeyBytes);
        $sm2Object = new \Rtgm\sm\RtSm2('base64', true);
        $verifyResult = $sm2Object->verifySign($hash, $sign, $publicKey);
        $ret['msg'] = $verifyResult ? "php验签结果: 验签成功" : "php验签结果: 验签失败";
        return succjson($ret);
    }
}
