This optional parameter specifies a Perl function that will be
called for a custom verification of the peer certificate. It is passed the
certificate, and various other details, and returns 0 for verification
success, a new verification result code or < 0 for a failure, or an
undefined value to continue Radiator builtin certificate verification.
Note
This parameter is currently available only for servers such as
ServerRADSEC
.
The function is passed the
following arguments:
$_[0]
: $hostname
, for
servers, such as ServerRADSEC
, the peer's IP
address
$_[1]
: $x509_store_ctx
,
the OpenSSL store context (you can pass this to
Net::SSLeay::X509_STORE_CTX_get_current_cert)
$_[2]
: $cert
, the
current certificate, result of
Net::SSLeay::X509_STORE_CTX_get_current_cert($x509_store_ctx)
$_[3]
: $subject_name
,
the certificates subject name, result of
Net::SSLeay::X509_get_subject_name($cert)
$_[4]
: $subject
, the
certificate subject, result of
Net::SSLeay::X509_NAME_oneline($subject_name)
$_[5]
: $object
, the
Stream object created for this connection
<ServerRADSEC>
...
# Accept immediately all certificates with O='OSC Demo Certificates'
TLS_CertificateVerifyHook sub { my $subject = $_[4]; \
my ($org) = $subject =~ /O=([^\/]*)/; \
return unless $org eq 'OSC Demo Certificates'; return 0; }
</ServerRADSEC>