PHP openssl_x509_checkpurpose OpenSSL 函数
-
定义和用法
openssl_x509_checkpurpose - 验证是否可以为特定目的使用证书 -
版本支持
PHP4 PHP5 PHP7 支持 支持 支持 -
语法
openssl_x509_checkpurpose( mixed $x509cert , int $purpose [, array $cainfo = array() [, string $untrustedfile ]] )
openssl_x509_checkpurpose() 检查证书以查看它是否可用于指定目的 purpose. -
参数
参数 必需的 描述 x509cert 是 被检查的证书。 purpose 是 - X509_PURPOSE_SSL_CLIENT 证书是否可以用于SSL连接的客户端?
- X509_PURPOSE_SSL_SERVER 证书是否可以用于SSL连接的服务器端?
- X509_PURPOSE_NS_SSL_SERVER 证书是否可以用于Netscape SSL服务器?
- X509_PURPOSE_SMIME_SIGN 证书是否可以用来签名 S/MIME 邮件?
- X509_PURPOSE_SMIME_ENCRYPT 正式是否可用用来加密 S/MIME 邮件?
- X509_PURPOSE_CRL_SIGN 证书是否可以用来签名证书撤销列表(CRL)?
- X509_PURPOSE_ANY 证书是否可以用于任何目的?
cainfo 否 cainfo 应该是一个受信任的 CA 文件/文件夹组成的数组,如 证书验证 所描述的一样。 untrustedfile 否 如果指定,这应该是PEM编码文件的名称,该文件持有证书,可以用来帮助验证证书,尽管从该文件中获得的证书不受信任。 -
返回值
如果证书可以用于预期目的,返回 TRUE,如果不行,则返回 FALSE 错误便会返回 -1。 -
示例
$openssl_crtfile='auth.combined.pem'; $openssl_cadir='./ca'; $x509_res = openssl_x509_read(file_get_contents($openssl_crtfile)); if(empty($x509_res)) { echo 'x509 cert could not be read'."\n"; } $valid = openssl_x509_checkpurpose($x509_res,X509_PURPOSE_SSL_SERVER,array($openssl_cadir)); if ($valid === true) { echo 'Certificate is valid for use as SSL server'."\n"; } else { echo 'Certificate validation returned'.$valid."\n"; }
-
相关页面
openssl_sign() - 生成签名。