• 不断学习才有回报,学无止境!

(转)php对ssl证书的验证

PHP技术和开发 箭翎 2172次浏览 0个评论 扫描二维码
openssl_x509_check_private_key($pems,$key) //返回布尔值
openssl_x509_check_private_key($pems,$key) //返回布尔值
$pem = openssl_x509_parse($pems)           //获取证书后返回详细信息数组**

public function ceshi(){
    if(request()->isPost()){
        $pems = input('post.pems');//证书
        $key = input('post.key');//秘钥
        //验证证书和秘钥是否匹配
    if(openssl_x509_check_private_key($pems,$key)){
        $pem = openssl_x509_parse($pems);
        if($pem['validTo_time_t']-$pem['validFrom_time_t']>
            $status = 1; //正常
        }else{
        $status = 2; //到期
    }
    $data = array(
        'uid' => $this->userinfo['numid'],
        'sign' => $this->Rent->getStr(),//ssl证书唯一标识
        'number' => $pem['serialNumberHex'],//序列号
        'cert' => $pems,//证书
        'private_key' => $key,//私钥
        'issue' => $pem'issuer',//颁发者
        'issue_organization' => $pem'issuer',//颁发组织
        'issue_organization_unit' => '',//颁发组织单元
        'starttime' => $pem['validFrom_time_t'],//生效时间
        'endtime' => $pem['validTo_time_t'],//结束时间
        'commonname' => $pem'subject',//证书颁发对象(CSR中的域名)
        'use_organization' => '',//使用组织
        'use_organization_unit' => '',//使用组织单元
        'city' => '',//所在城市
        'province' => '',//所在省份
        'country' => '',//所在国家
        'dn' => $pem'extensions',//可用域名
        'posttime' => time(),
        'status' => $status,//状态 1-正常,2-到期
    );
    return json($data);
    }
}

箭翎 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明(转)php对ssl证书的验证
喜欢 (5)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址