PRELIMINARY
SYNOPSIS
mixed * tls_check_certificate(object obj)
mixed * tls_check_certificate(object obj, int extra)
DESCRIPTION
tls_check_certificate() checks the certificate of the secured
connection bound to <obj> (default is the current object). If
<obj> is not interactive, or if TLS is not available, an error
is thrown.
If <obj> doesn't have a secure connection up and running, an
error is thrown.
Otherwise, the result is an array with these values:
int [0] : Result code of SSL_get_verify_result (see 'man 1 verify',
subsection DIAGNOSTICS for possible values)
array [1] : array with 3*n entries of extra x509 data.
structure is:
3*i : numerical form of object name,
e.g. "2.5.4.3"
3*i + 1: long or short name if available,
e.g. "commonName"
3*i + 2: value
array [2] : if extra is set:
array with 3*n entries of x509 extension data
data structure is:
3*i : numerical form of extension name
3*i + 1: long or short name of extension
name if available
3*i + 2: array of strings with the data
structure of [1]
Note: An X509 certificate can have more than one object with
the same name.
HISTORY
Introduced in LDMud 3.3.672/3.2.11.
LDMud 3.3.711/3.2.12 modified the behaviour to return the
low-level API result value, and to throw an error if the connection
is not secure.
SEE ALSO
tls_init_connection(E), tls_deinit_connection(E), tls_error(E),
tls_query_connection_state(E), tls_query_connection_info(E),
tls_available(E), tls_refresh_certs(E), mudlib/psyc-tls.c
|