'\" t .\" Title: ne_ssl_cert_cmp .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 23 November 2025 .\" Manual: neon API reference .\" Source: neon 0.36.0 .\" Language: English .\" .TH "NE_SSL_CERT_CMP" "3" "23 November 2025" "neon 0.36.0" "neon API reference" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" ne_ssl_cert_cmp, ne_ssl_cert_free, ne_ssl_cert_digest, ne_ssl_cert_hdigest, ne_ssl_cert_validity, ne_ssl_cert_validity_time \- functions to operate on certificate objects .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft .HP \w'int\ ne_ssl_cert_cmp('u .BI "int ne_ssl_cert_cmp(const\ ne_ssl_certificate\ *" "c1" ", const\ ne_ssl_certificate\ *" "c2" ");" .HP \w'void\ ne_ssl_cert_free('u .BI "void ne_ssl_cert_free(ne_ssl_certificate\ *" "cert" ");" .HP \w'int\ ne_ssl_cert_digest('u .BI "int ne_ssl_cert_digest(const\ ne_ssl_certificate\ *" "c1" ", char\ *" "digest" ");" .HP \w'char\ *ne_ssl_cert_hdigest('u .BI "char *ne_ssl_cert_hdigest(const\ ne_ssl_certificate\ *" "c1" ", unsigned\ int\ " "flags" ");" .HP \w'void\ ne_ssl_cert_validity_time('u .BI "void ne_ssl_cert_validity_time(const\ ne_ssl_certificate\ *" "cert" ", time_t\ *" "from" ", time_t\ *" "until" ");" .HP \w'void\ ne_ssl_cert_validity('u .BI "void ne_ssl_cert_validity(const\ ne_ssl_certificate\ *" "cert" ", char\ *" "from" ", char\ *" "until" ");" .SH "DESCRIPTION" .PP The \fBne_ssl_cert_cmp\fR function can be used to compare two certificate objects; it returns zero if they refer to the same certificate, and non\-zero otherwise\&. .PP The \fBne_ssl_cert_free\fR function can be used to destroy a certificate object when it is no longer needed\&. .PP The \fBne_ssl_cert_digest\fR function writes a human\-readable fingerprint as a NUL\-terminated string to the \fIdigest\fR buffer provided, in the format "aa:bb\&.\&.\&.:ff"\&. The \fIdigest\fR buffer must be at least NE_SSL_DIGESTLEN bytes in length\&. .PP The \fBne_ssl_cert_hdigest\fR function returns a human\-readable fingerprint for the certificate object\&. The \fIflags\fR parameter specifies the hash formatting options as if passed to ne_strhash\&. The returned string is malloc\-allocated and must be freed after use\&. .PP The \fBne_ssl_cert_validity_time\fR function retrieves both the time from which the certificate is valid from and until\&. Each time is returned through the \fIfrom\fR and \fIuntil\fR parameters, which are written as (time_t)\-1 if either time cannot be represented as a time_t value\&. The \fBne_ssl_cert_validity\fR function similarly writes the validity times to the string buffers provided, using RFC 1123\-style date formatting (not localized)\&. The output parameters must be at least NE_SSL_VDATELEN bytes in length\&. Either parameter can be passed as NULL\&. .SH "RETURN VALUE" .PP \fBne_ssl_cert_cmp\fR returns 0 if the certificates are the same, and non\-zero otherwise\&. \fBne_ssl_cert_digest\fR returns 0 on success or non\-zero on error\&. The return value of \fBne_ssl_cert_hdigest\fR is a NUL\-terminated malloc\-allocated string, or NULL if the hash cannot be created\&. .SH "HISTORY" .PP \fBne_ssl_cert_hdigest\fR is available in in neon 0\&.32\&.0 and later\&. .SH "SEE ALSO" .PP ne_strhash .SH "COPYRIGHT" .br Copyright \(co 2001-2025 Joe Orton .br