2009年06月17日

服务器端要对客户端POST 上来的签名后的数据进行验证,本来想着用Python调用命令行来实现,不过没有找到相关的命令,后来找了下的封装,果然有的:http://php.chinaunix.net/manual/zh/ref.openssl.php

封装的函数也比较好用。(我还想着要是实在不行就用C语言写个CGI来调用 了)

上面的代码中,首先从客户的证书中获取公钥,然后使用openssl_verify($data, $signature, $pubkeyid);对签名后的数据($signature)进行验证,$date为原始数据,$pubkeyid是从证书中读出的公钥,该函数还可以使用第四个参数,设置一个使用的hash算法,默认使用的是sha1。

被注释掉的代码是使用私钥对数据进行签名。

代码中第一行是获取原始的POST数据内容,也就是获取标准输入的数据。如果是Python写CGI的话可以使用:
data = sys.stdin.read()

代码见:http://code.google.com/p/cocobear/source/browse/trunk/openssl/openssl_php.php

在wordpress日志里加代码一直出错,没办法,只能放在别的地方。

标签 :

随机日志

2 楼了已经

  • 卢松松写于09年06月27日

    牛啊 程序高手!~以后多多交流啊!

  • 冬瓜蛋汤写于09年11月10日

    那个google code的链接没有权限访问哦。。

    能不能开下权限,谢谢!

发表评论

在下面加入你的评论,或者 trackback 从你的博客站点。 订阅本文的评论。

:

:

:

«
»