1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- =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);
- The following macros have been deprecated since OpenSSL 3.0, and can be
- hidden entirely by defining B<OPENSSL_API_COMPAT> with a suitable version value,
- see L<openssl_user_macros(7)>:
- #define X509_http_nbio(rctx, pcert)
- #define X509_CRL_http_nbio(rctx, pcrl)
- =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
- internal one for connecting, writing the request, and reading the response.
- 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
- and without the possibility to specify custom BIOs.
- =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(3)>
- =head1 HISTORY
- X509_load_http() and X509_CRL_load_http() were added in OpenSSL 3.0.
- X509_http_nbio() and X509_CRL_http_nbio() were deprecated in OpenSSL 3.0.
- =head1 COPYRIGHT
- Copyright 2019-2021 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
|