# openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_x509_checkpurpose — 验证是否可以为特定目的使用证书

### 说明

openssl_x509_checkpurpose ( mixed `$x509cert` , int `$purpose` [, array `$cainfo` = array() [, string `$untrustedfile` ]] ) : int

openssl_x509_checkpurpose() 检查证书以查看它是否可用于指定目的 `purpose`.

### 参数

`x509cert`

  被检查的证书。

`purpose`

  openssl_x509_checkpurpose() 目的
  常量名 | 描述
  --- | ---
  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 文件/文件夹组成的数组，如Certificate Verification所描述的一样。

`untrustedfile`

  如果指定，这应该是PEM编码文件的名称，该文件持有证书，可以用来帮助验证证书,尽管从该文件中获得的证书不受信任。

### 返回值

如果证书可以用于预期目的，返回 `TRUE`,如果不行，则返回 `FALSE` 错误便会返回 -1。