ne_ssl_cert_signedby - ne_ssl_cert_identity, ne_ssl_cert_signedby, ne_ssl_cert_issuer, functions to access certificate properties
#include <ne_ssl.h> const char *ne_ssl_cert_identity(const ne_ssl_certificate *cert); const ne_ssl_certificate *ne_ssl_cert_signedby(const ne_ssl_certificate *cert); const ne_ssl_dname *ne_ssl_cert_subject(const ne_ssl_certificate *cert); const ne_ssl_dname *ne_ssl_cert_issuer(const ne_ssl_certificate *cert);
NE_SSL_CERT_IDENTITY(3) neon API reference NE_SSL_CERT_IDENTITY(3) NAME ne_ssl_cert_identity, ne_ssl_cert_signedby, ne_ssl_cert_issuer, ne_ssl_cert_subject - functions to access certificate properties SYNOPSIS #include <ne_ssl.h> const char *ne_ssl_cert_identity(const ne_ssl_certificate *cert); const ne_ssl_certificate *ne_ssl_cert_signedby(const ne_ssl_certificate *cert); const ne_ssl_dname *ne_ssl_cert_subject(const ne_ssl_certificate *cert); const ne_ssl_dname *ne_ssl_cert_issuer(const ne_ssl_certificate *cert); DESCRIPTION The function ne_ssl_cert_identity retrieves the "identity" 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 common name attribute of the distinguished name of the certificate subject. The functions ne_ssl_cert_subject and ne_ssl_cert_issuer can be used to access the objects representing the distinguished name of the subject and of the issuer of a certificate, respectively. If a certificate object is part of a certificate chain, then ne_ssl_cert_signedby 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. RETURN VALUE ne_ssl_cert_issuer and ne_ssl_cert_subject are guaranteed to never return NULL. ne_ssl_cert_identity may return NULL if the certificate has no specific "identity". ne_ssl_cert_signedby may return NULL as covered above. EXAMPLES The following function could be used to display information about a given certificate: 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); } ATTRIBUTES See attributes(7) for descriptions of the following attributes: +---------------+------------------+ |ATTRIBUTE TYPE | ATTRIBUTE VALUE | +---------------+------------------+ |Availability | library/neon | +---------------+------------------+ |Stability | Volatile | +---------------+------------------+ SEE ALSO ne_ssl_cert_cmp, ne_ssl_readable_dname AUTHOR Joe Orton <neon@lists.manyfish.co.uk> Author. COPYRIGHT NOTES Source code for open source software components in Oracle Solaris can be found at https://www.oracle.com/downloads/opensource/solaris-source- code-downloads.html. This software was built from source available at https://github.com/oracle/solaris-userland. The original community source was downloaded from http://www.webdav.org/neon/neon-0.30.1.tar.gz. Further information about this software can be found on the open source community website at http://www.webdav.org/neon/. neon 0.30.1 23 September 2014 NE_SSL_CERT_IDENTITY(3)