1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.9 $ -->
<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></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>. It defaults to an empty array.
</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 in 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:"../../../../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
-->
|