80端口-80勃客♂
80端口悄悄提示:数据载入中……  
80端口悄悄提示:数据载入中……
时间记忆
80端口悄悄提示:数据载入中……
勃客管理
80端口悄悄提示:数据载入中……
用户公告
80端口悄悄提示:数据载入中……
我的相册
最新日志
80端口悄悄提示:数据载入中……
最新评论
80端口悄悄提示:数据载入中……
最新回复
80端口悄悄提示:数据载入中……
我的好友
站点信息
80端口悄悄提示:数据载入中……
 
2008-3-5 15:11:00
PHP的OpenSSL函数

介绍
  这个模块用OpenSSL函数为了产生和验证签名和加密解密数据。PHP的OpenSSL现在不支持OpenSSL的一些特征, 在未来可能被增加。

需求
  为了用OpenSSL函数,你需要安装OpenSSL包。 PHP-4.0.4 pl1 需要OpenSSL>=0.9.6, 但是 PHP-4.0.5需要 OpenSSL>=0.9.5。
  在PHP中用OpenSSL你必须编译PHP --with-openssl[=DIR]。
  Win32用户:为了在windoes环境中能用OpenSSL模块,你必须从PHP/Win32二进制包的DLL文件夹中复制libeay32.dll文件到windoes系统中的SYSTEM32文件夹中。
  另外,如果你计划用‘钥匙’和‘证书签名’函数,你需要在你的系统上安装有效的openssl.cnf。从PHP4.3.0起,Win32二进制分发在openssl文件夹中已经包括了一个openssl.cnf样本配置文件。如果你用PHP4.2.0或更迟的版本或这个文件不存在,你能从OpenSSL主页获得它或更新PHP到PHP4.3.0版本以上。

  Win32用户: PHP 将寻找 openssl.cnf 使用下列各项逻辑:
  ●如果设置OPENSSL_CONF 环境变量,将使用与配置文件一样的路径 ( 包括 filename) 。
  ●如果设置SSLEAY_CONF 环境变量,将使用与配置文件一样的路径 ( 包括 filename) 。
  ●文件 openssl.cnf 将假设在默认证书区域中被发现,当编译openssl DLL的时候被配置。通常默认的文件名是 c:\ usr\local\ssl\openssl.cnf 。
  在你安装中,你决定是否在 c:\ usr\local\ssl\openssl.cnf中或是在其它地方安装配置文件和使用环境变量 ( 或者在每个虚拟主机上)定位配置文件。 注意:如果在脚本中用函数临时配置路径,那么它将可能忽略默认的安装配置路径。

资源类型

钥匙/证书 参数
  相当多的 openssl 函数需要一个钥匙或一个证书参数。PHP 4.0.5和更早的版本必须使用openssl_get_xxx函数返回一个钥匙或证书资源。以后版本可使用下列方法之一:

●证书

1、从openssl_x509_read()函数返回一个 X.509 资源;

2、字符串满足这格式 file://path/to/cert.pem; 那个指定的文件必须是一个PEM格式编码的证书;

3、字符串包含PEM编码的证书内容。

●公众/私人 钥匙

1、从openssl_get_publickey()函数或openssl_get_privatekey()函数返回一个钥匙资源;

2、一个 X.509资源,仅仅为了公众钥匙;

3、满足这格式的字符串 file://path/to/file.pem - 指定的文件必须包含一个PEM编码的证书/私人钥匙 (它可能包含两者);

4、字符串包含一个PEM编码的证书/钥匙内容;

5、为了私人钥匙,你可能需要用这语法array($key, $passphrase),那个$key代表一个用file://或上面4所述的原文内容符号钥匙,$passphrase代表这个passphrase字符串内容为了私人钥匙。

证书确认

  当调用一个函数的时候将核实一个签字/证书,cainfo参数是一个包含文件的数组和目录名,指定受信任的CA文件的位置。如果一个目录被指定,那么它必须是一个能被openssl 指令使用的正确形成的目录。

80 | 阅读全文 | 回复(0) | 引用通告 | 编辑
发表评论:
80端口悄悄提示:数据载入中……
http://www.waasai.com/blog/f/80/index.html
Link to waasai.com Home