首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 使用有中文的usb-key做双向ssl认证时遇到500错误 [已结帖,结帖人:very80]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • very80
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-04-28 13:48:25 楼主
    目前服务安装模式:Apache2.2.8(win32)+php5.2.5+win2003,以cgi模式安装,同时还张加上了svn1.4.5(server)+mod_ssl+openssl/0.9.8g,在遇到本问题之前,一切都工作良好.

    项目要求使用已有的USB-KEY来实现身份验证,使用系统时必须插入该USB-KEY,这个硬件证书里,存储着用户的姓名--中文和其他一些信息,配置好了服务器证书,在apache的配置文件里写好了ssl相关配置,在开启必须请求客户端证书(SSLVerifyClient   require)之前,服务器证书已经能够正常工作。

    项目进展到这一步时遇到了麻烦:
    为了完美地解决xml的导出和导入并正确地支持中文,于是便将所有的php、js、css等全部转为了utf8编码,而随后,将ssl客户端证书请求开启后(去掉   SSLVerifyClient   require   的注释),一访问https://127.0.0.1/   就出现500错误,查看apache日志为:

    (22)Invalid   argument:   utf8   to   ucs2   conversion   failed   on   this   string:   REDIRECT_SSL_CLIENT_S_DN_CN=\x8duR\xc7
    [notice]   Child   3052:   Child   process   is   exiting
    [Mon   Apr   28   13:13:28   2008]   [error]   [client   192.168.10.80]   (22)Invalid   argument:   couldn 't   create   child   process:   22:   php-cgi.exe
    [Mon   Apr   28   13:13:28   2008]   [error]   [client   192.168.10.80]   (22)Invalid   argument:   couldn 't   spawn   child   process:   G:/php525/php-cgi.exe

    而如果仅访问htm文件,如   https://127.0.0.1/t.htm   则能够正常显示。

    简单分析,很有可能是php报出来的错,网上到处找了找,据说是php5以后的版本有此问题,也有说是apache2.0版本之前的有此问题,网上有很多反映get中文出错,但是都没有解决办法,还找了些英文的,也没有办法。

    另外,如果是程序本身的编码问题,倒可以简单地通过urlencode处理一下就OK,但是由于是在usb-key里的汉字,没有办法更改。

    尝试过以下一些方法,但是问题依旧:
    1、换php版本为4.4.8
    2、php4.4.8+修改所有的程序编码回gb2312
    3、php5.2.5+程序编码utf8
    4、视图用apache1.3.*,拙,没找到

    这个问题已经好多天时间了,依然没有解决。


    我的问题:
    1、是apache的错,还是php的错?
    2、是版本的错?还是我本身配置的错?
    3、又或者是证书方面使用的问题   ?
    4、怎么解决?
    60  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • x03570227
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-28 13:49:441楼 得分:20
    不会,帮你顶!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • pxiaoli
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-28 13:49:572楼 得分:20
    帮顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • very80
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-28 13:54:363楼 得分:0
    楼下的跟上
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • UltraBejing
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-01 06:02:404楼 得分:20
    该回复于2008-11-05 13:30:35被版主删除
    修改 删除 举报 引用 回复