| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <refentry id="refcert">
- <refmeta>
- <refentrytitle>ne_ssl_cert_identity</refentrytitle>
- <manvolnum>3</manvolnum>
- </refmeta>
- <refnamediv>
- <refname id="ne_ssl_cert_identity">ne_ssl_cert_identity</refname>
- <refname id="ne_ssl_cert_signedby">ne_ssl_cert_signedby</refname>
- <refname id="ne_ssl_cert_issuer">ne_ssl_cert_issuer</refname>
- <refname id="ne_ssl_cert_subject">ne_ssl_cert_subject</refname>
- <refpurpose>functions to access certificate properties</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <funcsynopsis>
- <funcsynopsisinfo>#include <ne_ssl.h></funcsynopsisinfo>
- <funcprototype>
- <funcdef>const char *<function>ne_ssl_cert_identity</function></funcdef>
- <paramdef>const ne_ssl_certificate *<parameter>cert</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>const ne_ssl_certificate *<function>ne_ssl_cert_signedby</function></funcdef>
- <paramdef>const ne_ssl_certificate *<parameter>cert</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>const ne_ssl_dname *<function>ne_ssl_cert_subject</function></funcdef>
- <paramdef>const ne_ssl_certificate *<parameter>cert</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>const ne_ssl_dname *<function>ne_ssl_cert_issuer</function></funcdef>
- <paramdef>const ne_ssl_certificate *<parameter>cert</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- </refsynopsisdiv>
- <refsect1>
- <title>Description</title>
- <para>The function <function>ne_ssl_cert_identity</function>
- retrieves the <quote>identity</quote> of a certificate; for an
- SSL server certificate, this will be the hostname for which the
- certificate was issued. In PKI parlance, the identity is the
- <emphasis>common name</emphasis> attribute of the distinguished name of
- the certificate subject.</para>
- <para>The functions <function>ne_ssl_cert_subject</function> and
- <function>ne_ssl_cert_issuer</function> can be used to access the
- objects representing the distinguished name of the subject and of
- the issuer of a certificate, respectively.</para>
- <para>If a certificate object is part of a certificate chain, then
- <function>ne_ssl_cert_signedby</function> can be used to find the
- certificate which signed a particular certificate. For a
- self-signed certificate or a certificate for which the full chain
- is not available, this function will return &null;.</para>
- </refsect1>
- <refsect1>
- <title>Return value</title>
- <para><function>ne_ssl_cert_issuer</function> and
- <function>ne_ssl_cert_subject</function> are guaranteed to never
- return &null;. <function>ne_ssl_cert_identity</function> may
- return &null; if the certificate has no specific
- <quote>identity</quote>. <function>ne_ssl_cert_signedby</function>
- may return &null; as covered above.</para>
- </refsect1>
- <refsect1>
- <title>Examples</title>
- <para>The following function could be used to display information
- about a given certificate:</para>
- <programlisting>void dump_cert(const ne_ssl_certificate *cert) {
- const char *id = ne_ssl_cert_identity(cert);
- char *dn;
- if (id)
- printf("Certificate was issued for '%s'.\n", id);
- dn = ne_ssl_readable_dname(ne_ssl_cert_subject(cert));
- printf("Subject: %s\n", dn);
- free(dn);
- dn = ne_ssl_readable_dname(ne_ssl_cert_issuer(cert));
- printf("Issuer: %s\n", dn);
- free(dn);
- }</programlisting>
- </refsect1>
- <refsect1>
- <title>See also</title>
- <para><xref linkend="ne_ssl_cert_cmp"/>, <xref linkend="ne_ssl_readable_dname"/></para>
- </refsect1>
- </refentry>
|