2019-10-31 06:39:35 +08:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
|
|
|
X509_load_http,
|
|
|
|
X509_http_nbio,
|
|
|
|
X509_CRL_load_http,
|
|
|
|
X509_CRL_http_nbio
|
|
|
|
- certificate and CRL loading functions
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
#include <openssl/x509.h>
|
|
|
|
|
|
|
|
X509 *X509_load_http(const char *url, BIO *bio, BIO *rbio, int timeout);
|
|
|
|
X509_CRL *X509_CRL_load_http(const char *url, BIO *bio, BIO *rbio, int timeout);
|
|
|
|
|
|
|
|
#define X509_http_nbio(url)
|
|
|
|
#define X509_CRL_http_nbio(url)
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
X509_load_http() and X509_CRL_load_http() loads a certificate or a CRL,
|
|
|
|
respectively, in ASN.1 format using HTTP from the given B<url>.
|
|
|
|
|
|
|
|
If B<bio> is given and B<rbio> is NULL then this BIO is used instead of an
|
2020-04-26 05:57:00 +08:00
|
|
|
internal one for connecting, writing the request, and reading the response.
|
2019-10-31 06:39:35 +08:00
|
|
|
If both B<bio> and B<rbio> are given (which may be memory BIOs, for instance)
|
|
|
|
then no explicit connection is attempted,
|
|
|
|
B<bio> is used for writing the request, and B<rbio> for reading the response.
|
|
|
|
|
|
|
|
If the B<timeout> parameter is > 0 this indicates the maximum number of seconds
|
|
|
|
to wait until the transfer is complete.
|
|
|
|
A value of 0 enables waiting indefinitely,
|
|
|
|
while a value < 0 immediately leads to a timeout condition.
|
|
|
|
|
|
|
|
X509_http_nbio() and X509_CRL_http_nbio() are macros for backward compatibility
|
|
|
|
that have the same effect as the functions above but with infinite timeout
|
2020-04-26 05:57:00 +08:00
|
|
|
and without the possibility to specify custom BIOs.
|
2019-10-31 06:39:35 +08:00
|
|
|
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
|
|
|
|
On success the function yield the loaded value, else NULL.
|
|
|
|
Error conditions include connection/transfer timeout, parse errors, etc.
|
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
|
|
|
L<OSSL_HTTP_get_asn1(3)>
|
|
|
|
|
|
|
|
=head1 HISTORY
|
|
|
|
|
|
|
|
X509_load_http() and X509_CRL_load_http() were added in OpenSSL 3.0.
|
|
|
|
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
|
|
|
Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
|
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|