时间:2021-10-02加入收藏
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);
}
}