urls

urls

Functions

Types and Values

Description

Functions

gnutls_privkey_import_url_func ()

int
(*gnutls_privkey_import_url_func) (gnutls_privkey_t pkey,
                                   const char *url,
                                   unsigned  flags);

gnutls_x509_crt_import_url_func ()

int
(*gnutls_x509_crt_import_url_func) (gnutls_x509_crt_t pkey,
                                    const char *url,
                                    unsigned  flags);

gnutls_pubkey_import_url_func ()

int
(*gnutls_pubkey_import_url_func) (gnutls_pubkey_t pkey,
                                  const char *url,
                                  unsigned  flags);

gnutls_get_raw_issuer_func ()

int
(*gnutls_get_raw_issuer_func) (const char *url,
                               gnutls_x509_crt_t crt,
                               gnutls_datum_t *issuer_der,
                               unsigned  flags);

gnutls_register_custom_url ()

int
gnutls_register_custom_url (const gnutls_custom_url_st *st);

Register a custom URL. This will affect the following functions: gnutls_url_is_supported(), gnutls_privkey_import_url(), gnutls_pubkey_import_url, gnutls_x509_crt_import_url() and all functions that depend on them, e.g., gnutls_certificate_set_x509_key_file2().

The provided structure and callback functions must be valid throughout the lifetime of the process. The registration of an existing URL type will fail with GNUTLS_E_INVALID_REQUEST. Since GnuTLS 3.5.0 this function can be used to override the builtin URLs.

This function is not thread safe.

Parameters

st

A gnutls_custom_url_st structure

 

Returns

returns zero if the given structure was imported or a negative value otherwise.

Since: 3.4.0

Types and Values

gnutls_custom_url_st

typedef struct {
	const char *name;
	unsigned name_size;
	gnutls_privkey_import_url_func import_key;
	gnutls_x509_crt_import_url_func import_crt;
	gnutls_pubkey_import_url_func import_pubkey;
	gnutls_get_raw_issuer_func get_issuer;
	void *future1; /* replace in a future extension */
	void *future2; /* replace in a future extension */
} gnutls_custom_url_st;