加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

解决php中openssl pkey_new()构建中文数字证书乱码问题

发布时间:2023-09-27 11:23:03 所属栏目:PHP教程 来源:
导读:用openssl创建证书时, 编码用utf-8, 中文证书出现乱码。经多项测试未能解决。

在apache2.2中创建不成功。 后升级服务器,使用apache2.4+php5.5, 重新执行,成功。

$dn = array(
"countryName"
用openssl创建证书时, 编码用utf-8, 中文证书出现乱码。经多项测试未能解决。

在apache2.2中创建不成功。 后升级服务器,使用apache2.4+php5.5, 重新执行,成功。

$dn = array(   
        "countryName"         => 'Zh', //所在国家名称   
        "stateOrProvinceName" => '北京', //所在省份名称   
        "localityName"        => '北京', //所在城市名称   
        "organizationName"    =>  '北京理房通支付科技有限公司',   //注册人姓名   
        "organizationalUnitName" => '北京理房通支付科技有限公司', //组织名称   
        "commonName"          => '北京理房通支付科技有限公司', //公共名称   
 
    );  
 
print_r( $dn); 
         
$numberofdays = 365;     //有效时长 
      
$cerpath = "./pem.cer";    //生成证书路径   
        
 $res = openssl_pkey_new(); 
 $csr     = openssl_csr_new($dn, $res);    //证书 
 $sscert  = openssl_csr_sign($csr, null, $res, $numberofdays);   //签名 
 
 openssl_x509_export($sscert, $csrkey); //导出证书$csrkey   
//Cuoxin.com 
   //生成证书文件 
 
    $fp = fopen($cerpath, "w");   
    fwrite($fp, $csrkey);   
    fclose($fp);  
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章