<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.openssl-x509-checkpurpose"> <refnamediv> <refname>openssl_x509_checkpurpose</refname> <refpurpose>Verifies if a certificate can be used for a particular purpose</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>int</type><methodname>openssl_x509_checkpurpose</methodname> <methodparam><type>mixed</type><parameter>x509cert</parameter></methodparam> <methodparam><type>int</type><parameter>purpose</parameter></methodparam> <methodparam choice="opt"><type>array</type><parameter>cainfo</parameter><initializer>array()</initializer></methodparam> <methodparam choice="opt"><type>string</type><parameter>untrustedfile</parameter></methodparam> </methodsynopsis> <para> <function>openssl_x509_checkpurpose</function> examines a certificate to see if it can be used for the specified <parameter>purpose</parameter>. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>x509cert</parameter></term> <listitem> <para> The examined certificate. </para> </listitem> </varlistentry> <varlistentry> <term><parameter>purpose</parameter></term> <listitem> <para> <table> <title><function>openssl_x509_checkpurpose</function> purposes</title> <tgroup cols="2"> <thead> <row> <entry>Constant</entry> <entry>Description</entry> </row> </thead> <tbody> <row> <entry>X509_PURPOSE_SSL_CLIENT</entry> <entry>Can the certificate be used for the client side of an SSL connection?</entry> </row> <row> <entry>X509_PURPOSE_SSL_SERVER</entry> <entry>Can the certificate be used for the server side of an SSL connection?</entry> </row> <row> <entry>X509_PURPOSE_NS_SSL_SERVER</entry> <entry>Can the cert be used for Netscape SSL server?</entry> </row> <row> <entry>X509_PURPOSE_SMIME_SIGN</entry> <entry>Can the cert be used to sign S/MIME email?</entry> </row> <row> <entry>X509_PURPOSE_SMIME_ENCRYPT</entry> <entry>Can the cert be used to encrypt S/MIME email?</entry> </row> <row> <entry>X509_PURPOSE_CRL_SIGN</entry> <entry>Can the cert be used to sign a certificate revocation list (CRL)?</entry> </row> <row> <entry>X509_PURPOSE_ANY</entry> <entry>Can the cert be used for Any/All purposes?</entry> </row> </tbody> </tgroup> </table> These options are not bitfields - you may specify one only! </para> </listitem> </varlistentry> <varlistentry> <term><parameter>cainfo</parameter></term> <listitem> <para> <parameter>cainfo</parameter> should be an array of trusted CA files/dirs as described in <link linkend="openssl.cert.verification">Certificate Verification</link>. </para> </listitem> </varlistentry> <varlistentry> <term><parameter>untrustedfile</parameter></term> <listitem> <para> If specified, this should be the name of a PEM encoded file holding certificates that can be used to help verify the certificate, although no trust is placed in the certificates that come from that file. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> Returns &true; if the certificate can be used for the intended purpose, &false; if it cannot, or -1 on error. </para> </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"~/.phpdoc/manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->