首页 > 开发 > Php > 正文

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

2020-06-09 12:33:57
字体:
来源:转载
供稿:网友

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

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

  1. $dn = array(   
  2.         "countryName"         => 'Zh'//所在国家名称   
  3.         "stateOrProvinceName" => '北京'//所在省份名称   
  4.         "localityName"        => '北京'//所在城市名称   
  5.         "organizationName"    =>  '北京理房通支付科技有限公司',   //注册人姓名   
  6.         "organizationalUnitName" => '北京理房通支付科技有限公司'//组织名称   
  7.         "commonName"          => '北京理房通支付科技有限公司'//公共名称   
  8.  
  9.     );  
  10.  
  11. print_r( $dn); 
  12.          
  13.  
  14. $numberofdays = 365;     //有效时长 
  15.       
  16. $cerpath = "./pem.cer";    //生成证书路径   
  17.         
  18.  $res = openssl_pkey_new(); 
  19.  $csr     = openssl_csr_new($dn$res);    //证书 
  20.  $sscert  = openssl_csr_sign($csr, null, $res$numberofdays);   //签名 
  21.  
  22.  openssl_x509_export($sscert$csrkey); //导出证书$csrkey   
  23. //Cuoxin.com 
  24.    //生成证书文件 
  25.  
  26.     $fp = fopen($cerpath"w");   
  27.     fwrite($fp$csrkey);   
  28.     fclose($fp);  

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表