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

用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 
 
   //生成证书文件
 
    $fp = fopen($cerpath, "w"); 
    fwrite($fp, $csrkey); 
    fclose($fp); 

时间: 2024-10-23 09:32:42

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

完美解决eclipse中导入工程后中文注释出现乱码的问题_unix linux

default encode为UTF-8,显示中文会变成乱码解决方案: Windows- >Pereferences- >Genral->Workspace- >Text   File   Encoding  选项下选择other,可以先尝试系统提供的几个选项,如果不行的话,就手动输入"GBK"即可. 当然,前提是你的系统里得有GBK 字体!

从dataset将数据导入excel中超过5行中文将出现乱码,这是为什么?

问题描述 在网上找的一个函数,从dataset将数据导入excel中超过5行中文将出现乱码,函数如下:publicvoidCreateExcel(DataSetds,stringFileName){HttpResponseresp;resp=Page.Response;resp.ContentType="application/vnd.ms-excel";resp.ContentEncoding=System.Text.Encoding.GetEncoding("UTF-8&

在Word中快速输入大写中文数字的方法

  在一些特殊领域,例如银行等金融部门,经常需要输入中文的数字,一次两次可以,但是输入次数多了未免太麻烦了,这里介绍一种快速输入中文数字的方法: 执行"插入"菜单上的"数字"命令,在弹出的"数字"对话框中输入需要的数字,如输入1231291,然后在"数字类型"里面选择中文数字版式"壹.贰.叁-.. ",单击"确定",中文数字式的"壹佰贰拾叁万壹仟贰佰玖拾壹"就输入好了

C# .net中cookie值为中文时的乱码解决方法

一.cookie的名称或子cookie的名称不能为中文,否则无法获得cookie 这个好办,名称不用中文即可 二.cookie的值为中文时候,取cookie的值会出现乱码 解决办法:存取cookie时候先解码和编码 存cookie,进行编码: cookie.Value = HttpUtility.UrlEncode("上海"); 取cookie时候,进行解码:cookieValue = HttpUtility.UrlDecode(cookie.Value); 另外注意: 取子cooki

Android创建中文名称文件乱码问题

问题描述 在android中创建了文件,当文件名称是中文的时候,文件名称就是乱码了 String fileFullPath = ZMFile.CURRENTROOT + "/你好"+ ".exm";File file = new File(fileFullPath);  究竟怎样转码或者处理才能不乱吗呢?? 解决方案 目前不支持中文.尽量不要用中文.解决方案二:参考一下http://www.iteye.com/topic/509046

如何解决Linux中sqlplus退格和上翻键乱码问题

在Linux下使用sqlplus你会发现:退格键无法正常使用(乱码),上翻键也无法正常显示历史功能, 非常讨厌! 为了让退格键和上翻键在sqlplus里正常发挥它的作用,我们必须安装一个软件 - rlwrap 1. 首先,从http://utopia.knoware.nl/~hlub/uck/rlwrap/下载安装包,上传到linux服务器上 2. 以root用户解压缩安装 tar -zxvf rlwrap-0.37.tar.gz cd rlwrap-0.37 ./configure make

在ASP/ASP.NET 中处理客户端数字证书

asp.net|客户端    客户端数字证书与基本身份验证(Basic).域服务器的摘要式身份验证.集成 Windows 身份认证或自定义的 Form 认证等方式相比,虽然部署和管理方面稍微复杂一些,但安全性也更好一些,应用上也较为灵活.  在 ASP 和 ASP.NET 中处理和识别客户端数字证书是非常容易的,代码如下: ASP (VBscript)语法:     Dim subject   subject=Request.ServerVariables("CERT_SUBJECT"

在ASP及ASP.NET中处理客户端数字证书

客户端数字证书与基本身份验证(Basic).域服务器的摘要式身份验证.集成 Windows 身份认证或自定义的 Form 认证等方式相比,虽然部署和管理方面稍微复杂一些,但安全性也更好一些,应用上也较为灵活. 在 ASP 和 ASP.NET 中处理和识别客户端数字证书是非常容易的,代码如下: ASP (VBscript)语法: Dim subject   subject=Request.ServerVariables("CERT_SUBJECT") 或   subject=Reques

办公常用数字证书的保护

很多文档的来源都是不详的,所以安全性无法保证.Office可以通过数字证书来确认来源的可靠.并通过数字证书对文件或宏进行数字签名.一般来说,数字证书是从商业证书颁发机构和内部安全管理员或信息技术专业人员处获得的.普通用户可以使用Selfcert.exe工具亲自创建数字签名(由于用 Selfcert.exe自己创建的数字证书不是由正式证书颁发机构发行的,使用这种证书添加签名的宏方案将被认为是自签名的方案,这样其他用户有可能无法运行自签名的宏).用数字证书进行宏的签名很简单:打开包含要签名的宏方案的