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); } }