diff options
Diffstat (limited to 'doc/reference/html')
22 files changed, 83314 insertions, 0 deletions
diff --git a/doc/reference/html/api-index-full.html b/doc/reference/html/api-index-full.html new file mode 100644 index 0000000..2b789b7 --- /dev/null +++ b/doc/reference/html/api-index-full.html @@ -0,0 +1,14694 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>API Index: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-tpm.html" title="tpm"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idx_">_</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxA">A</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxB">B</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxC">C</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxD">D</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxE">E</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxF">F</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxG">G</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxH">H</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxI">I</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxK">K</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxL">L</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxM">M</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxN">N</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxO">O</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxP">P</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxR">R</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxS">S</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxT">T</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxU">U</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxV">V</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxW">W</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxX">X</a> + <span class="dim">|</span> + <a class="shortcut" href="#idxZ">Z</a></span></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="gnutls-tpm.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><img src="right-insensitive.png" width="16" height="16" border="0"></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="api-index-full"></a>API Index</h1></div></div></div> +<a name="idx"></a><a name="idx_"></a><h3 class="title">_</h3> +<dt> +_, macro in sys_types.in +</dt> +<dd></dd> +<a name="idxA"></a><h3 class="title">A</h3> +<dt> +aarch64_sha1, variable in sha-aarch64 +</dt> +<dd></dd> +<dt> +aarch64_sha1_update, function in sha-aarch64 +</dt> +<dd></dd> +<dt> +aarch64_sha224, variable in sha-aarch64 +</dt> +<dd></dd> +<dt> +aarch64_sha256, variable in sha-aarch64 +</dt> +<dd></dd> +<dt> +aarch64_sha256_update, function in sha-aarch64 +</dt> +<dd></dd> +<dt> +aarch64_sha384, variable in sha-aarch64 +</dt> +<dd></dd> +<dt> +aarch64_sha512, variable in sha-aarch64 +</dt> +<dd></dd> +<dt> +aarch64_sha512_update, function in sha-aarch64 +</dt> +<dd></dd> +<dt> +acpkm_crypt, macro in acpkm +</dt> +<dd></dd> +<dt> +ACPKM_CTX, macro in acpkm +</dt> +<dd></dd> +<dt> +acpkm_ctx, struct in acpkm +</dt> +<dd></dd> +<dt> +ACPKM_KEY_SIZE, macro in acpkm +</dt> +<dd></dd> +<dt> +aead_cipher_decrypt_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +aead_cipher_encrypt_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +AEAD_EXPLICIT_DATA_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +AEAD_IMPLICIT_DATA_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +aesni_cbc_encrypt, function in aes-x86 +</dt> +<dd></dd> +<dt> +aesni_ctr32_encrypt_blocks, function in aes-x86 +</dt> +<dd></dd> +<dt> +aesni_ecb_encrypt, function in aes-x86 +</dt> +<dd></dd> +<dt> +aesni_gcm_decrypt, function in aes-x86 +</dt> +<dd></dd> +<dt> +aesni_gcm_encrypt, function in aes-x86 +</dt> +<dd></dd> +<dt> +aesni_set_decrypt_key, function in aes-x86 +</dt> +<dd></dd> +<dt> +aesni_set_encrypt_key, function in aes-x86 +</dt> +<dd></dd> +<dt> +aesni_xts_decrypt, function in aes-x86 +</dt> +<dd></dd> +<dt> +aesni_xts_encrypt, function in aes-x86 +</dt> +<dd></dd> +<dt> +AES_GCM_ENCRYPT_MAX_BYTES, macro in aes-x86 +</dt> +<dd></dd> +<dt> +AES_KEY, struct in aes-x86 +</dt> +<dd></dd> +<dt> +AES_KEY_ALIGN_SIZE, macro in aes-x86 +</dt> +<dd></dd> +<dt> +AES_MAXNR, macro in aes-x86 +</dt> +<dd></dd> +<dt> +aes_v8_cbc_encrypt, function in aes-aarch64 +</dt> +<dd></dd> +<dt> +aes_v8_decrypt, function in aes-aarch64 +</dt> +<dd></dd> +<dt> +aes_v8_encrypt, function in aes-aarch64 +</dt> +<dd></dd> +<dt> +aes_v8_set_decrypt_key, function in aes-aarch64 +</dt> +<dd></dd> +<dt> +aes_v8_set_encrypt_key, function in aes-aarch64 +</dt> +<dd></dd> +<dt> +AGAIN, macro in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +AGAIN2, macro in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +ALIGN16, macro in aes-x86 +</dt> +<dd></dd> +<dt> +alpn_ext_st, struct in alpn +</dt> +<dd></dd> +<dt> +anon_client_credentials_st, struct in anon +</dt> +<dd></dd> +<dt> +anon_server_credentials_st, struct in anon +</dt> +<dd></dd> +<dt> +api_aead_cipher_hd_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +APPLICATION_CLIENT_TRAFFIC_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +APPLICATION_SERVER_TRAFFIC_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +APPLICATION_TRAFFIC_UPDATE, macro in handshake-defs +</dt> +<dd></dd> +<dt> +are_alternative_cert_types_allowed, function in cert_types +</dt> +<dd></dd> +<dt> +ARMV7_NEON, macro in aarch64-common +</dt> +<dd></dd> +<dt> +ARMV7_TICK, macro in aarch64-common +</dt> +<dd></dd> +<dt> +ARMV8_AES, macro in aarch64-common +</dt> +<dd></dd> +<dt> +ARMV8_PMULL, macro in aarch64-common +</dt> +<dd></dd> +<dt> +ARMV8_SHA1, macro in aarch64-common +</dt> +<dd></dd> +<dt> +ARMV8_SHA256, macro in aarch64-common +</dt> +<dd></dd> +<dt> +ARMV8_SHA512, macro in aarch64-common +</dt> +<dd></dd> +<dt> +ASN1_API, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_array2tree, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ARRAY_ERROR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ARRAY_TYPE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_bit_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_check_version, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_CLASS_APPLICATION, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_CLASS_CONTEXT_SPECIFIC, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_CLASS_PRIVATE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_CLASS_STRUCTURED, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_CLASS_UNIVERSAL, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_copy_node, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_create_element, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_DATA_NODE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_data_node_st, struct in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_DECODE_FLAG_ALLOW_PADDING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_DECODE_FLAG_STRICT_DER, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_decode_simple_ber, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_decode_simple_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_delete_element, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_DELETE_FLAG_ZEROIZE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_delete_structure, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_delete_structure2, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_der_coding, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_der_decoding, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_der_decoding2, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_der_decoding_element, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_der_decoding_startEnd, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_DER_ERROR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_DER_OVERFLOW, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_dup_node, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ELEMENT_NOT_EMPTY, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ELEMENT_NOT_FOUND, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_encode_simple_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ERROR_TYPE_ANY, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_ANY, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_BIT_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_BMP_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_BOOLEAN, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_CHOICE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_CONSTANT, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_DEFAULT, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_DEFINITIONS, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_ENUMERATED, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_GENERALIZED_TIME, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_GENERALSTRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_IA5_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_IDENTIFIER, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_IMPORTS, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_INTEGER, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_INVALID, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_NULL, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_NUMERIC_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_OBJECT_ID, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_OCTET_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_PRINTABLE_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_SEQUENCE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_SEQUENCE_OF, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_SET, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_SET_OF, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_SIZE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_TAG, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_TELETEX_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_TIME, macro in int +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_UNIVERSAL_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_UTC_TIME, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_UTF8_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_ETYPE_VISIBLE_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_expand_any_defined_by, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_expand_octet_string, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_FILE_NOT_FOUND, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_find_node, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_find_structure_from_oid, function in libtasn1 +</dt> +<dd></dd> +<dt> +_ASN1_GCC_ATTR_DEPRECATED, typedef in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_GENERIC_ERROR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_get_bit_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_get_length_ber, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_get_length_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_get_object_id_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_get_octet_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_get_tag_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_IDENTIFIER_NOT_FOUND, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_length_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_MAX_ERROR_DESCRIPTION_SIZE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_MAX_LENGTH_SIZE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_MAX_NAME_SIZE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_MAX_TAG_SIZE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_MAX_TL_SIZE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_MEM_ALLOC_ERROR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_MEM_ERROR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_NAME_TOO_LONG, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_node, typedef in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_node_const, typedef in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_node_st, struct in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_NULL, macro in common +</dt> +<dd></dd> +<dt> +ASN1_NULL_SIZE, macro in common +</dt> +<dd></dd> +<dt> +asn1_number_of_elements, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_object_id_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_octet_der, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_parser2array, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_parser2tree, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_perror, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_PRINT_ALL, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_PRINT_NAME, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_PRINT_NAME_TYPE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_PRINT_NAME_TYPE_VALUE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_print_structure, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_read_node_value, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_read_tag, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_read_value, function in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_read_value_type, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_RECURSION, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_SMALL_VALUE_SIZE, macro in int +</dt> +<dd></dd> +<dt> +asn1_static_node_t, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_strerror, function in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_SUCCESS, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_SYNTAX_ERROR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_BIT_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_BMP_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_BOOLEAN, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_ENUMERATED, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_ERROR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_GENERALIZEDTime, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_GENERALSTRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_IA5_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_IMPLICIT, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_INTEGER, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_NULL, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_NUMERIC_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_OBJECT_ID, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_OCTET_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_PRINTABLE_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_SEQUENCE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_SET, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_TELETEX_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_UNIVERSAL_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_UTCTime, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_UTF8_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TAG_VISIBLE_STRING, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TIME_ENCODING_ERROR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TYPE, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_TYPE_EMPTY, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_VALUE_NOT_FOUND, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_VALUE_NOT_VALID, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_VERSION, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_VERSION_MAJOR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_VERSION_MINOR, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_VERSION_NUMBER, macro in libtasn1 +</dt> +<dd></dd> +<dt> +ASN1_VERSION_PATCH, macro in libtasn1 +</dt> +<dd></dd> +<dt> +asn1_write_value, function in libtasn1 +</dt> +<dd></dd> +<dt> +ATTRIBUTE_ALLOC_SIZE, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_ALWAYS_INLINE, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_ARTIFICIAL, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_COLD, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_CONST, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_ERROR, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_EXTERNALLY_VISIBLE, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_FORMAT, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_LEAF, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_MALLOC, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_MAY_ALIAS, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_NOINLINE, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_NONNULL, function in datum +</dt> +<dd></dd> +<dt> +ATTRIBUTE_NONSTRING, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_NOTHROW, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_PACKED, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_PURE, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_RETURNS_NONNULL, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_SENTINEL, macro in attribute +</dt> +<dd></dd> +<dt> +ATTRIBUTE_WARNING, macro in attribute +</dt> +<dd></dd> +<dt> +auth_cipher_hd_st, struct in cipher_int +</dt> +<dd></dd> +<dt> +auth_cred_st, struct in gnutls_int +</dt> +<dd></dd> +<a name="idxB"></a><h3 class="title">B</h3> +<dt> +B64FSIZE, macro in x509_b64 +</dt> +<dd></dd> +<dt> +B64SIZE, macro in x509_b64 +</dt> +<dd></dd> +<dt> +BAG_CERTIFICATE, macro in x509_int +</dt> +<dd></dd> +<dt> +BAG_CRL, macro in x509_int +</dt> +<dd></dd> +<dt> +bag_element, struct in x509_int +</dt> +<dd></dd> +<dt> +BAG_PKCS8_ENCRYPTED_KEY, macro in x509_int +</dt> +<dd></dd> +<dt> +BAG_PKCS8_KEY, macro in x509_int +</dt> +<dd></dd> +<dt> +BAG_SECRET, macro in x509_int +</dt> +<dd></dd> +<dt> +BARE_PEM_OCSP_RESPONSE, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +bigint_t, typedef in crypto-backend +</dt> +<dd></dd> +<dt> +binder_data_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +bitmap_lookup, function in bitmap +</dt> +<dd></dd> +<dt> +block16_mulx_be, function in block-internal +</dt> +<dd></dd> +<dt> +block16_mulx_ghash, function in block-internal +</dt> +<dd></dd> +<dt> +block16_mulx_le, function in block-internal +</dt> +<dd></dd> +<dt> +BLOCK16_POLY, macro in block-internal +</dt> +<dd></dd> +<dt> +block16_xor, function in block-internal +</dt> +<dd></dd> +<dt> +block16_xor3, function in block-internal +</dt> +<dd></dd> +<dt> +block16_xor_bytes, function in block-internal +</dt> +<dd></dd> +<dt> +block8_mulx_be, function in block-internal +</dt> +<dd></dd> +<dt> +BLOCK8_POLY, macro in block-internal +</dt> +<dd></dd> +<dt> +block8_xor, function in block-internal +</dt> +<dd></dd> +<dt> +block8_xor3, function in block-internal +</dt> +<dd></dd> +<dt> +block8_xor_bytes, function in block-internal +</dt> +<dd></dd> +<dt> +_Bool, typedef in stdbool.in +</dt> +<dd></dd> +<dt> +bool, macro in stdbool.in +</dt> +<dd></dd> +<dt> +BUFFER_APPEND, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_APPEND_NUM, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_APPEND_PFX1, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_APPEND_PFX2, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_APPEND_PFX3, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_APPEND_PFX4, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_APPEND_TS, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_POP, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_POP_CAST_NUM, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_POP_DATUM, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_POP_NUM, macro in str +</dt> +<dd></dd> +<dt> +BUFFER_POP_TS, macro in str +</dt> +<dd></dd> +<dt> +bye, function in gnutlsxx +</dt> +<dd></dd> +<dt> +BYE_STATE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +bye_state_t, enum in gnutls_int +</dt> +<dd></dd> +<a name="idxC"></a><h3 class="title">C</h3> +<dt> +CASE_HANDLED_ETYPES, macro in int +</dt> +<dd></dd> +<dt> +category_header_0, macro in categ_of +</dt> +<dd></dd> +<dt> +category_header_1, macro in categ_of +</dt> +<dd></dd> +<dt> +category_header_2, macro in categ_of +</dt> +<dd></dd> +<dt> +category_header_3, macro in categ_of +</dt> +<dd></dd> +<dt> +category_header_4, macro in categ_of +</dt> +<dd></dd> +<dt> +cbc_mac_verify, function in cipher +</dt> +<dd></dd> +<dt> +certificate_credentials_st, struct in cert +</dt> +<dd></dd> +<dt> +certs_st, struct in cert +</dt> +<dd></dd> +<dt> +cert_type2IANA, function in cert_types +</dt> +<dd></dd> +<dt> +CHAR_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +CHECK_AES_KEYSIZE, macro in x86-common +</dt> +<dd></dd> +<dt> +CHECK_AUTH_TYPE, macro in state +</dt> +<dd></dd> +<dt> +check_pending, function in gnutlsxx +</dt> +<dd></dd> +<dt> +ciphersuite_list_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +ciphersuite_to_entry, function in algorithms +</dt> +<dd></dd> +<dt> +cipher_auth_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +cipher_decrypt_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +cipher_deinit_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +cipher_encrypt_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +cipher_entry_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +cipher_getiv_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +cipher_hd_st, struct in cipher_int +</dt> +<dd></dd> +<dt> +cipher_name_to_entry, function in algorithms +</dt> +<dd></dd> +<dt> +cipher_setiv_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +cipher_setkey_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +cipher_tag_func, user_function in cipher_int +</dt> +<dd></dd> +<dt> +cipher_to_entry, macro in algorithms +</dt> +<dd></dd> +<dt> +ck_bool_t, typedef in pkcs11_int +</dt> +<dd></dd> +<dt> +clear_credentials, function in gnutlsxx +</dt> +<dd></dd> +<dt> +client_session, function in gnutlsxx +</dt> +<dd></dd> +<dt> +CMAC128_CTX, function in cmac +</dt> +<dd></dd> +<dt> +CMAC64_CTX, function in cmac +</dt> +<dd></dd> +<dt> +cmac_kuznyechik_digest, macro in cmac +</dt> +<dd></dd> +<dt> +cmac_kuznyechik_set_key, macro in cmac +</dt> +<dd></dd> +<dt> +cmac_kuznyechik_update, macro in cmac +</dt> +<dd></dd> +<dt> +cmac_magma_digest, macro in cmac +</dt> +<dd></dd> +<dt> +cmac_magma_set_key, macro in cmac +</dt> +<dd></dd> +<dt> +cmac_magma_update, macro in cmac +</dt> +<dd></dd> +<dt> +combclass_header_0, macro in combiningclass +</dt> +<dd></dd> +<dt> +combclass_header_1, macro in combiningclass +</dt> +<dd></dd> +<dt> +combclass_header_2, macro in combiningclass +</dt> +<dd></dd> +<dt> +combclass_header_3, macro in combiningclass +</dt> +<dd></dd> +<dt> +combclass_header_4, macro in combiningclass +</dt> +<dd></dd> +<dt> +combined, variable in u-normalize-internal +</dt> +<dd></dd> +<dt> +COMPARE, function in array-mergesort +</dt> +<dd></dd> +<dt> +compress_certificate_ext_st, struct in compress_certificate +</dt> +<dd></dd> +<dt> +CONST_1_PARAM, macro in int +</dt> +<dd></dd> +<dt> +CONST_APPLICATION, macro in int +</dt> +<dd></dd> +<dt> +CONST_ASSIGN, macro in int +</dt> +<dd></dd> +<dt> +CONST_DEFAULT, macro in int +</dt> +<dd></dd> +<dt> +CONST_DEFINED_BY, macro in int +</dt> +<dd></dd> +<dt> +CONST_DOWN, macro in int +</dt> +<dd></dd> +<dt> +CONST_EXPLICIT, macro in int +</dt> +<dd></dd> +<dt> +CONST_FALSE, macro in int +</dt> +<dd></dd> +<dt> +CONST_GENERALIZED, macro in int +</dt> +<dd></dd> +<dt> +CONST_IMPLICIT, macro in int +</dt> +<dd></dd> +<dt> +CONST_LIST, macro in int +</dt> +<dd></dd> +<dt> +CONST_MIN_MAX, macro in int +</dt> +<dd></dd> +<dt> +CONST_NOT_USED, macro in int +</dt> +<dd></dd> +<dt> +CONST_OPTION, macro in int +</dt> +<dd></dd> +<dt> +CONST_PRIVATE, macro in int +</dt> +<dd></dd> +<dt> +CONST_RIGHT, macro in int +</dt> +<dd></dd> +<dt> +CONST_SET, macro in int +</dt> +<dd></dd> +<dt> +CONST_SIZE, macro in int +</dt> +<dd></dd> +<dt> +CONST_TAG, macro in int +</dt> +<dd></dd> +<dt> +CONST_TRUE, macro in int +</dt> +<dd></dd> +<dt> +CONST_UNIVERSAL, macro in int +</dt> +<dd></dd> +<dt> +CONST_UTC, macro in int +</dt> +<dd></dd> +<dt> +content_type_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +copy_func, user_function in hash_int +</dt> +<dd></dd> +<dt> +credentials, function in gnutlsxx +</dt> +<dd></dd> +<dt> +CRED_RET_SUCCESS, macro in cert-cred +</dt> +<dd></dd> +<dt> +CRYPTOKI_GNU, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +crypto_bigint_prio, variable in mpi +</dt> +<dd></dd> +<dt> +crypto_cipher_prio, variable in cipher_int +</dt> +<dd></dd> +<dt> +crypto_digest_prio, variable in hash_int +</dt> +<dd></dd> +<dt> +crypto_mac_prio, variable in hash_int +</dt> +<dd></dd> +<dt> +crypto_pk_prio, variable in pk +</dt> +<dd></dd> +<dt> +crypto_rnd_prio, variable in random +</dt> +<dd></dd> +<dt> +CS_INVALID_MAJOR, macro in algorithms +</dt> +<dd></dd> +<dt> +CS_INVALID_MINOR, macro in algorithms +</dt> +<dd></dd> +<dt> +curve_is_modern_ecdh, function in algorithms +</dt> +<dd></dd> +<a name="idxD"></a><h3 class="title">D</h3> +<dt> +dane_cert_type_name, function in dane +</dt> +<dd></dd> +<dt> +dane_cert_type_t, enum in dane +</dt> +<dd></dd> +<dt> +dane_cert_usage_name, function in dane +</dt> +<dd></dd> +<dt> +dane_cert_usage_t, enum in dane +</dt> +<dd></dd> +<dt> +DANE_E_CERT_ERROR, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_FILE_ERROR, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_INITIALIZATION_ERROR, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_INVALID_DNSSEC_SIG, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_INVALID_REQUEST, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_MEMORY_ERROR, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_NO_CERT, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_NO_DANE_DATA, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_NO_DNSSEC_SIG, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_PUBKEY_ERROR, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_RECEIVED_CORRUPT_DATA, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_REQUESTED_DATA_NOT_AVAILABLE, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_RESOLVING_ERROR, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_SUCCESS, macro in dane +</dt> +<dd></dd> +<dt> +DANE_E_UNKNOWN_DANE_DATA, macro in dane +</dt> +<dd></dd> +<dt> +dane_match_type_name, function in dane +</dt> +<dd></dd> +<dt> +dane_match_type_t, enum in dane +</dt> +<dd></dd> +<dt> +dane_query_data, function in dane +</dt> +<dd></dd> +<dt> +dane_query_deinit, function in dane +</dt> +<dd></dd> +<dt> +dane_query_entries, function in dane +</dt> +<dd></dd> +<dt> +dane_query_status, function in dane +</dt> +<dd></dd> +<dt> +dane_query_status_t, enum in dane +</dt> +<dd></dd> +<dt> +dane_query_t, typedef in dane +</dt> +<dd></dd> +<dt> +dane_query_tlsa, function in dane +</dt> +<dd></dd> +<dt> +dane_query_to_raw_tlsa, function in dane +</dt> +<dd></dd> +<dt> +dane_raw_tlsa, function in dane +</dt> +<dd></dd> +<dt> +dane_state_deinit, function in dane +</dt> +<dd></dd> +<dt> +dane_state_flags_t, enum in dane +</dt> +<dd></dd> +<dt> +dane_state_init, function in dane +</dt> +<dd></dd> +<dt> +dane_state_set_dlv_file, function in dane +</dt> +<dd></dd> +<dt> +dane_state_t, typedef in dane +</dt> +<dd></dd> +<dt> +dane_strerror, function in dane +</dt> +<dd></dd> +<dt> +dane_verification_status_print, function in dane +</dt> +<dd></dd> +<dt> +DANE_VERIFY_CA_CONSTRAINS_VIOLATED, macro in dane +</dt> +<dd></dd> +<dt> +dane_verify_crt, function in dane +</dt> +<dd></dd> +<dt> +dane_verify_crt_raw, function in dane +</dt> +<dd></dd> +<dt> +dane_verify_flags_t, enum in dane +</dt> +<dd></dd> +<dt> +DANE_VERIFY_NO_DANE_INFO, macro in dane +</dt> +<dd></dd> +<dt> +dane_verify_session_crt, function in dane +</dt> +<dd></dd> +<dt> +dane_verify_status_t, enum in dane +</dt> +<dd></dd> +<dt> +DATA_OID, macro in pkcs7_int +</dt> +<dd></dd> +<dt> +db_check_entry, function in gnutlsxx +</dt> +<dd></dd> +<dt> +db_remove, function in gnutlsxx +</dt> +<dd></dd> +<dt> +decode_ber_digest_info, macro in pk +</dt> +<dd></dd> +<dt> +decomp_header_0, macro in decomposition-table1 +</dt> +<dd></dd> +<dt> +decomp_header_1, macro in decomposition-table1 +</dt> +<dd></dd> +<dt> +decomp_header_2, macro in decomposition-table1 +</dt> +<dd></dd> +<dt> +decomp_header_3, macro in decomposition-table1 +</dt> +<dd></dd> +<dt> +decomp_header_4, macro in decomposition-table1 +</dt> +<dd></dd> +<dt> +decomp_index, function in decomposition-table +</dt> +<dd></dd> +<dt> +DECR_LEN, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DECR_LENGTH_COM, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DECR_LENGTH_RET, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DECR_LEN_FINAL, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DEFAULT_CERT_TYPE, macro in state +</dt> +<dd></dd> +<dt> +DEFAULT_EC_GROUP, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DEFAULT_EXPIRE_TIME, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DEFAULT_HANDSHAKE_TIMEOUT_MS, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DEFAULT_MAX_EARLY_DATA_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DEFAULT_MAX_EMPTY_RECORDS, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DEFAULT_MAX_RECORD_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DEFAULT_MAX_VERIFY_BITS, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DEFAULT_MAX_VERIFY_DEPTH, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DEF_ATOMIC_INT, macro in atomic +</dt> +<dd></dd> +<dt> +DEPRECATED, macro in attribute +</dt> +<dd></dd> +<dt> +DERIVED_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +dev_t, macro in types +</dt> +<dd></dd> +<dt> +DH_G, macro in crypto-backend +</dt> +<dd></dd> +<dt> +dh_info_st, struct in dh_common +</dt> +<dd></dd> +<dt> +DH_P, macro in crypto-backend +</dt> +<dd></dd> +<dt> +dh_params_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +DH_PRIVATE_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +DH_PUBLIC_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +DH_Q, macro in crypto-backend +</dt> +<dd></dd> +<dt> +DH_X, macro in crypto-backend +</dt> +<dd></dd> +<dt> +DH_Y, macro in crypto-backend +</dt> +<dd></dd> +<dt> +DIGESTED_DATA_OID, macro in pkcs7_int +</dt> +<dd></dd> +<dt> +digest_hd_st, struct in hash_int +</dt> +<dd></dd> +<dt> +DIGEST_SIZE, macro in dsa-fips +</dt> +<dd></dd> +<dt> +div_ceil, macro in dsa-fips +</dt> +<dd></dd> +<dt> +DOWN, macro in int +</dt> +<dd></dd> +<dt> +drbg_aes_ctx, struct in drbg-aes +</dt> +<dd></dd> +<dt> +drbg_aes_generate, function in drbg-aes +</dt> +<dd></dd> +<dt> +drbg_aes_init, function in drbg-aes +</dt> +<dd></dd> +<dt> +drbg_aes_is_seeded, function in drbg-aes +</dt> +<dd></dd> +<dt> +DRBG_AES_KEY_SIZE, macro in drbg-aes +</dt> +<dd></dd> +<dt> +drbg_aes_random, function in drbg-aes +</dt> +<dd></dd> +<dt> +drbg_aes_reseed, function in drbg-aes +</dt> +<dd></dd> +<dt> +DRBG_AES_RESEED_TIME, macro in drbg-aes +</dt> +<dd></dd> +<dt> +DRBG_AES_SEED_SIZE, macro in drbg-aes +</dt> +<dd></dd> +<dt> +drbg_aes_self_test, function in drbg-aes +</dt> +<dd></dd> +<dt> +DSA_G, macro in crypto-backend +</dt> +<dd></dd> +<dt> +dsa_generate_dss_keypair, function in dsa-fips +</dt> +<dd></dd> +<dt> +dsa_generate_dss_pqg, function in dsa-fips +</dt> +<dd></dd> +<dt> +DSA_P, macro in crypto-backend +</dt> +<dd></dd> +<dt> +DSA_PRIVATE_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +DSA_PUBLIC_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +DSA_Q, macro in crypto-backend +</dt> +<dd></dd> +<dt> +dsa_validate_dss_pqg, function in dsa-fips +</dt> +<dd></dd> +<dt> +DSA_X, macro in crypto-backend +</dt> +<dd></dd> +<dt> +DSA_Y, macro in crypto-backend +</dt> +<dd></dd> +<dt> +dss_params_validation_seeds, struct in dsa-fips +</dt> +<dd></dd> +<dt> +DTLS_DEFAULT_MTU, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DTLS_HANDSHAKE_HEADER_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DTLS_MAX_COOKIE_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DTLS_RECORD_HEADER_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +DTLS_RETRANS_TIMEOUT, macro in gnutls_int +</dt> +<dd></dd> +<dt> +dtls_st, struct in gnutls_int +</dt> +<dd></dd> +<a name="idxE"></a><h3 class="title">E</h3> +<dt> +EARLY_EXPORTER_MASTER_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +EARLY_TRAFFIC_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +ecc_curve, struct in ecc-gost-curve +</dt> +<dd></dd> +<dt> +ECC_K, macro in crypto-backend +</dt> +<dd></dd> +<dt> +ECC_PRIVATE_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +ECC_PUBLIC_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +ECC_X, macro in crypto-backend +</dt> +<dd></dd> +<dt> +ECC_Y, macro in crypto-backend +</dt> +<dd></dd> +<dt> +ECDH_X25519_OID, macro in common +</dt> +<dd></dd> +<dt> +ECDH_X448_OID, macro in common +</dt> +<dd></dd> +<dt> +ENABLE_ALIGN16, macro in gnutls_int +</dt> +<dd></dd> +<dt> +ENABLE_COMPAT, macro in gnutls_int +</dt> +<dd></dd> +<dt> +ENABLE_PRIO_COMPAT, macro in gnutls_int +</dt> +<dd></dd> +<dt> +encipher_type, enum in algorithms +</dt> +<dd></dd> +<dt> +encode_ber_digest_info, function in pk +</dt> +<dd></dd> +<dt> +ENC_DATA_OID, macro in pkcs7_int +</dt> +<dd></dd> +<dt> +end_ms, variable in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +EPOCH_NEXT, macro in gnutls_int +</dt> +<dd></dd> +<dt> +EPOCH_READ_CURRENT, macro in gnutls_int +</dt> +<dd></dd> +<dt> +EPOCH_WRITE_CURRENT, macro in gnutls_int +</dt> +<dd></dd> +<dt> +Estrcat, macro in gstr +</dt> +<dd></dd> +<dt> +Estrcpy, macro in gstr +</dt> +<dd></dd> +<dt> +ETYPE_CLASS, macro in int +</dt> +<dd></dd> +<dt> +ETYPE_OK, macro in int +</dt> +<dd></dd> +<dt> +ETYPE_TAG, macro in int +</dt> +<dd></dd> +<dt> +exception, function in gnutlsxx +</dt> +<dd></dd> +<dt> +EXPAND_OBJECT_ID_MAX_RECURSION, macro in parser_aux +</dt> +<dd></dd> +<dt> +EXPORTER_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +EXPORTER_MASTER_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +export_pkcs1, function in gnutlsxx +</dt> +<dd></dd> +<dt> +export_pkcs3, function in gnutlsxx +</dt> +<dd></dd> +<dt> +export_raw, function in gnutlsxx +</dt> +<dd></dd> +<dt> +extensions_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +EXTRA_COMP_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +EXT_BINDER_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +ext_mod_alpn, variable in alpn +</dt> +<dd></dd> +<dt> +ext_mod_client_cert_type, variable in client_cert_type +</dt> +<dd></dd> +<dt> +ext_mod_compress_certificate, variable in compress_certificate +</dt> +<dd></dd> +<dt> +ext_mod_cookie, variable in cookie +</dt> +<dd></dd> +<dt> +ext_mod_dumbfw, variable in dumbfw +</dt> +<dd></dd> +<dt> +ext_mod_early_data, variable in early_data +</dt> +<dd></dd> +<dt> +ext_mod_etm, variable in etm +</dt> +<dd></dd> +<dt> +ext_mod_ext_master_secret, variable in ext_master_secret +</dt> +<dd></dd> +<dt> +ext_mod_heartbeat, variable in heartbeat +</dt> +<dd></dd> +<dt> +ext_mod_key_share, variable in key_share +</dt> +<dd></dd> +<dt> +ext_mod_max_record_size, variable in max_record +</dt> +<dd></dd> +<dt> +ext_mod_post_handshake, variable in post_handshake +</dt> +<dd></dd> +<dt> +ext_mod_pre_shared_key, variable in pre_shared_key +</dt> +<dd></dd> +<dt> +ext_mod_psk_ke_modes, variable in psk_ke_modes +</dt> +<dd></dd> +<dt> +ext_mod_record_size_limit, variable in record_size_limit +</dt> +<dd></dd> +<dt> +ext_mod_server_cert_type, variable in server_cert_type +</dt> +<dd></dd> +<dt> +ext_mod_server_name, variable in server_name +</dt> +<dd></dd> +<dt> +ext_mod_session_ticket, variable in session_ticket +</dt> +<dd></dd> +<dt> +ext_mod_sig, variable in signature +</dt> +<dd></dd> +<dt> +ext_mod_sr, variable in safe_renegotiation +</dt> +<dd></dd> +<dt> +ext_mod_srp, variable in srp +</dt> +<dd></dd> +<dt> +ext_mod_srtp, variable in srtp +</dt> +<dd></dd> +<dt> +ext_mod_status_request, variable in status_request +</dt> +<dd></dd> +<dt> +ext_mod_supported_ec_point_formats, variable in ec_point_formats +</dt> +<dd></dd> +<dt> +ext_mod_supported_groups, variable in supported_groups +</dt> +<dd></dd> +<dt> +ext_mod_supported_versions, variable in supported_versions +</dt> +<dd></dd> +<dt> +ext_msg_validity_to_str, function in hello_ext +</dt> +<dd></dd> +<dt> +EXT_SRTP_H, macro in srtp +</dt> +<dd></dd> +<dt> +ext_track_t, macro in gnutls_int +</dt> +<dd></dd> +<a name="idxF"></a><h3 class="title">F</h3> +<dt> +FAGAIN, macro in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +FAIL_IF_LIB_ERROR, macro in fips +</dt> +<dd></dd> +<dt> +FALLTHROUGH, macro in attribute +</dt> +<dd></dd> +<dt> +FINAL_STATE, macro in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +find_func_t, user_function in pkcs11_int +</dt> +<dd></dd> +<dt> +FIPS140_RND_KEY_SIZE, macro in fips +</dt> +<dd></dd> +<dt> +FIPS_RULE, macro in fips +</dt> +<dd></dd> +<dt> +FIX_KEY_USAGE, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +FIX_SIGN_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +free_cas, function in gnutlsxx +</dt> +<dd></dd> +<dt> +free_ca_names, function in gnutlsxx +</dt> +<dd></dd> +<dt> +free_crls, function in gnutlsxx +</dt> +<dd></dd> +<dt> +free_keys, function in gnutlsxx +</dt> +<dd></dd> +<dt> +FRIENDLY_NAME_OID, macro in x509_int +</dt> +<dd></dd> +<dt> +FUNC, function in u-normalize-internal +</dt> +<dd></dd> +<a name="idxG"></a><h3 class="title">G</h3> +<dt> +generate, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_alert, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_auth_type, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_cipher, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_code, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_data, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_dh_secret_bits, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_entropy_func, user_function in rnd-common +</dt> +<dd></dd> +<dt> +get_handshake_last_out, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_params_t, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_protocol_version, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_record_direction, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_request_status, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_total_headers2, function in record +</dt> +<dd></dd> +<dt> +get_transport_ptr, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_user_ptr, function in gnutlsxx +</dt> +<dd></dd> +<dt> +get_version, function in gnutls_int +</dt> +<dd></dd> +<dt> +GHASH_POLY, macro in block-internal +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#giovec-t" title="giovec_t">giovec_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gl_int16_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_int32_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +GL_INT64_T, macro in stdint.in +</dt> +<dd></dd> +<dt> +gl_int64_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_int8_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_intmax_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_intptr_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_int_fast16_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_int_fast32_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_int_fast8_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_uint16_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_uint32_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +GL_UINT64_T, macro in stdint.in +</dt> +<dd></dd> +<dt> +gl_uint64_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_uint8_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_uintmax_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_uintptr_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_uint_fast16_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_uint_fast32_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_uint_fast8_t, typedef in stdint.in +</dt> +<dd></dd> +<dt> +gl_uninorm_decompose_merge_sort_inplace, function in decompose-internal +</dt> +<dd></dd> +<dt> +gl_uninorm_decomp_index_table, variable in decomposition-table2 +</dt> +<dd></dd> +<dt> +GNULIB_defined_dev_t, macro in types +</dt> +<dd></dd> +<dt> +GNULIB_defined_stdint_types, macro in stdint.in +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t">gnutls_abstract_export_flags_t</a>, enum in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-decrypt" title="gnutls_aead_cipher_decrypt ()">gnutls_aead_cipher_decrypt</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-decryptv2" title="gnutls_aead_cipher_decryptv2 ()">gnutls_aead_cipher_decryptv2</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-deinit" title="gnutls_aead_cipher_deinit ()">gnutls_aead_cipher_deinit</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-encrypt" title="gnutls_aead_cipher_encrypt ()">gnutls_aead_cipher_encrypt</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-encryptv" title="gnutls_aead_cipher_encryptv ()">gnutls_aead_cipher_encryptv</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-encryptv2" title="gnutls_aead_cipher_encryptv2 ()">gnutls_aead_cipher_encryptv2</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-set-key" title="gnutls_aead_cipher_set_key ()">gnutls_aead_cipher_set_key</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t">gnutls_alert_description_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-get" title="gnutls_alert_get ()">gnutls_alert_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-get-name" title="gnutls_alert_get_name ()">gnutls_alert_get_name</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-get-strname" title="gnutls_alert_get_strname ()">gnutls_alert_get_strname</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-level-t" title="enum gnutls_alert_level_t">gnutls_alert_level_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-read-func" title="gnutls_alert_read_func ()">gnutls_alert_read_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-send" title="gnutls_alert_send ()">gnutls_alert_send</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-send-appropriate" title="gnutls_alert_send_appropriate ()">gnutls_alert_send_appropriate</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-set-read-function" title="gnutls_alert_set_read_function ()">gnutls_alert_set_read_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()">gnutls_alloc_function</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-ALLOW-ID-CHANGE:CAPS">GNUTLS_ALLOW_ID_CHANGE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alpn-flags-t" title="enum gnutls_alpn_flags_t">gnutls_alpn_flags_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alpn-get-selected-protocol" title="gnutls_alpn_get_selected_protocol ()">gnutls_alpn_get_selected_protocol</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-ALPN-MAND:CAPS" title="GNUTLS_ALPN_MAND">GNUTLS_ALPN_MAND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-alpn-set-protocols" title="gnutls_alpn_set_protocols ()">gnutls_alpn_set_protocols</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-allocate-client-credentials" title="gnutls_anon_allocate_client_credentials ()">gnutls_anon_allocate_client_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-allocate-server-credentials" title="gnutls_anon_allocate_server_credentials ()">gnutls_anon_allocate_server_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-free-client-credentials" title="gnutls_anon_free_client_credentials ()">gnutls_anon_free_client_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-free-server-credentials" title="gnutls_anon_free_server_credentials ()">gnutls_anon_free_server_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-set-params-function" title="gnutls_anon_set_params_function ()">gnutls_anon_set_params_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-dh-params" title="gnutls_anon_set_server_dh_params ()">gnutls_anon_set_server_dh_params</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-known-dh-params" title="gnutls_anon_set_server_known_dh_params ()">gnutls_anon_set_server_known_dh_params</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-params-function" title="gnutls_anon_set_server_params_function ()">gnutls_anon_set_server_params_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-deinit" title="gnutls_anti_replay_deinit ()">gnutls_anti_replay_deinit</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-enable" title="gnutls_anti_replay_enable ()">gnutls_anti_replay_enable</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-init" title="gnutls_anti_replay_init ()">gnutls_anti_replay_init</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-set-add-function" title="gnutls_anti_replay_set_add_function ()">gnutls_anti_replay_set_add_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-set-ptr" title="gnutls_anti_replay_set_ptr ()">gnutls_anti_replay_set_ptr</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-set-window" title="gnutls_anti_replay_set_window ()">gnutls_anti_replay_set_window</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t">gnutls_anti_replay_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_assert, macro in errors +</dt> +<dd></dd> +<dt> +gnutls_assert_val, function in mbuffers +</dt> +<dd></dd> +<dt> +gnutls_assert_val_fatal, macro in errors +</dt> +<dd></dd> +<dt> +gnutls_assert_val_int, function in errors +</dt> +<dd></dd> +<dt> +gnutls_atomic_decrement, macro in atomic +</dt> +<dd></dd> +<dt> +gnutls_atomic_deinit, macro in atomic +</dt> +<dd></dd> +<dt> +gnutls_atomic_increment, macro in atomic +</dt> +<dd></dd> +<dt> +gnutls_atomic_init, macro in atomic +</dt> +<dd></dd> +<dt> +gnutls_atomic_uint_st, struct in atomic +</dt> +<dd></dd> +<dt> +gnutls_atomic_uint_t, macro in atomic +</dt> +<dd></dd> +<dt> +gnutls_atomic_val, macro in atomic +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-audit-log-func" title="gnutls_audit_log_func ()">gnutls_audit_log_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_A_MISSING_SRP_USERNAME, macro in compat +</dt> +<dd></dd> +<dt> +GNUTLS_A_UNKNOWN_SRP_USERNAME, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-base64-decode2" title="gnutls_base64_decode2 ()">gnutls_base64_decode2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-base64-encode2" title="gnutls_base64_encode2 ()">gnutls_base64_encode2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_bigint_format_t, enum in crypto-backend +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-BITS-ARE-CURVE:CAPS" title="GNUTLS_BITS_ARE_CURVE()">GNUTLS_BITS_ARE_CURVE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-BITS-HAVE-SUBGROUP:CAPS" title="GNUTLS_BITS_HAVE_SUBGROUP()">GNUTLS_BITS_HAVE_SUBGROUP</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-BITS-TO-CURVE:CAPS" title="GNUTLS_BITS_TO_CURVE()">GNUTLS_BITS_TO_CURVE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-BITS-TO-GROUP:CAPS" title="GNUTLS_BITS_TO_GROUP()">GNUTLS_BITS_TO_GROUP</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-BITS-TO-SUBGROUP:CAPS" title="GNUTLS_BITS_TO_SUBGROUP()">GNUTLS_BITS_TO_SUBGROUP</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-buffer-append-data" title="gnutls_buffer_append_data ()">gnutls_buffer_append_data</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_buffer_st, struct in str +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-buffer-t" title="gnutls_buffer_t">gnutls_buffer_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-bye" title="gnutls_bye ()">gnutls_bye</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-calloc-function" title="gnutls_calloc_function ()">gnutls_calloc_function</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-activation-time-peers" title="gnutls_certificate_activation_time_peers ()">gnutls_certificate_activation_time_peers</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-allocate-credentials" title="gnutls_certificate_allocate_credentials ()">gnutls_certificate_allocate_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-client-get-request-status" title="gnutls_certificate_client_get_request_status ()">gnutls_certificate_client_get_request_status</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-credentials-st" title="struct gnutls_certificate_credentials_st">gnutls_certificate_credentials_st</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-expiration-time-peers" title="gnutls_certificate_expiration_time_peers ()">gnutls_certificate_expiration_time_peers</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-flags" title="enum gnutls_certificate_flags">gnutls_certificate_flags</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-cas" title="gnutls_certificate_free_cas ()">gnutls_certificate_free_cas</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-ca-names" title="gnutls_certificate_free_ca_names ()">gnutls_certificate_free_ca_names</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-credentials" title="gnutls_certificate_free_credentials ()">gnutls_certificate_free_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-crls" title="gnutls_certificate_free_crls ()">gnutls_certificate_free_crls</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-keys" title="gnutls_certificate_free_keys ()">gnutls_certificate_free_keys</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-crt-raw" title="gnutls_certificate_get_crt_raw ()">gnutls_certificate_get_crt_raw</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-issuer" title="gnutls_certificate_get_issuer ()">gnutls_certificate_get_issuer</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-ocsp-expiration" title="gnutls_certificate_get_ocsp_expiration ()">gnutls_certificate_get_ocsp_expiration</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-get-openpgp-crt" title="gnutls_certificate_get_openpgp_crt ()">gnutls_certificate_get_openpgp_crt</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-get-openpgp-key" title="gnutls_certificate_get_openpgp_key ()">gnutls_certificate_get_openpgp_key</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-ours" title="gnutls_certificate_get_ours ()">gnutls_certificate_get_ours</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers" title="gnutls_certificate_get_peers ()">gnutls_certificate_get_peers</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers-subkey-id" title="gnutls_certificate_get_peers_subkey_id ()">gnutls_certificate_get_peers_subkey_id</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-certificate-get-trust-list" title="gnutls_certificate_get_trust_list ()">gnutls_certificate_get_trust_list</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-verify-flags" title="gnutls_certificate_get_verify_flags ()">gnutls_certificate_get_verify_flags</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-x509-crt" title="gnutls_certificate_get_x509_crt ()">gnutls_certificate_get_x509_crt</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-x509-key" title="gnutls_certificate_get_x509_key ()">gnutls_certificate_get_x509_key</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-certificate-import-flags" title="enum gnutls_certificate_import_flags">gnutls_certificate_import_flags</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t">gnutls_certificate_print_formats_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-request-t" title="enum gnutls_certificate_request_t">gnutls_certificate_request_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()">gnutls_certificate_send_x509_rdn_sequence</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-server-set-request" title="gnutls_certificate_server_set_request ()">gnutls_certificate_server_set_request</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-dh-params" title="gnutls_certificate_set_dh_params ()">gnutls_certificate_set_dh_params</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()">gnutls_certificate_set_flags</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-certificate-set-key" title="gnutls_certificate_set_key ()">gnutls_certificate_set_key</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-known-dh-params" title="gnutls_certificate_set_known_dh_params ()">gnutls_certificate_set_known_dh_params</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-file" title="gnutls_certificate_set_ocsp_status_request_file ()">gnutls_certificate_set_ocsp_status_request_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-file2" title="gnutls_certificate_set_ocsp_status_request_file2 ()">gnutls_certificate_set_ocsp_status_request_file2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-function" title="gnutls_certificate_set_ocsp_status_request_function ()">gnutls_certificate_set_ocsp_status_request_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-function2" title="gnutls_certificate_set_ocsp_status_request_function2 ()">gnutls_certificate_set_ocsp_status_request_function2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-mem" title="gnutls_certificate_set_ocsp_status_request_mem ()">gnutls_certificate_set_ocsp_status_request_mem</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key" title="gnutls_certificate_set_openpgp_key ()">gnutls_certificate_set_openpgp_key</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-keyring-file" title="gnutls_certificate_set_openpgp_keyring_file ()">gnutls_certificate_set_openpgp_keyring_file</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-keyring-mem" title="gnutls_certificate_set_openpgp_keyring_mem ()">gnutls_certificate_set_openpgp_keyring_mem</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-file" title="gnutls_certificate_set_openpgp_key_file ()">gnutls_certificate_set_openpgp_key_file</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-file2" title="gnutls_certificate_set_openpgp_key_file2 ()">gnutls_certificate_set_openpgp_key_file2</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-mem" title="gnutls_certificate_set_openpgp_key_mem ()">gnutls_certificate_set_openpgp_key_mem</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-mem2" title="gnutls_certificate_set_openpgp_key_mem2 ()">gnutls_certificate_set_openpgp_key_mem2</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-params-function" title="gnutls_certificate_set_params_function ()">gnutls_certificate_set_params_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-pin-function" title="gnutls_certificate_set_pin_function ()">gnutls_certificate_set_pin_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-rawpk-key-file" title="gnutls_certificate_set_rawpk_key_file ()">gnutls_certificate_set_rawpk_key_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-rawpk-key-mem" title="gnutls_certificate_set_rawpk_key_mem ()">gnutls_certificate_set_rawpk_key_mem</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-retrieve-function" title="gnutls_certificate_set_retrieve_function ()">gnutls_certificate_set_retrieve_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-certificate-set-retrieve-function2" title="gnutls_certificate_set_retrieve_function2 ()">gnutls_certificate_set_retrieve_function2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-certificate-set-retrieve-function3" title="gnutls_certificate_set_retrieve_function3 ()">gnutls_certificate_set_retrieve_function3</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-certificate-set-trust-list" title="gnutls_certificate_set_trust_list ()">gnutls_certificate_set_trust_list</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-flags" title="gnutls_certificate_set_verify_flags ()">gnutls_certificate_set_verify_flags</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-function" title="gnutls_certificate_set_verify_function ()">gnutls_certificate_set_verify_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-limits" title="gnutls_certificate_set_verify_limits ()">gnutls_certificate_set_verify_limits</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl" title="gnutls_certificate_set_x509_crl ()">gnutls_certificate_set_x509_crl</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-file" title="gnutls_certificate_set_x509_crl_file ()">gnutls_certificate_set_x509_crl_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-mem" title="gnutls_certificate_set_x509_crl_mem ()">gnutls_certificate_set_x509_crl_mem</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key" title="gnutls_certificate_set_x509_key ()">gnutls_certificate_set_x509_key</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file" title="gnutls_certificate_set_x509_key_file ()">gnutls_certificate_set_x509_key_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file2" title="gnutls_certificate_set_x509_key_file2 ()">gnutls_certificate_set_x509_key_file2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem" title="gnutls_certificate_set_x509_key_mem ()">gnutls_certificate_set_x509_key_mem</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem2" title="gnutls_certificate_set_x509_key_mem2 ()">gnutls_certificate_set_x509_key_mem2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-file" title="gnutls_certificate_set_x509_simple_pkcs12_file ()">gnutls_certificate_set_x509_simple_pkcs12_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-mem" title="gnutls_certificate_set_x509_simple_pkcs12_mem ()">gnutls_certificate_set_x509_simple_pkcs12_mem</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-system-trust" title="gnutls_certificate_set_x509_system_trust ()">gnutls_certificate_set_x509_system_trust</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust" title="gnutls_certificate_set_x509_trust ()">gnutls_certificate_set_x509_trust</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-dir" title="gnutls_certificate_set_x509_trust_dir ()">gnutls_certificate_set_x509_trust_dir</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-file" title="gnutls_certificate_set_x509_trust_file ()">gnutls_certificate_set_x509_trust_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-mem" title="gnutls_certificate_set_x509_trust_mem ()">gnutls_certificate_set_x509_trust_mem</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-status-t" title="enum gnutls_certificate_status_t">gnutls_certificate_status_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get" title="gnutls_certificate_type_get ()">gnutls_certificate_type_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get2" title="gnutls_certificate_type_get2 ()">gnutls_certificate_type_get2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-certificate-verification-profiles-t" title="enum gnutls_certificate_verification_profiles_t">gnutls_certificate_verification_profiles_t</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-certificate-verification-profile-get-name" title="gnutls_certificate_verification_profile_get_name ()">gnutls_certificate_verification_profile_get_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verification-status-print" title="gnutls_certificate_verification_status_print ()">gnutls_certificate_verification_status_print</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-certificate-verify-flags" title="enum gnutls_certificate_verify_flags">gnutls_certificate_verify_flags</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers" title="gnutls_certificate_verify_peers ()">gnutls_certificate_verify_peers</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()">gnutls_certificate_verify_peers2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers3" title="gnutls_certificate_verify_peers3 ()">gnutls_certificate_verify_peers3</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-CERT-RETR-DEINIT-ALL:CAPS" title="GNUTLS_CERT_RETR_DEINIT_ALL">GNUTLS_CERT_RETR_DEINIT_ALL</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-cert-retr-st" title="struct gnutls_cert_retr_st">gnutls_cert_retr_st</a>, struct in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +gnutls_cert_vfunc, user_function in common +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-channel-binding-t" title="enum gnutls_channel_binding_t">gnutls_channel_binding_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-check-version" title="gnutls_check_version ()">gnutls_check_version</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-add-auth" title="gnutls_cipher_add_auth ()">gnutls_cipher_add_auth</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-aead-decrypt-func" title="gnutls_cipher_aead_decrypt_func ()">gnutls_cipher_aead_decrypt_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-aead-encrypt-func" title="gnutls_cipher_aead_encrypt_func ()">gnutls_cipher_aead_encrypt_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-ARCFOUR:CAPS" title="GNUTLS_CIPHER_ARCFOUR">GNUTLS_CIPHER_ARCFOUR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-auth-func" title="gnutls_cipher_auth_func ()">gnutls_cipher_auth_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt" title="gnutls_cipher_decrypt ()">gnutls_cipher_decrypt</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt2" title="gnutls_cipher_decrypt2 ()">gnutls_cipher_decrypt2</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt3" title="gnutls_cipher_decrypt3 ()">gnutls_cipher_decrypt3</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt-func" title="gnutls_cipher_decrypt_func ()">gnutls_cipher_decrypt_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-deinit" title="gnutls_cipher_deinit ()">gnutls_cipher_deinit</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-deinit-func" title="gnutls_cipher_deinit_func ()">gnutls_cipher_deinit_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt" title="gnutls_cipher_encrypt ()">gnutls_cipher_encrypt</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt2" title="gnutls_cipher_encrypt2 ()">gnutls_cipher_encrypt2</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt3" title="gnutls_cipher_encrypt3 ()">gnutls_cipher_encrypt3</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt-func" title="gnutls_cipher_encrypt_func ()">gnutls_cipher_encrypt_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-flags-t" title="enum gnutls_cipher_flags_t">gnutls_cipher_flags_t</a>, enum in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +GNUTLS_CIPHER_FLAG_NO_REKEY, macro in gnutls_int +</dt> +<dd></dd> +<dt> +GNUTLS_CIPHER_FLAG_ONLY_AEAD, macro in gnutls_int +</dt> +<dd></dd> +<dt> +GNUTLS_CIPHER_FLAG_TAG_PREFIXED, macro in gnutls_int +</dt> +<dd></dd> +<dt> +GNUTLS_CIPHER_FLAG_XOR_NONCE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-get" title="gnutls_cipher_get ()">gnutls_cipher_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-getiv-func" title="gnutls_cipher_getiv_func ()">gnutls_cipher_getiv_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-get-block-size" title="gnutls_cipher_get_block_size ()">gnutls_cipher_get_block_size</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-get-name" title="gnutls_cipher_get_name ()">gnutls_cipher_get_name</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t">gnutls_cipher_hd_t</a>, typedef in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-init" title="gnutls_cipher_init ()">gnutls_cipher_init</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-init-func" title="gnutls_cipher_init_func ()">gnutls_cipher_init_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-128-CBC:CAPS" title="GNUTLS_CIPHER_RIJNDAEL_128_CBC">GNUTLS_CIPHER_RIJNDAEL_128_CBC</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-256-CBC:CAPS" title="GNUTLS_CIPHER_RIJNDAEL_256_CBC">GNUTLS_CIPHER_RIJNDAEL_256_CBC</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-CBC:CAPS" title="GNUTLS_CIPHER_RIJNDAEL_CBC">GNUTLS_CIPHER_RIJNDAEL_CBC</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_cipher_self_test, function in self-test +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-setiv-func" title="gnutls_cipher_setiv_func ()">gnutls_cipher_setiv_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-setkey-func" title="gnutls_cipher_setkey_func ()">gnutls_cipher_setkey_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-set-iv" title="gnutls_cipher_set_iv ()">gnutls_cipher_set_iv</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +gnutls_cipher_suite_entry_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-suite-get-name" title="gnutls_cipher_suite_get_name ()">gnutls_cipher_suite_get_name</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-tag" title="gnutls_cipher_tag ()">gnutls_cipher_tag</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-tag-func" title="gnutls_cipher_tag_func ()">gnutls_cipher_tag_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-CLIENT:CAPS">GNUTLS_CLIENT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-close-request-t" title="enum gnutls_close_request_t">gnutls_close_request_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_compression_get, function in compat +</dt> +<dd></dd> +<dt> +gnutls_compression_get_id, function in compat +</dt> +<dd></dd> +<dt> +gnutls_compression_get_name, function in compat +</dt> +<dd></dd> +<dt> +gnutls_compression_list, function in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-compress-certificate-get-selected-method" title="gnutls_compress_certificate_get_selected_method ()">gnutls_compress_certificate_get_selected_method</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-compress-certificate-set-methods" title="gnutls_compress_certificate_set_methods ()">gnutls_compress_certificate_set_methods</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#GNUTLS-COOKIE-KEY-SIZE:CAPS" title="GNUTLS_COOKIE_KEY_SIZE">GNUTLS_COOKIE_KEY_SIZE</a>, macro in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +gnutls_cpuid, function in x86-common +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-credentials-get" title="gnutls_credentials_get ()">gnutls_credentials_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-credentials-set" title="gnutls_credentials_set ()">gnutls_credentials_set</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-cred-set" title="gnutls_cred_set">gnutls_cred_set</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-CRL-REASON-SUPERSEEDED:CAPS" title="GNUTLS_CRL_REASON_SUPERSEEDED">GNUTLS_CRL_REASON_SUPERSEEDED</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-CRT-RAW:CAPS" title="GNUTLS_CRT_RAW">GNUTLS_CRT_RAW</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_crypto_bigint_register, function in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_bigint_st, struct in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_cipher_st, struct in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_deinit, function in global +</dt> +<dd></dd> +<dt> +gnutls_crypto_digest_st, struct in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_init, function in global +</dt> +<dd></dd> +<dt> +gnutls_crypto_kdf_st, struct in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_mac_st, struct in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_pk_register, function in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_pk_st, struct in crypto-backend +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-aead-cipher" title="gnutls_crypto_register_aead_cipher ()">gnutls_crypto_register_aead_cipher</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-cipher" title="gnutls_crypto_register_cipher ()">gnutls_crypto_register_cipher</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-digest" title="gnutls_crypto_register_digest ()">gnutls_crypto_register_digest</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-mac" title="gnutls_crypto_register_mac ()">gnutls_crypto_register_mac</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +gnutls_crypto_rnd_register, function in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_rnd_st, struct in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_single_cipher_register, function in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_single_cipher_st, macro in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_single_digest_register, function in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_single_digest_st, macro in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_single_mac_register, function in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_crypto_single_mac_st, macro in crypto-backend +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ctype-target-t" title="enum gnutls_ctype_target_t">gnutls_ctype_target_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-CURVE-TO-BITS:CAPS" title="GNUTLS_CURVE_TO_BITS()">GNUTLS_CURVE_TO_BITS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_custom_url_st, struct in urls +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-DATAGRAM:CAPS">GNUTLS_DATAGRAM</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t">gnutls_datum_t</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-add-func" title="gnutls_db_add_func ()">gnutls_db_add_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry" title="gnutls_db_check_entry ()">gnutls_db_check_entry</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry-expire-time" title="gnutls_db_check_entry_expire_time ()">gnutls_db_check_entry_expire_time</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry-time" title="gnutls_db_check_entry_time ()">gnutls_db_check_entry_time</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-get-default-cache-expiration" title="gnutls_db_get_default_cache_expiration ()">gnutls_db_get_default_cache_expiration</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-get-ptr" title="gnutls_db_get_ptr ()">gnutls_db_get_ptr</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-remove-func" title="gnutls_db_remove_func ()">gnutls_db_remove_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-remove-session" title="gnutls_db_remove_session ()">gnutls_db_remove_session</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-retr-func" title="gnutls_db_retr_func ()">gnutls_db_retr_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-cache-expiration" title="gnutls_db_set_cache_expiration ()">gnutls_db_set_cache_expiration</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()">gnutls_db_set_ptr</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-remove-function" title="gnutls_db_set_remove_function ()">gnutls_db_set_remove_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-retrieve-function" title="gnutls_db_set_retrieve_function ()">gnutls_db_set_retrieve_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-store-function" title="gnutls_db_set_store_function ()">gnutls_db_set_store_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-db-store-func" title="gnutls_db_store_func ()">gnutls_db_store_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-decode-ber-digest-info" title="gnutls_decode_ber_digest_info ()">gnutls_decode_ber_digest_info</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-decode-gost-rs-value" title="gnutls_decode_gost_rs_value ()">gnutls_decode_gost_rs_value</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-decode-rs-value" title="gnutls_decode_rs_value ()">gnutls_decode_rs_value</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-DEFAULT-HANDSHAKE-TIMEOUT:CAPS" title="GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT">GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_DEF_SESSION_ID_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()">gnutls_deinit</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-group" title="gnutls_dh_get_group ()">gnutls_dh_get_group</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-peers-public-bits" title="gnutls_dh_get_peers_public_bits ()">gnutls_dh_get_peers_public_bits</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-prime-bits" title="gnutls_dh_get_prime_bits ()">gnutls_dh_get_prime_bits</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-pubkey" title="gnutls_dh_get_pubkey ()">gnutls_dh_get_pubkey</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-secret-bits" title="gnutls_dh_get_secret_bits ()">gnutls_dh_get_secret_bits</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-cpy" title="gnutls_dh_params_cpy ()">gnutls_dh_params_cpy</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-deinit" title="gnutls_dh_params_deinit ()">gnutls_dh_params_deinit</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export2-pkcs3" title="gnutls_dh_params_export2_pkcs3 ()">gnutls_dh_params_export2_pkcs3</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export-pkcs3" title="gnutls_dh_params_export_pkcs3 ()">gnutls_dh_params_export_pkcs3</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export-raw" title="gnutls_dh_params_export_raw ()">gnutls_dh_params_export_raw</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-generate2" title="gnutls_dh_params_generate2 ()">gnutls_dh_params_generate2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-dsa" title="gnutls_dh_params_import_dsa ()">gnutls_dh_params_import_dsa</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-pkcs3" title="gnutls_dh_params_import_pkcs3 ()">gnutls_dh_params_import_pkcs3</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-raw" title="gnutls_dh_params_import_raw ()">gnutls_dh_params_import_raw</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-raw2" title="gnutls_dh_params_import_raw2 ()">gnutls_dh_params_import_raw2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-raw3" title="gnutls_dh_params_import_raw3 ()">gnutls_dh_params_import_raw3</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-init" title="gnutls_dh_params_init ()">gnutls_dh_params_init</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-int" title="struct gnutls_dh_params_int">gnutls_dh_params_int</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-set-prime-bits" title="gnutls_dh_set_prime_bits ()">gnutls_dh_set_prime_bits</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t">gnutls_digest_algorithm_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-digest-copy-func" title="gnutls_digest_copy_func ()">gnutls_digest_copy_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-digest-deinit-func" title="gnutls_digest_deinit_func ()">gnutls_digest_deinit_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-digest-fast-func" title="gnutls_digest_fast_func ()">gnutls_digest_fast_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-digest-hash-func" title="gnutls_digest_hash_func ()">gnutls_digest_hash_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-digest-init-func" title="gnutls_digest_init_func ()">gnutls_digest_init_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-digest-output-func" title="gnutls_digest_output_func ()">gnutls_digest_output_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +gnutls_digest_self_test, function in self-test +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-digest-set-secure" title="gnutls_digest_set_secure ()">gnutls_digest_set_secure</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-SHA:CAPS" title="GNUTLS_DIG_SHA">GNUTLS_DIG_SHA</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_direction_t, enum in crypto-backend +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-send" title="gnutls_dtls_cookie_send ()">gnutls_dtls_cookie_send</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-verify" title="gnutls_dtls_cookie_verify ()">gnutls_dtls_cookie_verify</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-get-data-mtu" title="gnutls_dtls_get_data_mtu ()">gnutls_dtls_get_data_mtu</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-get-mtu" title="gnutls_dtls_get_mtu ()">gnutls_dtls_get_mtu</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-get-timeout" title="gnutls_dtls_get_timeout ()">gnutls_dtls_get_timeout</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-prestate-set" title="gnutls_dtls_prestate_set ()">gnutls_dtls_prestate_set</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-prestate-st" title="gnutls_dtls_prestate_st">gnutls_dtls_prestate_st</a>, struct in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-set-data-mtu" title="gnutls_dtls_set_data_mtu ()">gnutls_dtls_set_data_mtu</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-set-mtu" title="gnutls_dtls_set_mtu ()">gnutls_dtls_set_mtu</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-set-timeouts" title="gnutls_dtls_set_timeouts ()">gnutls_dtls_set_timeouts</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-early-cipher-get" title="gnutls_early_cipher_get ()">gnutls_early_cipher_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-early-prf-hash-get" title="gnutls_early_prf_hash_get ()">gnutls_early_prf_hash_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_ecc_curve_entry_st, struct in algorithms +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-set-enabled" title="gnutls_ecc_curve_set_enabled ()">gnutls_ecc_curve_set_enabled</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t">gnutls_ecc_curve_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-ENABLE-CERT-TYPE-NEG:CAPS" title="GNUTLS_ENABLE_CERT_TYPE_NEG">GNUTLS_ENABLE_CERT_TYPE_NEG</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-ENABLE-FALSE-START:CAPS">GNUTLS_ENABLE_FALSE_START</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-encode-ber-digest-info" title="gnutls_encode_ber_digest_info ()">gnutls_encode_ber_digest_info</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-encode-gost-rs-value" title="gnutls_encode_gost_rs_value ()">gnutls_encode_gost_rs_value</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-encode-rs-value" title="gnutls_encode_rs_value ()">gnutls_encode_rs_value</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-errno-func" title="gnutls_errno_func ()">gnutls_errno_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-error-is-fatal" title="gnutls_error_is_fatal ()">gnutls_error_is_fatal</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-est-record-overhead-size" title="gnutls_est_record_overhead_size ()">gnutls_est_record_overhead_size</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_EXTENSION_MAX_VALUE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-deinit-data-func" title="gnutls_ext_deinit_data_func ()">gnutls_ext_deinit_data_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-flags-t" title="enum gnutls_ext_flags_t">gnutls_ext_flags_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-EXT-FLAG-APPEND:CAPS" title="GNUTLS_EXT_FLAG_APPEND">GNUTLS_EXT_FLAG_APPEND</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +GNUTLS_EXT_FLAG_MSG_MASK, macro in hello_ext +</dt> +<dd></dd> +<dt> +GNUTLS_EXT_FLAG_SET_ONLY_FLAGS_MASK, macro in hello_ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-current-msg" title="gnutls_ext_get_current_msg ()">gnutls_ext_get_current_msg</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-data" title="gnutls_ext_get_data ()">gnutls_ext_get_data</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-name" title="gnutls_ext_get_name ()">gnutls_ext_get_name</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-name2" title="gnutls_ext_get_name2 ()">gnutls_ext_get_name2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-pack-func" title="gnutls_ext_pack_func ()">gnutls_ext_pack_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t">gnutls_ext_parse_type_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-priv-data-t" title="gnutls_ext_priv_data_t">gnutls_ext_priv_data_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-RAW-FLAG-DTLS-CLIENT-HELLO:CAPS" title="GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO">GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-RAW-FLAG-TLS-CLIENT-HELLO:CAPS" title="GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO">GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-raw-parse" title="gnutls_ext_raw_parse ()">gnutls_ext_raw_parse</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-raw-process-func" title="gnutls_ext_raw_process_func ()">gnutls_ext_raw_process_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()">gnutls_ext_recv_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-register" title="gnutls_ext_register ()">gnutls_ext_register</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()">gnutls_ext_send_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-set-data" title="gnutls_ext_set_data ()">gnutls_ext_set_data</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-unpack-func" title="gnutls_ext_unpack_func ()">gnutls_ext_unpack_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN">GNUTLS_E_AGAIN</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ALREADY-REGISTERED:CAPS" title="GNUTLS_E_ALREADY_REGISTERED">GNUTLS_E_ALREADY_REGISTERED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MAX:CAPS" title="GNUTLS_E_APPLICATION_ERROR_MAX">GNUTLS_E_APPLICATION_ERROR_MAX</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MIN:CAPS" title="GNUTLS_E_APPLICATION_ERROR_MIN">GNUTLS_E_APPLICATION_ERROR_MIN</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-ERROR:CAPS" title="GNUTLS_E_ASN1_DER_ERROR">GNUTLS_E_ASN1_DER_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-OVERFLOW:CAPS" title="GNUTLS_E_ASN1_DER_OVERFLOW">GNUTLS_E_ASN1_DER_OVERFLOW</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-ELEMENT-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_ELEMENT_NOT_FOUND">GNUTLS_E_ASN1_ELEMENT_NOT_FOUND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-EMBEDDED-NULL-IN-STRING:CAPS" title="GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING">GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-GENERIC-ERROR:CAPS" title="GNUTLS_E_ASN1_GENERIC_ERROR">GNUTLS_E_ASN1_GENERIC_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-IDENTIFIER-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND">GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-SYNTAX-ERROR:CAPS" title="GNUTLS_E_ASN1_SYNTAX_ERROR">GNUTLS_E_ASN1_SYNTAX_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-ERROR:CAPS" title="GNUTLS_E_ASN1_TAG_ERROR">GNUTLS_E_ASN1_TAG_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-IMPLICIT:CAPS" title="GNUTLS_E_ASN1_TAG_IMPLICIT">GNUTLS_E_ASN1_TAG_IMPLICIT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TIME-ERROR:CAPS" title="GNUTLS_E_ASN1_TIME_ERROR">GNUTLS_E_ASN1_TIME_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TYPE-ANY-ERROR:CAPS" title="GNUTLS_E_ASN1_TYPE_ANY_ERROR">GNUTLS_E_ASN1_TYPE_ANY_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_FOUND">GNUTLS_E_ASN1_VALUE_NOT_FOUND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-VALID:CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_VALID">GNUTLS_E_ASN1_VALUE_NOT_VALID</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-AUTH-ERROR:CAPS" title="GNUTLS_E_AUTH_ERROR">GNUTLS_E_AUTH_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-BAD-COOKIE:CAPS" title="GNUTLS_E_BAD_COOKIE">GNUTLS_E_BAD_COOKIE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-DECODING-ERROR:CAPS" title="GNUTLS_E_BASE64_DECODING_ERROR">GNUTLS_E_BASE64_DECODING_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-ENCODING-ERROR:CAPS" title="GNUTLS_E_BASE64_ENCODING_ERROR">GNUTLS_E_BASE64_ENCODING_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-UNEXPECTED-HEADER-ERROR:CAPS" title="GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR">GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-ERROR:CAPS" title="GNUTLS_E_CERTIFICATE_ERROR">GNUTLS_E_CERTIFICATE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-LIST-UNSORTED:CAPS" title="GNUTLS_E_CERTIFICATE_LIST_UNSORTED">GNUTLS_E_CERTIFICATE_LIST_UNSORTED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-REQUIRED:CAPS" title="GNUTLS_E_CERTIFICATE_REQUIRED">GNUTLS_E_CERTIFICATE_REQUIRED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-TIME-ERROR:CAPS" title="GNUTLS_E_CERTIFICATE_TIME_ERROR">GNUTLS_E_CERTIFICATE_TIME_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR">GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CHANNEL-BINDING-NOT-AVAILABLE:CAPS" title="GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE">GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-COMPRESSION-FAILED:CAPS" title="GNUTLS_E_COMPRESSION_FAILED">GNUTLS_E_COMPRESSION_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CONSTRAINT-ERROR:CAPS" title="GNUTLS_E_CONSTRAINT_ERROR">GNUTLS_E_CONSTRAINT_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRL-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_CRL_VERIFICATION_ERROR">GNUTLS_E_CRL_VERIFICATION_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTODEV-DEVICE-ERROR:CAPS" title="GNUTLS_E_CRYPTODEV_DEVICE_ERROR">GNUTLS_E_CRYPTODEV_DEVICE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTODEV-IOCTL-ERROR:CAPS" title="GNUTLS_E_CRYPTODEV_IOCTL_ERROR">GNUTLS_E_CRYPTODEV_IOCTL_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTO-ALREADY-REGISTERED:CAPS" title="GNUTLS_E_CRYPTO_ALREADY_REGISTERED">GNUTLS_E_CRYPTO_ALREADY_REGISTERED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTO-INIT-FAILED:CAPS" title="GNUTLS_E_CRYPTO_INIT_FAILED">GNUTLS_E_CRYPTO_INIT_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-DB-ENTRY-EXISTS:CAPS" title="GNUTLS_E_DB_ENTRY_EXISTS">GNUTLS_E_DB_ENTRY_EXISTS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-DB-ERROR:CAPS" title="GNUTLS_E_DB_ERROR">GNUTLS_E_DB_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECOMPRESSION-FAILED:CAPS" title="GNUTLS_E_DECOMPRESSION_FAILED">GNUTLS_E_DECOMPRESSION_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_DECRYPTION_FAILED">GNUTLS_E_DECRYPTION_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-DH-PRIME-UNACCEPTABLE:CAPS" title="GNUTLS_E_DH_PRIME_UNACCEPTABLE">GNUTLS_E_DH_PRIME_UNACCEPTABLE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-EARLY-DATA-REJECTED:CAPS" title="GNUTLS_E_EARLY_DATA_REJECTED">GNUTLS_E_EARLY_DATA_REJECTED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ECC-NO-SUPPORTED-CURVES:CAPS" title="GNUTLS_E_ECC_NO_SUPPORTED_CURVES">GNUTLS_E_ECC_NO_SUPPORTED_CURVES</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ECC-UNSUPPORTED-CURVE:CAPS" title="GNUTLS_E_ECC_UNSUPPORTED_CURVE">GNUTLS_E_ECC_UNSUPPORTED_CURVE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ENCRYPTION-FAILED:CAPS" title="GNUTLS_E_ENCRYPTION_FAILED">GNUTLS_E_ENCRYPTION_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ERROR-IN-FINISHED-PACKET:CAPS" title="GNUTLS_E_ERROR_IN_FINISHED_PACKET">GNUTLS_E_ERROR_IN_FINISHED_PACKET</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED:CAPS" title="GNUTLS_E_EXPIRED">GNUTLS_E_EXPIRED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-FATAL-ALERT-RECEIVED:CAPS" title="GNUTLS_E_FATAL_ALERT_RECEIVED">GNUTLS_E_FATAL_ALERT_RECEIVED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-FILE-ERROR:CAPS" title="GNUTLS_E_FILE_ERROR">GNUTLS_E_FILE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-GOT-APPLICATION-DATA:CAPS" title="GNUTLS_E_GOT_APPLICATION_DATA">GNUTLS_E_GOT_APPLICATION_DATA</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-DURING-FALSE-START:CAPS" title="GNUTLS_E_HANDSHAKE_DURING_FALSE_START">GNUTLS_E_HANDSHAKE_DURING_FALSE_START</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-TOO-LARGE:CAPS" title="GNUTLS_E_HANDSHAKE_TOO_LARGE">GNUTLS_E_HANDSHAKE_TOO_LARGE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-HASH-FAILED:CAPS" title="GNUTLS_E_HASH_FAILED">GNUTLS_E_HASH_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-HEARTBEAT-PING-RECEIVED:CAPS" title="GNUTLS_E_HEARTBEAT_PING_RECEIVED">GNUTLS_E_HEARTBEAT_PING_RECEIVED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-HEARTBEAT-PONG-RECEIVED:CAPS" title="GNUTLS_E_HEARTBEAT_PONG_RECEIVED">GNUTLS_E_HEARTBEAT_PONG_RECEIVED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-IA-VERIFY-FAILED:CAPS" title="GNUTLS_E_IA_VERIFY_FAILED">GNUTLS_E_IA_VERIFY_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-IDNA-ERROR:CAPS" title="GNUTLS_E_IDNA_ERROR">GNUTLS_E_IDNA_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ILLEGAL-PARAMETER:CAPS" title="GNUTLS_E_ILLEGAL_PARAMETER">GNUTLS_E_ILLEGAL_PARAMETER</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ILLEGAL-SRP-USERNAME:CAPS" title="GNUTLS_E_ILLEGAL_SRP_USERNAME">GNUTLS_E_ILLEGAL_SRP_USERNAME</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INAPPROPRIATE-FALLBACK:CAPS" title="GNUTLS_E_INAPPROPRIATE_FALLBACK">GNUTLS_E_INAPPROPRIATE_FALLBACK</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-CRYPTO-LIBRARY:CAPS" title="GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY">GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-GCRYPT-LIBRARY:CAPS" title="GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY">GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-LIBTASN1-LIBRARY:CAPS" title="GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY">GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-SIG-WITH-KEY:CAPS" title="GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY">GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPAT-DSA-KEY-WITH-TLS-PROTOCOL:CAPS" title="GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL">GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CRED:CAPS" title="GNUTLS_E_INSUFFICIENT_CRED">GNUTLS_E_INSUFFICIENT_CRED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CREDENTIALS:CAPS" title="GNUTLS_E_INSUFFICIENT_CREDENTIALS">GNUTLS_E_INSUFFICIENT_CREDENTIALS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-SECURITY:CAPS" title="GNUTLS_E_INSUFFICIENT_SECURITY">GNUTLS_E_INSUFFICIENT_SECURITY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CRED:CAPS" title="GNUTLS_E_INSUFICIENT_CRED">GNUTLS_E_INSUFICIENT_CRED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CREDENTIALS:CAPS" title="GNUTLS_E_INSUFICIENT_CREDENTIALS">GNUTLS_E_INSUFICIENT_CREDENTIALS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERNAL-ERROR:CAPS" title="GNUTLS_E_INTERNAL_ERROR">GNUTLS_E_INTERNAL_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED">GNUTLS_E_INTERRUPTED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INT-CHECK-AGAIN:CAPS" title="GNUTLS_E_INT_CHECK_AGAIN">GNUTLS_E_INT_CHECK_AGAIN</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INT-RET-0:CAPS" title="GNUTLS_E_INT_RET_0">GNUTLS_E_INT_RET_0</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-PASSWORD:CAPS" title="GNUTLS_E_INVALID_PASSWORD">GNUTLS_E_INVALID_PASSWORD</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-PASSWORD-STRING:CAPS" title="GNUTLS_E_INVALID_PASSWORD_STRING">GNUTLS_E_INVALID_PASSWORD_STRING</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST">GNUTLS_E_INVALID_REQUEST</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-SESSION:CAPS" title="GNUTLS_E_INVALID_SESSION">GNUTLS_E_INVALID_SESSION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-UTF8-EMAIL:CAPS" title="GNUTLS_E_INVALID_UTF8_EMAIL">GNUTLS_E_INVALID_UTF8_EMAIL</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-UTF8-STRING:CAPS" title="GNUTLS_E_INVALID_UTF8_STRING">GNUTLS_E_INVALID_UTF8_STRING</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEYFILE-ERROR:CAPS" title="GNUTLS_E_KEYFILE_ERROR">GNUTLS_E_KEYFILE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEYFILE-PARSING-ERROR:CAPS" title="GNUTLS_E_KEYFILE_PARSING_ERROR">GNUTLS_E_KEYFILE_PARSING_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEY-IMPORT-FAILED:CAPS" title="GNUTLS_E_KEY_IMPORT_FAILED">GNUTLS_E_KEY_IMPORT_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEY-USAGE-VIOLATION:CAPS" title="GNUTLS_E_KEY_USAGE_VIOLATION">GNUTLS_E_KEY_USAGE_VIOLATION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-LARGE-PACKET:CAPS" title="GNUTLS_E_LARGE_PACKET">GNUTLS_E_LARGE_PACKET</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-LIB-IN-ERROR-STATE:CAPS" title="GNUTLS_E_LIB_IN_ERROR_STATE">GNUTLS_E_LIB_IN_ERROR_STATE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-LOCKING-ERROR:CAPS" title="GNUTLS_E_LOCKING_ERROR">GNUTLS_E_LOCKING_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-MAC-VERIFY-FAILED:CAPS" title="GNUTLS_E_MAC_VERIFY_FAILED">GNUTLS_E_MAC_VERIFY_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-MALFORMED-CIDR:CAPS" title="GNUTLS_E_MALFORMED_CIDR">GNUTLS_E_MALFORMED_CIDR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-MEMORY-ERROR:CAPS" title="GNUTLS_E_MEMORY_ERROR">GNUTLS_E_MEMORY_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-MISSING-EXTENSION:CAPS" title="GNUTLS_E_MISSING_EXTENSION">GNUTLS_E_MISSING_EXTENSION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-MPI-PRINT-FAILED:CAPS" title="GNUTLS_E_MPI_PRINT_FAILED">GNUTLS_E_MPI_PRINT_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-MPI-SCAN-FAILED:CAPS" title="GNUTLS_E_MPI_SCAN_FAILED">GNUTLS_E_MPI_SCAN_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NEED-FALLBACK:CAPS" title="GNUTLS_E_NEED_FALLBACK">GNUTLS_E_NEED_FALLBACK</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NOT-YET-ACTIVATED:CAPS" title="GNUTLS_E_NOT_YET_ACTIVATED">GNUTLS_E_NOT_YET_ACTIVATED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-APPLICATION-PROTOCOL:CAPS" title="GNUTLS_E_NO_APPLICATION_PROTOCOL">GNUTLS_E_NO_APPLICATION_PROTOCOL</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-FOUND:CAPS" title="GNUTLS_E_NO_CERTIFICATE_FOUND">GNUTLS_E_NO_CERTIFICATE_FOUND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-STATUS:CAPS" title="GNUTLS_E_NO_CERTIFICATE_STATUS">GNUTLS_E_NO_CERTIFICATE_STATUS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CIPHER-SUITES:CAPS" title="GNUTLS_E_NO_CIPHER_SUITES">GNUTLS_E_NO_CIPHER_SUITES</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-COMMON-KEY-SHARE:CAPS" title="GNUTLS_E_NO_COMMON_KEY_SHARE">GNUTLS_E_NO_COMMON_KEY_SHARE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-COMPRESSION-ALGORITHMS:CAPS" title="GNUTLS_E_NO_COMPRESSION_ALGORITHMS">GNUTLS_E_NO_COMPRESSION_ALGORITHMS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-EMBEDDED-DATA:CAPS" title="GNUTLS_E_NO_EMBEDDED_DATA">GNUTLS_E_NO_EMBEDDED_DATA</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-PRIORITIES-WERE-SET:CAPS" title="GNUTLS_E_NO_PRIORITIES_WERE_SET">GNUTLS_E_NO_PRIORITIES_WERE_SET</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-SELF-TEST:CAPS" title="GNUTLS_E_NO_SELF_TEST">GNUTLS_E_NO_SELF_TEST</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-DH-PARAMS:CAPS" title="GNUTLS_E_NO_TEMPORARY_DH_PARAMS">GNUTLS_E_NO_TEMPORARY_DH_PARAMS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-RSA-PARAMS:CAPS" title="GNUTLS_E_NO_TEMPORARY_RSA_PARAMS">GNUTLS_E_NO_TEMPORARY_RSA_PARAMS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-OCSP-MISMATCH-WITH-CERTS:CAPS" title="GNUTLS_E_OCSP_MISMATCH_WITH_CERTS">GNUTLS_E_OCSP_MISMATCH_WITH_CERTS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-OCSP-RESPONSE-ERROR:CAPS" title="GNUTLS_E_OCSP_RESPONSE_ERROR">GNUTLS_E_OCSP_RESPONSE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-FINGERPRINT-UNSUPPORTED:CAPS" title="GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED">GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-GETKEY-FAILED:CAPS" title="GNUTLS_E_OPENPGP_GETKEY_FAILED">GNUTLS_E_OPENPGP_GETKEY_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-KEYRING-ERROR:CAPS" title="GNUTLS_E_OPENPGP_KEYRING_ERROR">GNUTLS_E_OPENPGP_KEYRING_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-PREFERRED-KEY-ERROR:CAPS" title="GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR">GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-SUBKEY-ERROR:CAPS" title="GNUTLS_E_OPENPGP_SUBKEY_ERROR">GNUTLS_E_OPENPGP_SUBKEY_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-UID-REVOKED:CAPS" title="GNUTLS_E_OPENPGP_UID_REVOKED">GNUTLS_E_OPENPGP_UID_REVOKED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PARSING-ERROR:CAPS" title="GNUTLS_E_PARSING_ERROR">GNUTLS_E_PARSING_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-ATTRIBUTE-ERROR:CAPS" title="GNUTLS_E_PKCS11_ATTRIBUTE_ERROR">GNUTLS_E_PKCS11_ATTRIBUTE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-DATA-ERROR:CAPS" title="GNUTLS_E_PKCS11_DATA_ERROR">GNUTLS_E_PKCS11_DATA_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-DEVICE-ERROR:CAPS" title="GNUTLS_E_PKCS11_DEVICE_ERROR">GNUTLS_E_PKCS11_DEVICE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-ERROR:CAPS" title="GNUTLS_E_PKCS11_ERROR">GNUTLS_E_PKCS11_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-KEY-ERROR:CAPS" title="GNUTLS_E_PKCS11_KEY_ERROR">GNUTLS_E_PKCS11_KEY_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-LOAD-ERROR:CAPS" title="GNUTLS_E_PKCS11_LOAD_ERROR">GNUTLS_E_PKCS11_LOAD_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-PIN-ERROR:CAPS" title="GNUTLS_E_PKCS11_PIN_ERROR">GNUTLS_E_PKCS11_PIN_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-PIN-EXPIRED:CAPS" title="GNUTLS_E_PKCS11_PIN_EXPIRED">GNUTLS_E_PKCS11_PIN_EXPIRED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-PIN-LOCKED:CAPS" title="GNUTLS_E_PKCS11_PIN_LOCKED">GNUTLS_E_PKCS11_PIN_LOCKED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-REQUESTED-OBJECT-NOT-AVAILBLE:CAPS" title="GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE">GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-SESSION-ERROR:CAPS" title="GNUTLS_E_PKCS11_SESSION_ERROR">GNUTLS_E_PKCS11_SESSION_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-SIGNATURE-ERROR:CAPS" title="GNUTLS_E_PKCS11_SIGNATURE_ERROR">GNUTLS_E_PKCS11_SIGNATURE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-SLOT-ERROR:CAPS" title="GNUTLS_E_PKCS11_SLOT_ERROR">GNUTLS_E_PKCS11_SLOT_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-TOKEN-ERROR:CAPS" title="GNUTLS_E_PKCS11_TOKEN_ERROR">GNUTLS_E_PKCS11_TOKEN_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-UNSUPPORTED-FEATURE-ERROR:CAPS" title="GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR">GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-USER-ERROR:CAPS" title="GNUTLS_E_PKCS11_USER_ERROR">GNUTLS_E_PKCS11_USER_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS1-WRONG-PAD:CAPS" title="GNUTLS_E_PKCS1_WRONG_PAD">GNUTLS_E_PKCS1_WRONG_PAD</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_PK_DECRYPTION_FAILED">GNUTLS_E_PK_DECRYPTION_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-ENCRYPTION-FAILED:CAPS" title="GNUTLS_E_PK_ENCRYPTION_FAILED">GNUTLS_E_PK_ENCRYPTION_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-GENERATION-ERROR:CAPS" title="GNUTLS_E_PK_GENERATION_ERROR">GNUTLS_E_PK_GENERATION_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-INVALID-PRIVKEY:CAPS" title="GNUTLS_E_PK_INVALID_PRIVKEY">GNUTLS_E_PK_INVALID_PRIVKEY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-INVALID-PUBKEY:CAPS" title="GNUTLS_E_PK_INVALID_PUBKEY">GNUTLS_E_PK_INVALID_PUBKEY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-INVALID-PUBKEY-PARAMS:CAPS" title="GNUTLS_E_PK_INVALID_PUBKEY_PARAMS">GNUTLS_E_PK_INVALID_PUBKEY_PARAMS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-NO-VALIDATION-PARAMS:CAPS" title="GNUTLS_E_PK_NO_VALIDATION_PARAMS">GNUTLS_E_PK_NO_VALIDATION_PARAMS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIGN-FAILED:CAPS" title="GNUTLS_E_PK_SIGN_FAILED">GNUTLS_E_PK_SIGN_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS" title="GNUTLS_E_PK_SIG_VERIFY_FAILED">GNUTLS_E_PK_SIG_VERIFY_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PREMATURE-TERMINATION:CAPS" title="GNUTLS_E_PREMATURE_TERMINATION">GNUTLS_E_PREMATURE_TERMINATION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PRIVKEY-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_PRIVKEY_VERIFICATION_ERROR">GNUTLS_E_PRIVKEY_VERIFICATION_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PULL-ERROR:CAPS" title="GNUTLS_E_PULL_ERROR">GNUTLS_E_PULL_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-PUSH-ERROR:CAPS" title="GNUTLS_E_PUSH_ERROR">GNUTLS_E_PUSH_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RANDOM-DEVICE-ERROR:CAPS" title="GNUTLS_E_RANDOM_DEVICE_ERROR">GNUTLS_E_RANDOM_DEVICE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RANDOM-FAILED:CAPS" title="GNUTLS_E_RANDOM_FAILED">GNUTLS_E_RANDOM_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REAUTH-REQUEST:CAPS" title="GNUTLS_E_REAUTH_REQUEST">GNUTLS_E_REAUTH_REQUEST</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-DISALLOWED-NAME:CAPS" title="GNUTLS_E_RECEIVED_DISALLOWED_NAME">GNUTLS_E_RECEIVED_DISALLOWED_NAME</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-EXTENSION:CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION">GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER:CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER">GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECORD-LIMIT-REACHED:CAPS" title="GNUTLS_E_RECORD_LIMIT_REACHED">GNUTLS_E_RECORD_LIMIT_REACHED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECORD-OVERFLOW:CAPS" title="GNUTLS_E_RECORD_OVERFLOW">GNUTLS_E_RECORD_OVERFLOW</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS" title="GNUTLS_E_REHANDSHAKE">GNUTLS_E_REHANDSHAKE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SAFE-RENEGOTIATION-FAILED:CAPS" title="GNUTLS_E_SAFE_RENEGOTIATION_FAILED">GNUTLS_E_SAFE_RENEGOTIATION_FAILED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SELF-TEST-ERROR:CAPS" title="GNUTLS_E_SELF_TEST_ERROR">GNUTLS_E_SELF_TEST_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SESSION-EOF:CAPS" title="GNUTLS_E_SESSION_EOF">GNUTLS_E_SESSION_EOF</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SESSION-USER-ID-CHANGED:CAPS" title="GNUTLS_E_SESSION_USER_ID_CHANGED">GNUTLS_E_SESSION_USER_ID_CHANGED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER">GNUTLS_E_SHORT_MEMORY_BUFFER</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SOCKETS-INIT-ERROR:CAPS" title="GNUTLS_E_SOCKETS_INIT_ERROR">GNUTLS_E_SOCKETS_INIT_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-ERROR:CAPS" title="GNUTLS_E_SRP_PWD_ERROR">GNUTLS_E_SRP_PWD_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-PARSING-ERROR:CAPS" title="GNUTLS_E_SRP_PWD_PARSING_ERROR">GNUTLS_E_SRP_PWD_PARSING_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS">GNUTLS_E_SUCCESS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TIMEDOUT:CAPS" title="GNUTLS_E_TIMEDOUT">GNUTLS_E_TIMEDOUT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TLS-PACKET-DECODING-ERROR:CAPS" title="GNUTLS_E_TLS_PACKET_DECODING_ERROR">GNUTLS_E_TLS_PACKET_DECODING_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-EMPTY-PACKETS:CAPS" title="GNUTLS_E_TOO_MANY_EMPTY_PACKETS">GNUTLS_E_TOO_MANY_EMPTY_PACKETS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-HANDSHAKE-PACKETS:CAPS" title="GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS">GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-MATCHES:CAPS" title="GNUTLS_E_TOO_MANY_MATCHES">GNUTLS_E_TOO_MANY_MATCHES</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-ERROR:CAPS" title="GNUTLS_E_TPM_ERROR">GNUTLS_E_TPM_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-KEY-NOT-FOUND:CAPS" title="GNUTLS_E_TPM_KEY_NOT_FOUND">GNUTLS_E_TPM_KEY_NOT_FOUND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-KEY-PASSWORD-ERROR:CAPS" title="GNUTLS_E_TPM_KEY_PASSWORD_ERROR">GNUTLS_E_TPM_KEY_PASSWORD_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-NO-LIB:CAPS" title="GNUTLS_E_TPM_NO_LIB">GNUTLS_E_TPM_NO_LIB</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-SESSION-ERROR:CAPS" title="GNUTLS_E_TPM_SESSION_ERROR">GNUTLS_E_TPM_SESSION_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-SRK-PASSWORD-ERROR:CAPS" title="GNUTLS_E_TPM_SRK_PASSWORD_ERROR">GNUTLS_E_TPM_SRK_PASSWORD_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-UNINITIALIZED:CAPS" title="GNUTLS_E_TPM_UNINITIALIZED">GNUTLS_E_TPM_UNINITIALIZED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNAVAILABLE-DURING-HANDSHAKE:CAPS" title="GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE">GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-EXTENSIONS-LENGTH:CAPS" title="GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH">GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-HANDSHAKE-PACKET:CAPS" title="GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET">GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET:CAPS" title="GNUTLS_E_UNEXPECTED_PACKET">GNUTLS_E_UNEXPECTED_PACKET</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET-LENGTH:CAPS" title="GNUTLS_E_UNEXPECTED_PACKET_LENGTH">GNUTLS_E_UNEXPECTED_PACKET_LENGTH</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE">GNUTLS_E_UNIMPLEMENTED_FEATURE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_ALGORITHM">GNUTLS_E_UNKNOWN_ALGORITHM</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-SUITE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_SUITE">GNUTLS_E_UNKNOWN_CIPHER_SUITE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_TYPE">GNUTLS_E_UNKNOWN_CIPHER_TYPE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-COMPRESSION-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM">GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-HASH-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_HASH_ALGORITHM">GNUTLS_E_UNKNOWN_HASH_ALGORITHM</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-BAG-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE">GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-CONTENT-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE">GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PK-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_PK_ALGORITHM">GNUTLS_E_UNKNOWN_PK_ALGORITHM</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-SRP-USERNAME:CAPS" title="GNUTLS_E_UNKNOWN_SRP_USERNAME">GNUTLS_E_UNKNOWN_SRP_USERNAME</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNRECOGNIZED-NAME:CAPS" title="GNUTLS_E_UNRECOGNIZED_NAME">GNUTLS_E_UNRECOGNIZED_NAME</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSAFE-RENEGOTIATION-DENIED:CAPS" title="GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED">GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-CERTIFICATE-TYPE:CAPS" title="GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE">GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-SIGNATURE-ALGORITHM:CAPS" title="GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM">GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-VERSION-PACKET:CAPS" title="GNUTLS_E_UNSUPPORTED_VERSION_PACKET">GNUTLS_E_UNSUPPORTED_VERSION_PACKET</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNWANTED-ALGORITHM:CAPS" title="GNUTLS_E_UNWANTED_ALGORITHM">GNUTLS_E_UNWANTED_ALGORITHM</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-USER-ERROR:CAPS" title="GNUTLS_E_USER_ERROR">GNUTLS_E_USER_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED:CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED">GNUTLS_E_WARNING_ALERT_RECEIVED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-FPHF-RECEIVED:CAPS" title="GNUTLS_E_WARNING_IA_FPHF_RECEIVED">GNUTLS_E_WARNING_IA_FPHF_RECEIVED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-IPHF-RECEIVED:CAPS" title="GNUTLS_E_WARNING_IA_IPHF_RECEIVED">GNUTLS_E_WARNING_IA_IPHF_RECEIVED</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-CERTIFICATE-ERROR:CAPS" title="GNUTLS_E_X509_CERTIFICATE_ERROR">GNUTLS_E_X509_CERTIFICATE_ERROR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-DUPLICATE-EXTENSION:CAPS" title="GNUTLS_E_X509_DUPLICATE_EXTENSION">GNUTLS_E_X509_DUPLICATE_EXTENSION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNKNOWN-SAN:CAPS" title="GNUTLS_E_X509_UNKNOWN_SAN">GNUTLS_E_X509_UNKNOWN_SAN</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-ATTRIBUTE:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE">GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-CRITICAL-EXTENSION:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION">GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-EXTENSION:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_EXTENSION">GNUTLS_E_X509_UNSUPPORTED_EXTENSION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-OID:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_OID">GNUTLS_E_X509_UNSUPPORTED_OID</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_FALLBACK_SCSV_MAJOR, macro in algorithms +</dt> +<dd></dd> +<dt> +GNUTLS_FALLBACK_SCSV_MINOR, macro in algorithms +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fingerprint" title="gnutls_fingerprint ()">gnutls_fingerprint</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-deinit" title="gnutls_fips140_context_deinit ()">gnutls_fips140_context_deinit</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-init" title="gnutls_fips140_context_init ()">gnutls_fips140_context_init</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-t" title="gnutls_fips140_context_t">gnutls_fips140_context_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-get-operation-state" title="gnutls_fips140_get_operation_state ()">gnutls_fips140_get_operation_state</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-mode-enabled" title="gnutls_fips140_mode_enabled ()">gnutls_fips140_mode_enabled</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-operation-state-t" title="enum gnutls_fips140_operation_state_t">gnutls_fips140_operation_state_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-pop-context" title="gnutls_fips140_pop_context ()">gnutls_fips140_pop_context</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-push-context" title="gnutls_fips140_push_context ()">gnutls_fips140_push_context</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-run-self-tests" title="gnutls_fips140_run_self_tests ()">gnutls_fips140_run_self_tests</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SET-LAX-MODE:CAPS" title="GNUTLS_FIPS140_SET_LAX_MODE">GNUTLS_FIPS140_SET_LAX_MODE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-set-mode" title="gnutls_fips140_set_mode ()">gnutls_fips140_set_mode</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SET-MODE-THREAD:CAPS" title="GNUTLS_FIPS140_SET_MODE_THREAD">GNUTLS_FIPS140_SET_MODE_THREAD</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SET-STRICT-MODE:CAPS" title="GNUTLS_FIPS140_SET_STRICT_MODE">GNUTLS_FIPS140_SET_STRICT_MODE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-fips-mode-t" title="enum gnutls_fips_mode_t">gnutls_fips_mode_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-FLAGS-TO-SIGN-ALGO:CAPS" title="GNUTLS_FLAGS_TO_SIGN_ALGO()">GNUTLS_FLAGS_TO_SIGN_ALGO</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-FORCE-CLIENT-CERT:CAPS">GNUTLS_FORCE_CLIENT_CERT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()">gnutls_free</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-free-function" title="gnutls_free_function ()">gnutls_free_function</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-FSAN-APPEND:CAPS" title="GNUTLS_FSAN_APPEND">GNUTLS_FSAN_APPEND</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-FSAN-ENCODE-OCTET-STRING:CAPS" title="GNUTLS_FSAN_ENCODE_OCTET_STRING">GNUTLS_FSAN_ENCODE_OCTET_STRING</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-FSAN-ENCODE-UTF8-STRING:CAPS" title="GNUTLS_FSAN_ENCODE_UTF8_STRING">GNUTLS_FSAN_ENCODE_UTF8_STRING</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-FSAN-SET:CAPS" title="GNUTLS_FSAN_SET">GNUTLS_FSAN_SET</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +_GNUTLS_GCC_ATTR_DEPRECATED, typedef in compat +</dt> +<dd></dd> +<dt> +gnutls_gettime, variable in system +</dt> +<dd></dd> +<dt> +gnutls_gettime_func, user_function in system +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-get-library-config" title="gnutls_get_library_config ()">gnutls_get_library_config</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_get_raw_issuer_func, user_function in urls +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-get-system-config-file" title="gnutls_get_system_config_file ()">gnutls_get_system_config_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()">gnutls_global_deinit</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()">gnutls_global_init</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-audit-log-function" title="gnutls_global_set_audit_log_function ()">gnutls_global_set_audit_log_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-log-function" title="gnutls_global_set_log_function ()">gnutls_global_set_log_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-log-level" title="gnutls_global_set_log_level ()">gnutls_global_set_log_level</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_global_set_mem_functions, function in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-mutex" title="gnutls_global_set_mutex ()">gnutls_global_set_mutex</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-time-function" title="gnutls_global_set_time_function ()">gnutls_global_set_time_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-gost-paramset-t" title="enum gnutls_gost_paramset_t">gnutls_gost_paramset_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_group_entry_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-group-get" title="gnutls_group_get ()">gnutls_group_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-group-t" title="enum gnutls_group_t">gnutls_group_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">gnutls_handshake</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-HANDSHAKE-ANY:CAPS" title="GNUTLS_HANDSHAKE_ANY">GNUTLS_HANDSHAKE_ANY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t">gnutls_handshake_description_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-get-last-in" title="gnutls_handshake_get_last_in ()">gnutls_handshake_get_last_in</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-get-last-out" title="gnutls_handshake_get_last_out ()">gnutls_handshake_get_last_out</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-hook-func" title="gnutls_handshake_hook_func ()">gnutls_handshake_hook_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-post-client-hello-func" title="gnutls_handshake_post_client_hello_func">gnutls_handshake_post_client_hello_func</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-read-func" title="gnutls_handshake_read_func ()">gnutls_handshake_read_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-secret-func" title="gnutls_handshake_secret_func ()">gnutls_handshake_secret_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-hook-function" title="gnutls_handshake_set_hook_function ()">gnutls_handshake_set_hook_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-max-packet-length" title="gnutls_handshake_set_max_packet_length ()">gnutls_handshake_set_max_packet_length</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-post-client-hello-function" title="gnutls_handshake_set_post_client_hello_function ()">gnutls_handshake_set_post_client_hello_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-random" title="gnutls_handshake_set_random ()">gnutls_handshake_set_random</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-read-function" title="gnutls_handshake_set_read_function ()">gnutls_handshake_set_read_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-secret-function" title="gnutls_handshake_set_secret_function ()">gnutls_handshake_set_secret_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-timeout" title="gnutls_handshake_set_timeout ()">gnutls_handshake_set_timeout</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-simple-hook-func" title="gnutls_handshake_simple_hook_func ()">gnutls_handshake_simple_hook_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-write" title="gnutls_handshake_write ()">gnutls_handshake_write</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hash" title="gnutls_hash ()">gnutls_hash</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hash-copy" title="gnutls_hash_copy ()">gnutls_hash_copy</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hash-deinit" title="gnutls_hash_deinit ()">gnutls_hash_deinit</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hash-get-len" title="gnutls_hash_get_len ()">gnutls_hash_get_len</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t">gnutls_hash_hd_t</a>, typedef in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hash-init" title="gnutls_hash_init ()">gnutls_hash_init</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hash-output" title="gnutls_hash_output ()">gnutls_hash_output</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-HB-LOCAL-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_LOCAL_ALLOWED_TO_SEND">GNUTLS_HB_LOCAL_ALLOWED_TO_SEND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-HB-PEER-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_PEER_ALLOWED_TO_SEND">GNUTLS_HB_PEER_ALLOWED_TO_SEND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-HB-PEER-NOT-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND">GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-allowed" title="gnutls_heartbeat_allowed ()">gnutls_heartbeat_allowed</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-enable" title="gnutls_heartbeat_enable ()">gnutls_heartbeat_enable</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-get-timeout" title="gnutls_heartbeat_get_timeout ()">gnutls_heartbeat_get_timeout</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-ping" title="gnutls_heartbeat_ping ()">gnutls_heartbeat_ping</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-pong" title="gnutls_heartbeat_pong ()">gnutls_heartbeat_pong</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-set-timeouts" title="gnutls_heartbeat_set_timeouts ()">gnutls_heartbeat_set_timeouts</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-HEARTBEAT-WAIT:CAPS" title="GNUTLS_HEARTBEAT_WAIT">GNUTLS_HEARTBEAT_WAIT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-hex2bin" title="gnutls_hex2bin ()">gnutls_hex2bin</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-hex-decode" title="gnutls_hex_decode ()">gnutls_hex_decode</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-hex-decode2" title="gnutls_hex_decode2 ()">gnutls_hex_decode2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-hex-encode" title="gnutls_hex_encode ()">gnutls_hex_encode</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-hex-encode2" title="gnutls_hex_encode2 ()">gnutls_hex_encode2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hkdf-expand" title="gnutls_hkdf_expand ()">gnutls_hkdf_expand</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hkdf-extract" title="gnutls_hkdf_extract ()">gnutls_hkdf_extract</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +gnutls_hkdf_self_test, function in self-test +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hmac" title="gnutls_hmac ()">gnutls_hmac</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-copy" title="gnutls_hmac_copy ()">gnutls_hmac_copy</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-deinit" title="gnutls_hmac_deinit ()">gnutls_hmac_deinit</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-get-len" title="gnutls_hmac_get_len ()">gnutls_hmac_get_len</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t">gnutls_hmac_hd_t</a>, typedef in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-output" title="gnutls_hmac_output ()">gnutls_hmac_output</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-set-nonce" title="gnutls_hmac_set_nonce ()">gnutls_hmac_set_nonce</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-HOOK-BOTH:CAPS" title="GNUTLS_HOOK_BOTH">GNUTLS_HOOK_BOTH</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-HOOK-POST:CAPS" title="GNUTLS_HOOK_POST">GNUTLS_HOOK_POST</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-HOOK-PRE:CAPS" title="GNUTLS_HOOK_PRE">GNUTLS_HOOK_PRE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-IDNA-FORCE-2008:CAPS" title="GNUTLS_IDNA_FORCE_2008">GNUTLS_IDNA_FORCE_2008</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-idna-map" title="gnutls_idna_map ()">gnutls_idna_map</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-idna-reverse-map" title="gnutls_idna_reverse_map ()">gnutls_idna_reverse_map</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-INDEFINITE-TIMEOUT:CAPS" title="GNUTLS_INDEFINITE_TIMEOUT">GNUTLS_INDEFINITE_TIMEOUT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-info-access-what-t" title="enum gnutls_info_access_what_t">gnutls_info_access_what_t</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-init" title="gnutls_init ()">gnutls_init</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-init-flags-t" title="enum gnutls_init_flags_t">gnutls_init_flags_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_INT_TO_POINTER, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-is-secure-function" title="gnutls_is_secure_function ()">gnutls_is_secure_function</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_is_secure_memory, function in global +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-keygen-data-st" title="gnutls_keygen_data_st">gnutls_keygen_data_st</a>, struct in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-keygen-types-t" title="enum gnutls_keygen_types_t">gnutls_keygen_types_t</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-keyid-flags-t" title="enum gnutls_keyid_flags_t">gnutls_keyid_flags_t</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-keylog-func" title="gnutls_keylog_func ()">gnutls_keylog_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-CRL-SIGN:CAPS" title="GNUTLS_KEY_CRL_SIGN">GNUTLS_KEY_CRL_SIGN</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DATA-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_DATA_ENCIPHERMENT">GNUTLS_KEY_DATA_ENCIPHERMENT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DECIPHER-ONLY:CAPS" title="GNUTLS_KEY_DECIPHER_ONLY">GNUTLS_KEY_DECIPHER_ONLY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS" title="GNUTLS_KEY_DIGITAL_SIGNATURE">GNUTLS_KEY_DIGITAL_SIGNATURE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-ENCIPHER-ONLY:CAPS" title="GNUTLS_KEY_ENCIPHER_ONLY">GNUTLS_KEY_ENCIPHER_ONLY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-key-generate" title="gnutls_key_generate ()">gnutls_key_generate</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-AGREEMENT:CAPS" title="GNUTLS_KEY_KEY_AGREEMENT">GNUTLS_KEY_KEY_AGREEMENT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-CERT-SIGN:CAPS" title="GNUTLS_KEY_KEY_CERT_SIGN">GNUTLS_KEY_KEY_CERT_SIGN</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_KEY_ENCIPHERMENT">GNUTLS_KEY_KEY_ENCIPHERMENT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-NON-REPUDIATION:CAPS" title="GNUTLS_KEY_NON_REPUDIATION">GNUTLS_KEY_NON_REPUDIATION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_key_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-ANY:CAPS" title="GNUTLS_KP_ANY">GNUTLS_KP_ANY</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-CODE-SIGNING:CAPS" title="GNUTLS_KP_CODE_SIGNING">GNUTLS_KP_CODE_SIGNING</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-EMAIL-PROTECTION:CAPS" title="GNUTLS_KP_EMAIL_PROTECTION">GNUTLS_KP_EMAIL_PROTECTION</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-FLAG-DISALLOW-ANY:CAPS" title="GNUTLS_KP_FLAG_DISALLOW_ANY">GNUTLS_KP_FLAG_DISALLOW_ANY</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-IPSEC-IKE:CAPS" title="GNUTLS_KP_IPSEC_IKE">GNUTLS_KP_IPSEC_IKE</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-MS-SMART-CARD-LOGON:CAPS" title="GNUTLS_KP_MS_SMART_CARD_LOGON">GNUTLS_KP_MS_SMART_CARD_LOGON</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-OCSP-SIGNING:CAPS" title="GNUTLS_KP_OCSP_SIGNING">GNUTLS_KP_OCSP_SIGNING</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-TIME-STAMPING:CAPS" title="GNUTLS_KP_TIME_STAMPING">GNUTLS_KP_TIME_STAMPING</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-TLS-WWW-CLIENT:CAPS" title="GNUTLS_KP_TLS_WWW_CLIENT">GNUTLS_KP_TLS_WWW_CLIENT</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-KP-TLS-WWW-SERVER:CAPS" title="GNUTLS_KP_TLS_WWW_SERVER">GNUTLS_KP_TLS_WWW_SERVER</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-KU-PEER:CAPS" title="GNUTLS_KU_PEER">GNUTLS_KU_PEER</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-kx-get" title="gnutls_kx_get ()">gnutls_kx_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_KX_INVALID, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-library-config-st" title="gnutls_library_config_st">gnutls_library_config_st</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_lib_state_t, enum in fips +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-load-file" title="gnutls_load_file ()">gnutls_load_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-log-func" title="gnutls_log_func ()">gnutls_log_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-mac-copy-func" title="gnutls_mac_copy_func ()">gnutls_mac_copy_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-mac-deinit-func" title="gnutls_mac_deinit_func ()">gnutls_mac_deinit_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-mac-fast-func" title="gnutls_mac_fast_func ()">gnutls_mac_fast_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +GNUTLS_MAC_FLAG_ALLOW_INSECURE_REVERTIBLE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +GNUTLS_MAC_FLAG_CONTINUOUS_MAC, macro in gnutls_int +</dt> +<dd></dd> +<dt> +GNUTLS_MAC_FLAG_PREIMAGE_INSECURE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +GNUTLS_MAC_FLAG_PREIMAGE_INSECURE_REVERTIBLE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-mac-get" title="gnutls_mac_get ()">gnutls_mac_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-mac-get-nonce-size" title="gnutls_mac_get_nonce_size ()">gnutls_mac_get_nonce_size</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-mac-hash-func" title="gnutls_mac_hash_func ()">gnutls_mac_hash_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-mac-init-func" title="gnutls_mac_init_func ()">gnutls_mac_init_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-mac-output-func" title="gnutls_mac_output_func ()">gnutls_mac_output_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +gnutls_mac_self_test, function in self-test +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-mac-setkey-func" title="gnutls_mac_setkey_func ()">gnutls_mac_setkey_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-mac-setnonce-func" title="gnutls_mac_setnonce_func ()">gnutls_mac_setnonce_func</a>, user_function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-MAC-SHA:CAPS" title="GNUTLS_MAC_SHA">GNUTLS_MAC_SHA</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_MASTER_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-ALGORITHM-NUM:CAPS" title="GNUTLS_MAX_ALGORITHM_NUM">GNUTLS_MAX_ALGORITHM_NUM</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_MAX_PK_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-MAX-QUALIFIERS:CAPS" title="GNUTLS_MAX_QUALIFIERS">GNUTLS_MAX_QUALIFIERS</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID:CAPS" title="GNUTLS_MAX_SESSION_ID">GNUTLS_MAX_SESSION_ID</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID-SIZE:CAPS" title="GNUTLS_MAX_SESSION_ID_SIZE">GNUTLS_MAX_SESSION_ID_SIZE</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-memcmp" title="gnutls_memcmp ()">gnutls_memcmp</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-memset" title="gnutls_memset ()">gnutls_memset</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_modp_2048_group_generator, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_2048_group_prime, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_2048_group_q, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_2048_key_bits, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_3072_group_generator, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_3072_group_prime, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_3072_group_q, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_3072_key_bits, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_4096_group_generator, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_4096_group_prime, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_4096_group_q, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_4096_key_bits, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_6144_group_generator, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_6144_group_prime, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_6144_group_q, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_6144_key_bits, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_8192_group_generator, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_8192_group_prime, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_8192_group_q, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_modp_8192_key_bits, variable in dh +</dt> +<dd></dd> +<dt> +gnutls_mutex_deinit, variable in locks +</dt> +<dd></dd> +<dt> +gnutls_mutex_init, variable in locks +</dt> +<dd></dd> +<dt> +gnutls_mutex_lock, variable in locks +</dt> +<dd></dd> +<dt> +gnutls_mutex_unlock, variable in locks +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-NAME-CONSTRAINTS-FLAG-APPEND:CAPS" title="GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND">GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_name_constraints_st, struct in x509_int +</dt> +<dd></dd> +<dt> +gnutls_nettle_backport_nettle_block16, union in block8 +</dt> +<dd></dd> +<dt> +gnutls_nettle_backport_nettle_block8, union in block8 +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-NONBLOCK:CAPS">GNUTLS_NONBLOCK</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-NO-EXTENSIONS:CAPS">GNUTLS_NO_EXTENSIONS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-NO-REPLAY-PROTECTION:CAPS">GNUTLS_NO_REPLAY_PROTECTION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-NO-SIGNAL:CAPS">GNUTLS_NO_SIGNAL</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-NO-TICKETS:CAPS">GNUTLS_NO_TICKETS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_cert_status_t, enum in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ocsp-data-st" title="gnutls_ocsp_data_st">gnutls_ocsp_data_st</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_OCSP_NONCE, macro in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_print_formats_t, enum in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_add_cert, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_add_cert_id, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_const_t, typedef in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_deinit, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_export, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_get_cert_id, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_get_extension, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_get_nonce, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_get_version, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_import, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_init, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_int, struct in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_print, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_randomize_nonce, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_set_extension, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_set_nonce, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_req_t, typedef in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_check_crt, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_const_t, typedef in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_deinit, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_export, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_export2, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_certs, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_extension, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_nonce, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_produced, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_responder, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_responder2, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_responder_raw_id, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_response, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_signature, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_signature_algorithm, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_single, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_status, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_get_version, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +GNUTLS_OCSP_RESP_ID_DN, macro in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +GNUTLS_OCSP_RESP_ID_KEY, macro in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_import, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_import2, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_init, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_int, struct in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_list_import2, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_print, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_status_t, enum in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_t, typedef in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_verify, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_resp_verify_direct, function in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ocsp-status-request-enable-client" title="gnutls_ocsp_status_request_enable_client ()">gnutls_ocsp_status_request_enable_client</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ocsp-status-request-get" title="gnutls_ocsp_status_request_get ()">gnutls_ocsp_status_request_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ocsp-status-request-get2" title="gnutls_ocsp_status_request_get2 ()">gnutls_ocsp_status_request_get2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-ocsp-status-request-is-checked" title="gnutls_ocsp_status_request_is_checked ()">gnutls_ocsp_status_request_is_checked</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_ocsp_verify_reason_t, enum in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-AD-CAISSUERS:CAPS" title="GNUTLS_OID_AD_CAISSUERS">GNUTLS_OID_AD_CAISSUERS</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-AD-OCSP:CAPS" title="GNUTLS_OID_AD_OCSP">GNUTLS_OID_AD_OCSP</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-AIA:CAPS" title="GNUTLS_OID_AIA">GNUTLS_OID_AIA</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-LDAP-DC:CAPS" title="GNUTLS_OID_LDAP_DC">GNUTLS_OID_LDAP_DC</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-LDAP-UID:CAPS" title="GNUTLS_OID_LDAP_UID">GNUTLS_OID_LDAP_UID</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-PKCS9-EMAIL:CAPS" title="GNUTLS_OID_PKCS9_EMAIL">GNUTLS_OID_PKCS9_EMAIL</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-COUNTRY-OF-CITIZENSHIP:CAPS" title="GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP">GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-COUNTRY-OF-RESIDENCE:CAPS" title="GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE">GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-DATE-OF-BIRTH:CAPS" title="GNUTLS_OID_PKIX_DATE_OF_BIRTH">GNUTLS_OID_PKIX_DATE_OF_BIRTH</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-GENDER:CAPS" title="GNUTLS_OID_PKIX_GENDER">GNUTLS_OID_PKIX_GENDER</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-PLACE-OF-BIRTH:CAPS" title="GNUTLS_OID_PKIX_PLACE_OF_BIRTH">GNUTLS_OID_PKIX_PLACE_OF_BIRTH</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-oid-to-digest" title="gnutls_oid_to_digest ()">gnutls_oid_to_digest</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-COMMON-NAME:CAPS" title="GNUTLS_OID_X520_COMMON_NAME">GNUTLS_OID_X520_COMMON_NAME</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-COUNTRY-NAME:CAPS" title="GNUTLS_OID_X520_COUNTRY_NAME">GNUTLS_OID_X520_COUNTRY_NAME</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-DN-QUALIFIER:CAPS" title="GNUTLS_OID_X520_DN_QUALIFIER">GNUTLS_OID_X520_DN_QUALIFIER</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-GENERATION-QUALIFIER:CAPS" title="GNUTLS_OID_X520_GENERATION_QUALIFIER">GNUTLS_OID_X520_GENERATION_QUALIFIER</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-GIVEN-NAME:CAPS" title="GNUTLS_OID_X520_GIVEN_NAME">GNUTLS_OID_X520_GIVEN_NAME</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-INITIALS:CAPS" title="GNUTLS_OID_X520_INITIALS">GNUTLS_OID_X520_INITIALS</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-LOCALITY-NAME:CAPS" title="GNUTLS_OID_X520_LOCALITY_NAME">GNUTLS_OID_X520_LOCALITY_NAME</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-NAME:CAPS" title="GNUTLS_OID_X520_NAME">GNUTLS_OID_X520_NAME</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-ORGANIZATIONAL-UNIT-NAME:CAPS" title="GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME">GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-ORGANIZATION-NAME:CAPS" title="GNUTLS_OID_X520_ORGANIZATION_NAME">GNUTLS_OID_X520_ORGANIZATION_NAME</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-POSTALCODE:CAPS" title="GNUTLS_OID_X520_POSTALCODE">GNUTLS_OID_X520_POSTALCODE</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-PSEUDONYM:CAPS" title="GNUTLS_OID_X520_PSEUDONYM">GNUTLS_OID_X520_PSEUDONYM</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-STATE-OR-PROVINCE-NAME:CAPS" title="GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME">GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-SURNAME:CAPS" title="GNUTLS_OID_X520_SURNAME">GNUTLS_OID_X520_SURNAME</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-TITLE:CAPS" title="GNUTLS_OID_X520_TITLE">GNUTLS_OID_X520_TITLE</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +GNUTLS_ONCE, macro in locks +</dt> +<dd></dd> +<dt> +gnutls_once, macro in locks +</dt> +<dd></dd> +<dt> +gnutls_once_t, typedef in locks +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-check-email" title="gnutls_openpgp_crt_check_email ()">gnutls_openpgp_crt_check_email</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-check-hostname" title="gnutls_openpgp_crt_check_hostname ()">gnutls_openpgp_crt_check_hostname</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-check-hostname2" title="gnutls_openpgp_crt_check_hostname2 ()">gnutls_openpgp_crt_check_hostname2</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-deinit" title="gnutls_openpgp_crt_deinit ()">gnutls_openpgp_crt_deinit</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-export" title="gnutls_openpgp_crt_export ()">gnutls_openpgp_crt_export</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-export2" title="gnutls_openpgp_crt_export2 ()">gnutls_openpgp_crt_export2</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t">gnutls_openpgp_crt_fmt_t</a>, enum in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-auth-subkey" title="gnutls_openpgp_crt_get_auth_subkey ()">gnutls_openpgp_crt_get_auth_subkey</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-creation-time" title="gnutls_openpgp_crt_get_creation_time ()">gnutls_openpgp_crt_get_creation_time</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-expiration-time" title="gnutls_openpgp_crt_get_expiration_time ()">gnutls_openpgp_crt_get_expiration_time</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-fingerprint" title="gnutls_openpgp_crt_get_fingerprint ()">gnutls_openpgp_crt_get_fingerprint</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +gnutls_openpgp_crt_get_id, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-key-id" title="gnutls_openpgp_crt_get_key_id ()">gnutls_openpgp_crt_get_key_id</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-key-usage" title="gnutls_openpgp_crt_get_key_usage ()">gnutls_openpgp_crt_get_key_usage</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-name" title="gnutls_openpgp_crt_get_name ()">gnutls_openpgp_crt_get_name</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-algorithm" title="gnutls_openpgp_crt_get_pk_algorithm ()">gnutls_openpgp_crt_get_pk_algorithm</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-dsa-raw" title="gnutls_openpgp_crt_get_pk_dsa_raw ()">gnutls_openpgp_crt_get_pk_dsa_raw</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-rsa-raw" title="gnutls_openpgp_crt_get_pk_rsa_raw ()">gnutls_openpgp_crt_get_pk_rsa_raw</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-preferred-key-id" title="gnutls_openpgp_crt_get_preferred_key_id ()">gnutls_openpgp_crt_get_preferred_key_id</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-revoked-status" title="gnutls_openpgp_crt_get_revoked_status ()">gnutls_openpgp_crt_get_revoked_status</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-count" title="gnutls_openpgp_crt_get_subkey_count ()">gnutls_openpgp_crt_get_subkey_count</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-creation-time" title="gnutls_openpgp_crt_get_subkey_creation_time ()">gnutls_openpgp_crt_get_subkey_creation_time</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-expiration-time" title="gnutls_openpgp_crt_get_subkey_expiration_time ()">gnutls_openpgp_crt_get_subkey_expiration_time</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-fingerprint" title="gnutls_openpgp_crt_get_subkey_fingerprint ()">gnutls_openpgp_crt_get_subkey_fingerprint</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-id" title="gnutls_openpgp_crt_get_subkey_id ()">gnutls_openpgp_crt_get_subkey_id</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-idx" title="gnutls_openpgp_crt_get_subkey_idx ()">gnutls_openpgp_crt_get_subkey_idx</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-algorithm" title="gnutls_openpgp_crt_get_subkey_pk_algorithm ()">gnutls_openpgp_crt_get_subkey_pk_algorithm</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-dsa-raw" title="gnutls_openpgp_crt_get_subkey_pk_dsa_raw ()">gnutls_openpgp_crt_get_subkey_pk_dsa_raw</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-rsa-raw" title="gnutls_openpgp_crt_get_subkey_pk_rsa_raw ()">gnutls_openpgp_crt_get_subkey_pk_rsa_raw</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-revoked-status" title="gnutls_openpgp_crt_get_subkey_revoked_status ()">gnutls_openpgp_crt_get_subkey_revoked_status</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-usage" title="gnutls_openpgp_crt_get_subkey_usage ()">gnutls_openpgp_crt_get_subkey_usage</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-version" title="gnutls_openpgp_crt_get_version ()">gnutls_openpgp_crt_get_version</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-import" title="gnutls_openpgp_crt_import ()">gnutls_openpgp_crt_import</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-init" title="gnutls_openpgp_crt_init ()">gnutls_openpgp_crt_init</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-int" title="struct gnutls_openpgp_crt_int">gnutls_openpgp_crt_int</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-print" title="gnutls_openpgp_crt_print ()">gnutls_openpgp_crt_print</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-set-preferred-key-id" title="gnutls_openpgp_crt_set_preferred_key_id ()">gnutls_openpgp_crt_set_preferred_key_id</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-status-t" title="enum gnutls_openpgp_crt_status_t">gnutls_openpgp_crt_status_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t">gnutls_openpgp_crt_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-verify-ring" title="gnutls_openpgp_crt_verify_ring ()">gnutls_openpgp_crt_verify_ring</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-verify-self" title="gnutls_openpgp_crt_verify_self ()">gnutls_openpgp_crt_verify_self</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +GNUTLS_OPENPGP_KEY, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#GNUTLS-OPENPGP-KEYID-SIZE:CAPS" title="GNUTLS_OPENPGP_KEYID_SIZE">GNUTLS_OPENPGP_KEYID_SIZE</a>, macro in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-check-id" title="gnutls_openpgp_keyring_check_id ()">gnutls_openpgp_keyring_check_id</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-deinit" title="gnutls_openpgp_keyring_deinit ()">gnutls_openpgp_keyring_deinit</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-get-crt" title="gnutls_openpgp_keyring_get_crt ()">gnutls_openpgp_keyring_get_crt</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-get-crt-count" title="gnutls_openpgp_keyring_get_crt_count ()">gnutls_openpgp_keyring_get_crt_count</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-import" title="gnutls_openpgp_keyring_import ()">gnutls_openpgp_keyring_import</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-init" title="gnutls_openpgp_keyring_init ()">gnutls_openpgp_keyring_init</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-int" title="struct gnutls_openpgp_keyring_int">gnutls_openpgp_keyring_int</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t">gnutls_openpgp_keyring_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_check_hostname, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_deinit, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_export, macro in compat +</dt> +<dd></dd> +<dt> +GNUTLS_OPENPGP_KEY_FINGERPRINT, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_get_creation_time, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_get_expiration_time, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_get_fingerprint, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_get_id, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_get_key_usage, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_get_name, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_get_pk_algorithm, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_get_version, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_import, macro in compat +</dt> +<dd></dd> +<dt> +gnutls_openpgp_key_init, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#GNUTLS-OPENPGP-MASTER-KEYID-IDX:CAPS" title="GNUTLS_OPENPGP_MASTER_KEYID_IDX">GNUTLS_OPENPGP_MASTER_KEYID_IDX</a>, macro in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-deinit" title="gnutls_openpgp_privkey_deinit ()">gnutls_openpgp_privkey_deinit</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export" title="gnutls_openpgp_privkey_export ()">gnutls_openpgp_privkey_export</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export2" title="gnutls_openpgp_privkey_export2 ()">gnutls_openpgp_privkey_export2</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-dsa-raw" title="gnutls_openpgp_privkey_export_dsa_raw ()">gnutls_openpgp_privkey_export_dsa_raw</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-rsa-raw" title="gnutls_openpgp_privkey_export_rsa_raw ()">gnutls_openpgp_privkey_export_rsa_raw</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-subkey-dsa-raw" title="gnutls_openpgp_privkey_export_subkey_dsa_raw ()">gnutls_openpgp_privkey_export_subkey_dsa_raw</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-subkey-rsa-raw" title="gnutls_openpgp_privkey_export_subkey_rsa_raw ()">gnutls_openpgp_privkey_export_subkey_rsa_raw</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-fingerprint" title="gnutls_openpgp_privkey_get_fingerprint ()">gnutls_openpgp_privkey_get_fingerprint</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-key-id" title="gnutls_openpgp_privkey_get_key_id ()">gnutls_openpgp_privkey_get_key_id</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-pk-algorithm" title="gnutls_openpgp_privkey_get_pk_algorithm ()">gnutls_openpgp_privkey_get_pk_algorithm</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-preferred-key-id" title="gnutls_openpgp_privkey_get_preferred_key_id ()">gnutls_openpgp_privkey_get_preferred_key_id</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-revoked-status" title="gnutls_openpgp_privkey_get_revoked_status ()">gnutls_openpgp_privkey_get_revoked_status</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-count" title="gnutls_openpgp_privkey_get_subkey_count ()">gnutls_openpgp_privkey_get_subkey_count</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-creation-time" title="gnutls_openpgp_privkey_get_subkey_creation_time ()">gnutls_openpgp_privkey_get_subkey_creation_time</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-expiration-time" title="gnutls_openpgp_privkey_get_subkey_expiration_time ()">gnutls_openpgp_privkey_get_subkey_expiration_time</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-fingerprint" title="gnutls_openpgp_privkey_get_subkey_fingerprint ()">gnutls_openpgp_privkey_get_subkey_fingerprint</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-id" title="gnutls_openpgp_privkey_get_subkey_id ()">gnutls_openpgp_privkey_get_subkey_id</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-idx" title="gnutls_openpgp_privkey_get_subkey_idx ()">gnutls_openpgp_privkey_get_subkey_idx</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-pk-algorithm" title="gnutls_openpgp_privkey_get_subkey_pk_algorithm ()">gnutls_openpgp_privkey_get_subkey_pk_algorithm</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-revoked-status" title="gnutls_openpgp_privkey_get_subkey_revoked_status ()">gnutls_openpgp_privkey_get_subkey_revoked_status</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-import" title="gnutls_openpgp_privkey_import ()">gnutls_openpgp_privkey_import</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-init" title="gnutls_openpgp_privkey_init ()">gnutls_openpgp_privkey_init</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-int" title="struct gnutls_openpgp_privkey_int">gnutls_openpgp_privkey_int</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-sec-param" title="gnutls_openpgp_privkey_sec_param ()">gnutls_openpgp_privkey_sec_param</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-set-preferred-key-id" title="gnutls_openpgp_privkey_set_preferred_key_id ()">gnutls_openpgp_privkey_set_preferred_key_id</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +gnutls_openpgp_privkey_sign_hash, function in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t">gnutls_openpgp_privkey_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-recv-key-func" title="gnutls_openpgp_recv_key_func ()">gnutls_openpgp_recv_key_func</a>, user_function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-openpgp-send-cert" title="gnutls_openpgp_send_cert ()">gnutls_openpgp_send_cert</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_openpgp_send_key, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-set-recv-key-function" title="gnutls_openpgp_set_recv_key_function ()">gnutls_openpgp_set_recv_key_function</a>, function in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-openpgp.html#GNUTLS-OPENPGP-V4-FINGERPRINT-SIZE:CAPS" title="GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE">GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE</a>, macro in <a class="link" href="gnutls-openpgp.html" title="openpgp">openpgp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-packet-deinit" title="gnutls_packet_deinit ()">gnutls_packet_deinit</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-packet-get" title="gnutls_packet_get ()">gnutls_packet_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-packet-t" title="gnutls_packet_t">gnutls_packet_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-params-st" title="gnutls_params_st">gnutls_params_st</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-params-type-t" title="enum gnutls_params_type_t">gnutls_params_type_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_PATH_MAX, macro in system +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-pbkdf2" title="gnutls_pbkdf2 ()">gnutls_pbkdf2</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +gnutls_pbkdf2_self_test, function in self-test +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-deinit" title="gnutls_pcert_deinit ()">gnutls_pcert_deinit</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-export-openpgp" title="gnutls_pcert_export_openpgp ()">gnutls_pcert_export_openpgp</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-export-x509" title="gnutls_pcert_export_x509 ()">gnutls_pcert_export_x509</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-openpgp" title="gnutls_pcert_import_openpgp ()">gnutls_pcert_import_openpgp</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-openpgp-raw" title="gnutls_pcert_import_openpgp_raw ()">gnutls_pcert_import_openpgp_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-rawpk" title="gnutls_pcert_import_rawpk ()">gnutls_pcert_import_rawpk</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-rawpk-raw" title="gnutls_pcert_import_rawpk_raw ()">gnutls_pcert_import_rawpk_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-x509" title="gnutls_pcert_import_x509 ()">gnutls_pcert_import_x509</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-x509-list" title="gnutls_pcert_import_x509_list ()">gnutls_pcert_import_x509_list</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-x509-raw" title="gnutls_pcert_import_x509_raw ()">gnutls_pcert_import_x509_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-list-import-x509-file" title="gnutls_pcert_list_import_x509_file ()">gnutls_pcert_list_import_x509_file</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-list-import-x509-raw" title="gnutls_pcert_list_import_x509_raw ()">gnutls_pcert_list_import_x509_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-PCERT-NO-CERT:CAPS" title="GNUTLS_PCERT_NO_CERT">GNUTLS_PCERT_NO_CERT</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st">gnutls_pcert_st</a>, struct in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode" title="gnutls_pem_base64_decode ()">gnutls_pem_base64_decode</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode2" title="gnutls_pem_base64_decode2 ()">gnutls_pem_base64_decode2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode-alloc" title="gnutls_pem_base64_decode_alloc">gnutls_pem_base64_decode_alloc</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode" title="gnutls_pem_base64_encode ()">gnutls_pem_base64_encode</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode2" title="gnutls_pem_base64_encode2 ()">gnutls_pem_base64_encode2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode-alloc" title="gnutls_pem_base64_encode_alloc">gnutls_pem_base64_encode_alloc</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-perror" title="gnutls_perror ()">gnutls_perror</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()">gnutls_pin_callback_t</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pin-flag-t" title="enum gnutls_pin_flag_t">gnutls_pin_flag_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-add-provider" title="gnutls_pkcs11_add_provider ()">gnutls_pkcs11_add_provider</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-attached-extension" title="gnutls_pkcs11_copy_attached_extension ()">gnutls_pkcs11_copy_attached_extension</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-pubkey" title="gnutls_pkcs11_copy_pubkey ()">gnutls_pkcs11_copy_pubkey</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-secret-key" title="gnutls_pkcs11_copy_secret_key ()">gnutls_pkcs11_copy_secret_key</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-crt" title="gnutls_pkcs11_copy_x509_crt ()">gnutls_pkcs11_copy_x509_crt</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-crt2" title="gnutls_pkcs11_copy_x509_crt2 ()">gnutls_pkcs11_copy_x509_crt2</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-privkey" title="gnutls_pkcs11_copy_x509_privkey ()">gnutls_pkcs11_copy_x509_privkey</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-privkey2" title="gnutls_pkcs11_copy_x509_privkey2 ()">gnutls_pkcs11_copy_x509_privkey2</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-crt-is-known" title="gnutls_pkcs11_crt_is_known ()">gnutls_pkcs11_crt_is_known</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-deinit" title="gnutls_pkcs11_deinit ()">gnutls_pkcs11_deinit</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-delete-url" title="gnutls_pkcs11_delete_url ()">gnutls_pkcs11_delete_url</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-AUTO:CAPS" title="GNUTLS_PKCS11_FLAG_AUTO">GNUTLS_PKCS11_FLAG_AUTO</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-AUTO-TRUSTED:CAPS" title="GNUTLS_PKCS11_FLAG_AUTO_TRUSTED">GNUTLS_PKCS11_FLAG_AUTO_TRUSTED</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-MANUAL:CAPS" title="GNUTLS_PKCS11_FLAG_MANUAL">GNUTLS_PKCS11_FLAG_MANUAL</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-get-pin-function" title="gnutls_pkcs11_get_pin_function ()">gnutls_pkcs11_get_pin_function</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer" title="gnutls_pkcs11_get_raw_issuer ()">gnutls_pkcs11_get_raw_issuer</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer-by-dn" title="gnutls_pkcs11_get_raw_issuer_by_dn ()">gnutls_pkcs11_get_raw_issuer_by_dn</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer-by-subject-key-id" title="gnutls_pkcs11_get_raw_issuer_by_subject_key_id ()">gnutls_pkcs11_get_raw_issuer_by_subject_key_id</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-init" title="gnutls_pkcs11_init ()">gnutls_pkcs11_init</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-MAX-PIN-LEN:CAPS" title="GNUTLS_PKCS11_MAX_PIN_LEN">GNUTLS_PKCS11_MAX_PIN_LEN</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-ALL:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_ALL">GNUTLS_PKCS11_OBJ_ATTR_ALL</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-ALL:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_CRT_ALL">GNUTLS_PKCS11_OBJ_ATTR_CRT_ALL</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-TRUSTED:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED">GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-TRUSTED-CA:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA">GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-WITH-PRIVKEY:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY">GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-MATCH:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_MATCH">GNUTLS_PKCS11_OBJ_ATTR_MATCH</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-PRIVKEY:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY">GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-PUBKEY:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_PUBKEY">GNUTLS_PKCS11_OBJ_ATTR_PUBKEY</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-attr-t" title="gnutls_pkcs11_obj_attr_t">gnutls_pkcs11_obj_attr_t</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-deinit" title="gnutls_pkcs11_obj_deinit ()">gnutls_pkcs11_obj_deinit</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-export" title="gnutls_pkcs11_obj_export ()">gnutls_pkcs11_obj_export</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-export2" title="gnutls_pkcs11_obj_export2 ()">gnutls_pkcs11_obj_export2</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-export3" title="gnutls_pkcs11_obj_export3 ()">gnutls_pkcs11_obj_export3</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-export-url" title="gnutls_pkcs11_obj_export_url ()">gnutls_pkcs11_obj_export_url</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-flags" title="enum gnutls_pkcs11_obj_flags">gnutls_pkcs11_obj_flags</a>, enum in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-flags-get-str" title="gnutls_pkcs11_obj_flags_get_str ()">gnutls_pkcs11_obj_flags_get_str</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +GNUTLS_PKCS11_OBJ_FLAG_EXPECT_CERT, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PRIVKEY, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PUBKEY, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +GNUTLS_PKCS11_OBJ_FLAG_FIRST_CLOSE_MATCH, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-exts" title="gnutls_pkcs11_obj_get_exts ()">gnutls_pkcs11_obj_get_exts</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-flags" title="gnutls_pkcs11_obj_get_flags ()">gnutls_pkcs11_obj_get_flags</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-info" title="gnutls_pkcs11_obj_get_info ()">gnutls_pkcs11_obj_get_info</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-ptr" title="gnutls_pkcs11_obj_get_ptr ()">gnutls_pkcs11_obj_get_ptr</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-import-url" title="gnutls_pkcs11_obj_import_url ()">gnutls_pkcs11_obj_import_url</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-info-t" title="enum gnutls_pkcs11_obj_info_t">gnutls_pkcs11_obj_info_t</a>, enum in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-init" title="gnutls_pkcs11_obj_init ()">gnutls_pkcs11_obj_init</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url" title="gnutls_pkcs11_obj_list_import_url()">gnutls_pkcs11_obj_list_import_url</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url2" title="gnutls_pkcs11_obj_list_import_url2()">gnutls_pkcs11_obj_list_import_url2</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url3" title="gnutls_pkcs11_obj_list_import_url3 ()">gnutls_pkcs11_obj_list_import_url3</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url4" title="gnutls_pkcs11_obj_list_import_url4 ()">gnutls_pkcs11_obj_list_import_url4</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-set-info" title="gnutls_pkcs11_obj_set_info ()">gnutls_pkcs11_obj_set_info</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-set-pin-function" title="gnutls_pkcs11_obj_set_pin_function ()">gnutls_pkcs11_obj_set_pin_function</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-st" title="struct gnutls_pkcs11_obj_st">gnutls_pkcs11_obj_st</a>, struct in pkcs11_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t">gnutls_pkcs11_obj_t</a>, typedef in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-type-t" title="enum gnutls_pkcs11_obj_type_t">gnutls_pkcs11_obj_type_t</a>, enum in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-CONTEXT-SPECIFIC:CAPS" title="GNUTLS_PKCS11_PIN_CONTEXT_SPECIFIC">GNUTLS_PKCS11_PIN_CONTEXT_SPECIFIC</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-COUNT-LOW:CAPS" title="GNUTLS_PKCS11_PIN_COUNT_LOW">GNUTLS_PKCS11_PIN_COUNT_LOW</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-FINAL-TRY:CAPS" title="GNUTLS_PKCS11_PIN_FINAL_TRY">GNUTLS_PKCS11_PIN_FINAL_TRY</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-SO:CAPS" title="GNUTLS_PKCS11_PIN_SO">GNUTLS_PKCS11_PIN_SO</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-USER:CAPS" title="GNUTLS_PKCS11_PIN_USER">GNUTLS_PKCS11_PIN_USER</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-WRONG:CAPS" title="GNUTLS_PKCS11_PIN_WRONG">GNUTLS_PKCS11_PIN_WRONG</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-cpy" title="gnutls_pkcs11_privkey_cpy ()">gnutls_pkcs11_privkey_cpy</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-deinit" title="gnutls_pkcs11_privkey_deinit ()">gnutls_pkcs11_privkey_deinit</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-export-pubkey" title="gnutls_pkcs11_privkey_export_pubkey ()">gnutls_pkcs11_privkey_export_pubkey</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-export-url" title="gnutls_pkcs11_privkey_export_url ()">gnutls_pkcs11_privkey_export_url</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-generate" title="gnutls_pkcs11_privkey_generate ()">gnutls_pkcs11_privkey_generate</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-generate2" title="gnutls_pkcs11_privkey_generate2 ()">gnutls_pkcs11_privkey_generate2</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-generate3" title="gnutls_pkcs11_privkey_generate3 ()">gnutls_pkcs11_privkey_generate3</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-get-info" title="gnutls_pkcs11_privkey_get_info ()">gnutls_pkcs11_privkey_get_info</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-get-pk-algorithm" title="gnutls_pkcs11_privkey_get_pk_algorithm ()">gnutls_pkcs11_privkey_get_pk_algorithm</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-import-url" title="gnutls_pkcs11_privkey_import_url ()">gnutls_pkcs11_privkey_import_url</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-init" title="gnutls_pkcs11_privkey_init ()">gnutls_pkcs11_privkey_init</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-set-pin-function" title="gnutls_pkcs11_privkey_set_pin_function ()">gnutls_pkcs11_privkey_set_pin_function</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-st" title="struct gnutls_pkcs11_privkey_st">gnutls_pkcs11_privkey_st</a>, struct in pkcs11_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-status" title="gnutls_pkcs11_privkey_status ()">gnutls_pkcs11_privkey_status</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t">gnutls_pkcs11_privkey_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-reinit" title="gnutls_pkcs11_reinit ()">gnutls_pkcs11_reinit</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" title="gnutls_pkcs11_set_pin_function ()">gnutls_pkcs11_set_pin_function</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-token-function" title="gnutls_pkcs11_set_token_function ()">gnutls_pkcs11_set_token_function</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-callback-t" title="gnutls_pkcs11_token_callback_t ()">gnutls_pkcs11_token_callback_t</a>, user_function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-check-mechanism" title="gnutls_pkcs11_token_check_mechanism ()">gnutls_pkcs11_token_check_mechanism</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-ERROR-STATE:CAPS" title="GNUTLS_PKCS11_TOKEN_ERROR_STATE">GNUTLS_PKCS11_TOKEN_ERROR_STATE</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-flags" title="gnutls_pkcs11_token_get_flags ()">gnutls_pkcs11_token_get_flags</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-info" title="gnutls_pkcs11_token_get_info ()">gnutls_pkcs11_token_get_info</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-mechanism" title="gnutls_pkcs11_token_get_mechanism ()">gnutls_pkcs11_token_get_mechanism</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-ptr" title="gnutls_pkcs11_token_get_ptr ()">gnutls_pkcs11_token_get_ptr</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-random" title="gnutls_pkcs11_token_get_random ()">gnutls_pkcs11_token_get_random</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-url" title="gnutls_pkcs11_token_get_url ()">gnutls_pkcs11_token_get_url</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-HW:CAPS" title="GNUTLS_PKCS11_TOKEN_HW">GNUTLS_PKCS11_TOKEN_HW</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-info-t" title="enum gnutls_pkcs11_token_info_t">gnutls_pkcs11_token_info_t</a>, enum in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-init" title="gnutls_pkcs11_token_init ()">gnutls_pkcs11_token_init</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-INITIALIZED:CAPS" title="GNUTLS_PKCS11_TOKEN_INITIALIZED">GNUTLS_PKCS11_TOKEN_INITIALIZED</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-LOGIN-REQUIRED:CAPS" title="GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED">GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-PROTECTED-AUTHENTICATION-PATH:CAPS" title="GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH">GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-RNG:CAPS" title="GNUTLS_PKCS11_TOKEN_RNG">GNUTLS_PKCS11_TOKEN_RNG</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-set-pin" title="gnutls_pkcs11_token_set_pin ()">gnutls_pkcs11_token_set_pin</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SO-PIN-COUNT-LOW:CAPS" title="GNUTLS_PKCS11_TOKEN_SO_PIN_COUNT_LOW">GNUTLS_PKCS11_TOKEN_SO_PIN_COUNT_LOW</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SO-PIN-FINAL-TRY:CAPS" title="GNUTLS_PKCS11_TOKEN_SO_PIN_FINAL_TRY">GNUTLS_PKCS11_TOKEN_SO_PIN_FINAL_TRY</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SO-PIN-LOCKED:CAPS" title="GNUTLS_PKCS11_TOKEN_SO_PIN_LOCKED">GNUTLS_PKCS11_TOKEN_SO_PIN_LOCKED</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-TRUSTED:CAPS" title="GNUTLS_PKCS11_TOKEN_TRUSTED">GNUTLS_PKCS11_TOKEN_TRUSTED</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-COUNT-LOW:CAPS" title="GNUTLS_PKCS11_TOKEN_USER_PIN_COUNT_LOW">GNUTLS_PKCS11_TOKEN_USER_PIN_COUNT_LOW</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-FINAL-TRY:CAPS" title="GNUTLS_PKCS11_TOKEN_USER_PIN_FINAL_TRY">GNUTLS_PKCS11_TOKEN_USER_PIN_FINAL_TRY</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-INITIALIZED:CAPS" title="GNUTLS_PKCS11_TOKEN_USER_PIN_INITIALIZED">GNUTLS_PKCS11_TOKEN_USER_PIN_INITIALIZED</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-LOCKED:CAPS" title="GNUTLS_PKCS11_TOKEN_USER_PIN_LOCKED">GNUTLS_PKCS11_TOKEN_USER_PIN_LOCKED</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-type-get-name" title="gnutls_pkcs11_type_get_name ()">gnutls_pkcs11_type_get_name</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-url-type-t" title="enum gnutls_pkcs11_url_type_t">gnutls_pkcs11_url_type_t</a>, enum in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-decrypt" title="gnutls_pkcs12_bag_decrypt ()">gnutls_pkcs12_bag_decrypt</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-deinit" title="gnutls_pkcs12_bag_deinit ()">gnutls_pkcs12_bag_deinit</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-encrypt" title="gnutls_pkcs12_bag_encrypt ()">gnutls_pkcs12_bag_encrypt</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-enc-info" title="gnutls_pkcs12_bag_enc_info ()">gnutls_pkcs12_bag_enc_info</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-count" title="gnutls_pkcs12_bag_get_count ()">gnutls_pkcs12_bag_get_count</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-data" title="gnutls_pkcs12_bag_get_data ()">gnutls_pkcs12_bag_get_data</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-friendly-name" title="gnutls_pkcs12_bag_get_friendly_name ()">gnutls_pkcs12_bag_get_friendly_name</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-key-id" title="gnutls_pkcs12_bag_get_key_id ()">gnutls_pkcs12_bag_get_key_id</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-init" title="gnutls_pkcs12_bag_init ()">gnutls_pkcs12_bag_init</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-int" title="gnutls_pkcs12_bag_int">gnutls_pkcs12_bag_int</a>, struct in x509_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-crl" title="gnutls_pkcs12_bag_set_crl ()">gnutls_pkcs12_bag_set_crl</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-crt" title="gnutls_pkcs12_bag_set_crt ()">gnutls_pkcs12_bag_set_crt</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-data" title="gnutls_pkcs12_bag_set_data ()">gnutls_pkcs12_bag_set_data</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-friendly-name" title="gnutls_pkcs12_bag_set_friendly_name ()">gnutls_pkcs12_bag_set_friendly_name</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-key-id" title="gnutls_pkcs12_bag_set_key_id ()">gnutls_pkcs12_bag_set_key_id</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-privkey" title="gnutls_pkcs12_bag_set_privkey ()">gnutls_pkcs12_bag_set_privkey</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t">gnutls_pkcs12_bag_t</a>, typedef in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t" title="enum gnutls_pkcs12_bag_type_t">gnutls_pkcs12_bag_type_t</a>, enum in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-deinit" title="gnutls_pkcs12_deinit ()">gnutls_pkcs12_deinit</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-export" title="gnutls_pkcs12_export ()">gnutls_pkcs12_export</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-export2" title="gnutls_pkcs12_export2 ()">gnutls_pkcs12_export2</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-generate-mac" title="gnutls_pkcs12_generate_mac ()">gnutls_pkcs12_generate_mac</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-generate-mac2" title="gnutls_pkcs12_generate_mac2 ()">gnutls_pkcs12_generate_mac2</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-get-bag" title="gnutls_pkcs12_get_bag ()">gnutls_pkcs12_get_bag</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-import" title="gnutls_pkcs12_import ()">gnutls_pkcs12_import</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-init" title="gnutls_pkcs12_init ()">gnutls_pkcs12_init</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-int" title="gnutls_pkcs12_int">gnutls_pkcs12_int</a>, struct in x509_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-mac-info" title="gnutls_pkcs12_mac_info ()">gnutls_pkcs12_mac_info</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-set-bag" title="gnutls_pkcs12_set_bag ()">gnutls_pkcs12_set_bag</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-simple-parse" title="gnutls_pkcs12_simple_parse ()">gnutls_pkcs12_simple_parse</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#GNUTLS-PKCS12-SP-INCLUDE-SELF-SIGNED:CAPS" title="GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED">GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED</a>, macro in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t">gnutls_pkcs12_t</a>, typedef in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-verify-mac" title="gnutls_pkcs12_verify_mac ()">gnutls_pkcs12_verify_mac</a>, function in <a class="link" href="gnutls-pkcs12.html" title="pkcs12">pkcs12</a> +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_add_attr, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_attrs_deinit, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_attrs_st, struct in x509_int +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_attrs_t, typedef in pkcs7 +</dt> +<dd></dd> +<dt> +GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING, macro in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_deinit, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_delete_crl, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_delete_crt, function in pkcs7 +</dt> +<dd></dd> +<dt> +GNUTLS_PKCS7_EDATA_GET_RAW, macro in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_export, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_export2, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_attr, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_crl_count, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_crl_raw, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_crl_raw2, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_crt_count, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_crt_raw, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_crt_raw2, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_embedded_data, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_embedded_data_oid, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_signature_count, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_get_signature_info, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_import, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_init, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_int, struct in x509_int +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_print, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_print_signature_info, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_set_crl, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_set_crl_raw, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_set_crt, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_set_crt_raw, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_sign, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_signature_info_deinit, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_signature_info_st, struct in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_sign_flags, enum in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_t, typedef in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_verify, function in pkcs7 +</dt> +<dd></dd> +<dt> +gnutls_pkcs7_verify_direct, function in pkcs7 +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-pkcs8-info" title="gnutls_pkcs8_info ()">gnutls_pkcs8_info</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS8-PLAIN:CAPS" title="GNUTLS_PKCS8_PLAIN">GNUTLS_PKCS8_PLAIN</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS8-USE-PKCS12-3DES:CAPS" title="GNUTLS_PKCS8_USE_PKCS12_3DES">GNUTLS_PKCS8_USE_PKCS12_3DES</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS8-USE-PKCS12-ARCFOUR:CAPS" title="GNUTLS_PKCS8_USE_PKCS12_ARCFOUR">GNUTLS_PKCS8_USE_PKCS12_ARCFOUR</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS8-USE-PKCS12-RC2-40:CAPS" title="GNUTLS_PKCS8_USE_PKCS12_RC2_40">GNUTLS_PKCS8_USE_PKCS12_RC2_40</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-CIPHER-MASK:CAPS" title="GNUTLS_PKCS_CIPHER_MASK()">GNUTLS_PKCS_CIPHER_MASK</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t">gnutls_pkcs_encrypt_flags_t</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-pkcs-schema-get-name" title="gnutls_pkcs_schema_get_name ()">gnutls_pkcs_schema_get_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-pkcs-schema-get-oid" title="gnutls_pkcs_schema_get_oid ()">gnutls_pkcs_schema_get_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-3DES:CAPS" title="GNUTLS_PKCS_USE_PBES2_3DES">GNUTLS_PKCS_USE_PBES2_3DES</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-AES-128:CAPS" title="GNUTLS_PKCS_USE_PBES2_AES_128">GNUTLS_PKCS_USE_PBES2_AES_128</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-AES-192:CAPS" title="GNUTLS_PKCS_USE_PBES2_AES_192">GNUTLS_PKCS_USE_PBES2_AES_192</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-AES-256:CAPS" title="GNUTLS_PKCS_USE_PBES2_AES_256">GNUTLS_PKCS_USE_PBES2_AES_256</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPA:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_CPA">GNUTLS_PKCS_USE_PBES2_GOST_CPA</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPB:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_CPB">GNUTLS_PKCS_USE_PBES2_GOST_CPB</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPC:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_CPC">GNUTLS_PKCS_USE_PBES2_GOST_CPC</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPD:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_CPD">GNUTLS_PKCS_USE_PBES2_GOST_CPD</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-TC26Z:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_TC26Z">GNUTLS_PKCS_USE_PBES2_GOST_TC26Z</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PKCS12-3DES:CAPS" title="GNUTLS_PKCS_USE_PKCS12_3DES">GNUTLS_PKCS_USE_PKCS12_3DES</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PKCS12-ARCFOUR:CAPS" title="GNUTLS_PKCS_USE_PKCS12_ARCFOUR">GNUTLS_PKCS_USE_PKCS12_ARCFOUR</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PKCS12-RC2-40:CAPS" title="GNUTLS_PKCS_USE_PKCS12_RC2_40">GNUTLS_PKCS_USE_PKCS12_RC2_40</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-get-name" title="gnutls_pk_algorithm_get_name ()">gnutls_pk_algorithm_get_name</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_PK_ANY, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pk-bits-to-sec-param" title="gnutls_pk_bits_to_sec_param ()">gnutls_pk_bits_to_sec_param</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PK-EC:CAPS" title="GNUTLS_PK_EC">GNUTLS_PK_EC</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PK-ECC:CAPS" title="GNUTLS_PK_ECC">GNUTLS_PK_ECC</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PK-ECDHX:CAPS" title="GNUTLS_PK_ECDHX">GNUTLS_PK_ECDHX</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_pk_flag_t, enum in crypto-backend +</dt> +<dd></dd> +<dt> +GNUTLS_PK_NONE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +gnutls_pk_params_clear, function in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_pk_params_init, function in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_pk_params_release, function in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_pk_params_st, struct in crypto-backend +</dt> +<dd></dd> +<dt> +gnutls_pk_self_test, function in self-test +</dt> +<dd></dd> +<dt> +GNUTLS_POINTER_TO_INT, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-prf" title="gnutls_prf ()">gnutls_prf</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-prf-early" title="gnutls_prf_early ()">gnutls_prf_early</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-prf-hash-get" title="gnutls_prf_hash_get ()">gnutls_prf_hash_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-prf-raw" title="gnutls_prf_raw ()">gnutls_prf_raw</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-prf-rfc5705" title="gnutls_prf_rfc5705 ()">gnutls_prf_rfc5705</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-certificate-type-list" title="gnutls_priority_certificate_type_list ()">gnutls_priority_certificate_type_list</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-certificate-type-list2" title="gnutls_priority_certificate_type_list2 ()">gnutls_priority_certificate_type_list2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-cipher-list" title="gnutls_priority_cipher_list ()">gnutls_priority_cipher_list</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_priority_compression_list, function in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-deinit" title="gnutls_priority_deinit ()">gnutls_priority_deinit</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-ecc-curve-list" title="gnutls_priority_ecc_curve_list ()">gnutls_priority_ecc_curve_list</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-get-cipher-suite-index" title="gnutls_priority_get_cipher_suite_index ()">gnutls_priority_get_cipher_suite_index</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-group-list" title="gnutls_priority_group_list ()">gnutls_priority_group_list</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-init" title="gnutls_priority_init ()">gnutls_priority_init</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-init2" title="gnutls_priority_init2 ()">gnutls_priority_init2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-INIT-DEF-APPEND:CAPS" title="GNUTLS_PRIORITY_INIT_DEF_APPEND">GNUTLS_PRIORITY_INIT_DEF_APPEND</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-kx-list" title="gnutls_priority_kx_list ()">gnutls_priority_kx_list</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-LIST-INIT-KEYWORDS:CAPS" title="GNUTLS_PRIORITY_LIST_INIT_KEYWORDS">GNUTLS_PRIORITY_LIST_INIT_KEYWORDS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-LIST-SPECIAL:CAPS" title="GNUTLS_PRIORITY_LIST_SPECIAL">GNUTLS_PRIORITY_LIST_SPECIAL</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-mac-list" title="gnutls_priority_mac_list ()">gnutls_priority_mac_list</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-protocol-list" title="gnutls_priority_protocol_list ()">gnutls_priority_protocol_list</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-set" title="gnutls_priority_set ()">gnutls_priority_set</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-set-direct" title="gnutls_priority_set_direct ()">gnutls_priority_set_direct</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-sign-list" title="gnutls_priority_sign_list ()">gnutls_priority_sign_list</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-st" title="struct gnutls_priority_st">gnutls_priority_st</a>, struct in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-string-list" title="gnutls_priority_string_list ()">gnutls_priority_string_list</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t">gnutls_priority_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-data" title="gnutls_privkey_decrypt_data ()">gnutls_privkey_decrypt_data</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-data2" title="gnutls_privkey_decrypt_data2 ()">gnutls_privkey_decrypt_data2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-func" title="gnutls_privkey_decrypt_func ()">gnutls_privkey_decrypt_func</a>, user_function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-func2" title="gnutls_privkey_decrypt_func2 ()">gnutls_privkey_decrypt_func2</a>, user_function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-deinit" title="gnutls_privkey_deinit ()">gnutls_privkey_deinit</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-deinit-func" title="gnutls_privkey_deinit_func ()">gnutls_privkey_deinit_func</a>, user_function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-dsa-raw" title="gnutls_privkey_export_dsa_raw ()">gnutls_privkey_export_dsa_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-dsa-raw2" title="gnutls_privkey_export_dsa_raw2 ()">gnutls_privkey_export_dsa_raw2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-ecc-raw" title="gnutls_privkey_export_ecc_raw ()">gnutls_privkey_export_ecc_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-ecc-raw2" title="gnutls_privkey_export_ecc_raw2 ()">gnutls_privkey_export_ecc_raw2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-gost-raw2" title="gnutls_privkey_export_gost_raw2 ()">gnutls_privkey_export_gost_raw2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-openpgp" title="gnutls_privkey_export_openpgp ()">gnutls_privkey_export_openpgp</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-pkcs11" title="gnutls_privkey_export_pkcs11 ()">gnutls_privkey_export_pkcs11</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-rsa-raw" title="gnutls_privkey_export_rsa_raw ()">gnutls_privkey_export_rsa_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-rsa-raw2" title="gnutls_privkey_export_rsa_raw2 ()">gnutls_privkey_export_rsa_raw2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-x509" title="gnutls_privkey_export_x509 ()">gnutls_privkey_export_x509</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t">gnutls_privkey_flags_t</a>, enum in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-generate" title="gnutls_privkey_generate ()">gnutls_privkey_generate</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-generate2" title="gnutls_privkey_generate2 ()">gnutls_privkey_generate2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-get-pk-algorithm" title="gnutls_privkey_get_pk_algorithm ()">gnutls_privkey_get_pk_algorithm</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-get-seed" title="gnutls_privkey_get_seed ()">gnutls_privkey_get_seed</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-get-spki" title="gnutls_privkey_get_spki ()">gnutls_privkey_get_spki</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-dsa-raw" title="gnutls_privkey_import_dsa_raw ()">gnutls_privkey_import_dsa_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ecc-raw" title="gnutls_privkey_import_ecc_raw ()">gnutls_privkey_import_ecc_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext" title="gnutls_privkey_import_ext ()">gnutls_privkey_import_ext</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext2" title="gnutls_privkey_import_ext2 ()">gnutls_privkey_import_ext2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext3" title="gnutls_privkey_import_ext3 ()">gnutls_privkey_import_ext3</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext4" title="gnutls_privkey_import_ext4 ()">gnutls_privkey_import_ext4</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-gost-raw" title="gnutls_privkey_import_gost_raw ()">gnutls_privkey_import_gost_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-openpgp" title="gnutls_privkey_import_openpgp ()">gnutls_privkey_import_openpgp</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-openpgp-raw" title="gnutls_privkey_import_openpgp_raw ()">gnutls_privkey_import_openpgp_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-pkcs11" title="gnutls_privkey_import_pkcs11 ()">gnutls_privkey_import_pkcs11</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-pkcs11-url" title="gnutls_privkey_import_pkcs11_url ()">gnutls_privkey_import_pkcs11_url</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-rsa-raw" title="gnutls_privkey_import_rsa_raw ()">gnutls_privkey_import_rsa_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-tpm-raw" title="gnutls_privkey_import_tpm_raw ()">gnutls_privkey_import_tpm_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-tpm-url" title="gnutls_privkey_import_tpm_url ()">gnutls_privkey_import_tpm_url</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-url" title="gnutls_privkey_import_url ()">gnutls_privkey_import_url</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +gnutls_privkey_import_url_func, user_function in urls +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-x509" title="gnutls_privkey_import_x509 ()">gnutls_privkey_import_x509</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-x509-raw" title="gnutls_privkey_import_x509_raw ()">gnutls_privkey_import_x509_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-info-func" title="gnutls_privkey_info_func ()">gnutls_privkey_info_func</a>, user_function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-HAVE-SIGN-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO">GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-PK-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_PK_ALGO">GNUTLS_PRIVKEY_INFO_PK_ALGO</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-PK-ALGO-BITS:CAPS" title="GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS">GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-SIGN-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_SIGN_ALGO">GNUTLS_PRIVKEY_INFO_SIGN_ALGO</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-init" title="gnutls_privkey_init ()">gnutls_privkey_init</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +gnutls_privkey_pk_params_func, user_function in abstract_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-set-flags" title="gnutls_privkey_set_flags ()">gnutls_privkey_set_flags</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-set-pin-function" title="gnutls_privkey_set_pin_function ()">gnutls_privkey_set_pin_function</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-set-spki" title="gnutls_privkey_set_spki ()">gnutls_privkey_set_spki</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data" title="gnutls_privkey_sign_data ()">gnutls_privkey_sign_data</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data2" title="gnutls_privkey_sign_data2 ()">gnutls_privkey_sign_data2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data-func" title="gnutls_privkey_sign_data_func ()">gnutls_privkey_sign_data_func</a>, user_function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-func" title="gnutls_privkey_sign_func ()">gnutls_privkey_sign_func</a>, user_function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-hash" title="gnutls_privkey_sign_hash ()">gnutls_privkey_sign_hash</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-hash2" title="gnutls_privkey_sign_hash2 ()">gnutls_privkey_sign_hash2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-hash-func" title="gnutls_privkey_sign_hash_func ()">gnutls_privkey_sign_hash_func</a>, user_function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-raw-data" title="gnutls_privkey_sign_raw_data()">gnutls_privkey_sign_raw_data</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-st" title="struct gnutls_privkey_st">gnutls_privkey_st</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-status" title="gnutls_privkey_status ()">gnutls_privkey_status</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t">gnutls_privkey_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-type-t" title="enum gnutls_privkey_type_t">gnutls_privkey_type_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-verify-params" title="gnutls_privkey_verify_params ()">gnutls_privkey_verify_params</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-verify-seed" title="gnutls_privkey_verify_seed ()">gnutls_privkey_verify_seed</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-PROFILE-TO-VFLAGS:CAPS" title="GNUTLS_PROFILE_TO_VFLAGS()">GNUTLS_PROFILE_TO_VFLAGS</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-protocol-get-name" title="gnutls_protocol_get_name ()">gnutls_protocol_get_name</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-protocol-set-enabled" title="gnutls_protocol_set_enabled ()">gnutls_protocol_set_enabled</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-allocate-client-credentials" title="gnutls_psk_allocate_client_credentials ()">gnutls_psk_allocate_client_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-allocate-server-credentials" title="gnutls_psk_allocate_server_credentials ()">gnutls_psk_allocate_server_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-client-get-hint" title="gnutls_psk_client_get_hint ()">gnutls_psk_client_get_hint</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-free-client-credentials" title="gnutls_psk_free_client_credentials ()">gnutls_psk_free_client_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-free-server-credentials" title="gnutls_psk_free_server_credentials ()">gnutls_psk_free_server_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-key-flags" title="enum gnutls_psk_key_flags">gnutls_psk_key_flags</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-server-get-username" title="gnutls_psk_server_get_username ()">gnutls_psk_server_get_username</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-server-get-username2" title="gnutls_psk_server_get_username2 ()">gnutls_psk_server_get_username2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials" title="gnutls_psk_set_client_credentials ()">gnutls_psk_set_client_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials2" title="gnutls_psk_set_client_credentials2 ()">gnutls_psk_set_client_credentials2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials-function" title="gnutls_psk_set_client_credentials_function ()">gnutls_psk_set_client_credentials_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials-function2" title="gnutls_psk_set_client_credentials_function2 ()">gnutls_psk_set_client_credentials_function2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-params-function" title="gnutls_psk_set_params_function ()">gnutls_psk_set_params_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-file" title="gnutls_psk_set_server_credentials_file ()">gnutls_psk_set_server_credentials_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-function" title="gnutls_psk_set_server_credentials_function ()">gnutls_psk_set_server_credentials_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-function2" title="gnutls_psk_set_server_credentials_function2 ()">gnutls_psk_set_server_credentials_function2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-hint" title="gnutls_psk_set_server_credentials_hint ()">gnutls_psk_set_server_credentials_hint</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-dh-params" title="gnutls_psk_set_server_dh_params ()">gnutls_psk_set_server_dh_params</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-known-dh-params" title="gnutls_psk_set_server_known_dh_params ()">gnutls_psk_set_server_known_dh_params</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-params-function" title="gnutls_psk_set_server_params_function ()">gnutls_psk_set_server_params_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-deinit" title="gnutls_pubkey_deinit ()">gnutls_pubkey_deinit</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-encrypt-data" title="gnutls_pubkey_encrypt_data ()">gnutls_pubkey_encrypt_data</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export" title="gnutls_pubkey_export ()">gnutls_pubkey_export</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export2" title="gnutls_pubkey_export2 ()">gnutls_pubkey_export2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-dsa-raw" title="gnutls_pubkey_export_dsa_raw ()">gnutls_pubkey_export_dsa_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-dsa-raw2" title="gnutls_pubkey_export_dsa_raw2 ()">gnutls_pubkey_export_dsa_raw2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-ecc-raw" title="gnutls_pubkey_export_ecc_raw ()">gnutls_pubkey_export_ecc_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-ecc-raw2" title="gnutls_pubkey_export_ecc_raw2 ()">gnutls_pubkey_export_ecc_raw2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-ecc-x962" title="gnutls_pubkey_export_ecc_x962 ()">gnutls_pubkey_export_ecc_x962</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-gost-raw2" title="gnutls_pubkey_export_gost_raw2 ()">gnutls_pubkey_export_gost_raw2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-rsa-raw" title="gnutls_pubkey_export_rsa_raw ()">gnutls_pubkey_export_rsa_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-rsa-raw2" title="gnutls_pubkey_export_rsa_raw2 ()">gnutls_pubkey_export_rsa_raw2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-flags-t" title="enum gnutls_pubkey_flags_t">gnutls_pubkey_flags_t</a>, enum in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-key-id" title="gnutls_pubkey_get_key_id ()">gnutls_pubkey_get_key_id</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-key-usage" title="gnutls_pubkey_get_key_usage ()">gnutls_pubkey_get_key_usage</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-openpgp-key-id" title="gnutls_pubkey_get_openpgp_key_id ()">gnutls_pubkey_get_openpgp_key_id</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-algorithm" title="gnutls_pubkey_get_pk_algorithm ()">gnutls_pubkey_get_pk_algorithm</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-dsa-raw" title="gnutls_pubkey_get_pk_dsa_raw">gnutls_pubkey_get_pk_dsa_raw</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-ecc-raw" title="gnutls_pubkey_get_pk_ecc_raw">gnutls_pubkey_get_pk_ecc_raw</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-ecc-x962" title="gnutls_pubkey_get_pk_ecc_x962">gnutls_pubkey_get_pk_ecc_x962</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-rsa-raw" title="gnutls_pubkey_get_pk_rsa_raw">gnutls_pubkey_get_pk_rsa_raw</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-preferred-hash-algorithm" title="gnutls_pubkey_get_preferred_hash_algorithm ()">gnutls_pubkey_get_preferred_hash_algorithm</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-spki" title="gnutls_pubkey_get_spki ()">gnutls_pubkey_get_spki</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import" title="gnutls_pubkey_import ()">gnutls_pubkey_import</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-dsa-raw" title="gnutls_pubkey_import_dsa_raw ()">gnutls_pubkey_import_dsa_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-ecc-raw" title="gnutls_pubkey_import_ecc_raw ()">gnutls_pubkey_import_ecc_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-ecc-x962" title="gnutls_pubkey_import_ecc_x962 ()">gnutls_pubkey_import_ecc_x962</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-gost-raw" title="gnutls_pubkey_import_gost_raw ()">gnutls_pubkey_import_gost_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-openpgp" title="gnutls_pubkey_import_openpgp ()">gnutls_pubkey_import_openpgp</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-openpgp-raw" title="gnutls_pubkey_import_openpgp_raw ()">gnutls_pubkey_import_openpgp_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-pkcs11" title="gnutls_pubkey_import_pkcs11 ()">gnutls_pubkey_import_pkcs11</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-pkcs11-url" title="gnutls_pubkey_import_pkcs11_url()">gnutls_pubkey_import_pkcs11_url</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-privkey" title="gnutls_pubkey_import_privkey ()">gnutls_pubkey_import_privkey</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-rsa-raw" title="gnutls_pubkey_import_rsa_raw ()">gnutls_pubkey_import_rsa_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-tpm-raw" title="gnutls_pubkey_import_tpm_raw ()">gnutls_pubkey_import_tpm_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-tpm-url" title="gnutls_pubkey_import_tpm_url ()">gnutls_pubkey_import_tpm_url</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-url" title="gnutls_pubkey_import_url ()">gnutls_pubkey_import_url</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +gnutls_pubkey_import_url_func, user_function in urls +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-x509" title="gnutls_pubkey_import_x509 ()">gnutls_pubkey_import_x509</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-x509-crq" title="gnutls_pubkey_import_x509_crq ()">gnutls_pubkey_import_x509_crq</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-x509-raw" title="gnutls_pubkey_import_x509_raw ()">gnutls_pubkey_import_x509_raw</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-init" title="gnutls_pubkey_init ()">gnutls_pubkey_init</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-print" title="gnutls_pubkey_print ()">gnutls_pubkey_print</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-set-key-usage" title="gnutls_pubkey_set_key_usage ()">gnutls_pubkey_set_key_usage</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-set-pin-function" title="gnutls_pubkey_set_pin_function ()">gnutls_pubkey_set_pin_function</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-set-spki" title="gnutls_pubkey_set_spki ()">gnutls_pubkey_set_spki</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pubkey-st" title="struct gnutls_pubkey_st">gnutls_pubkey_st</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t">gnutls_pubkey_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-verify-data2" title="gnutls_pubkey_verify_data2 ()">gnutls_pubkey_verify_data2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-PUBKEY-VERIFY-FLAG-TLS1-RSA:CAPS" title="GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA">GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-PUBKEY-VERIFY-FLAG-TLS-RSA:CAPS" title="GNUTLS_PUBKEY_VERIFY_FLAG_TLS_RSA">GNUTLS_PUBKEY_VERIFY_FLAG_TLS_RSA</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-verify-hash2" title="gnutls_pubkey_verify_hash2 ()">gnutls_pubkey_verify_hash2</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-verify-params" title="gnutls_pubkey_verify_params ()">gnutls_pubkey_verify_params</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pull-func" title="gnutls_pull_func ()">gnutls_pull_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-pull-timeout-func" title="gnutls_pull_timeout_func ()">gnutls_pull_timeout_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()">gnutls_push_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-random-art" title="gnutls_random_art ()">gnutls_random_art</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-random-art-t" title="enum gnutls_random_art_t">gnutls_random_art_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_RANDOM_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-range-split" title="gnutls_range_split ()">gnutls_range_split</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-range-st" title="gnutls_range_st">gnutls_range_st</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-read" title="gnutls_read">gnutls_read</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_realloc_fast, function in mem +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-realloc-function" title="gnutls_realloc_function ()">gnutls_realloc_function</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-reauth" title="gnutls_reauth ()">gnutls_reauth</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-can-use-length-hiding" title="gnutls_record_can_use_length_hiding ()">gnutls_record_can_use_length_hiding</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-check-corked" title="gnutls_record_check_corked ()">gnutls_record_check_corked</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-check-pending" title="gnutls_record_check_pending ()">gnutls_record_check_pending</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-cork" title="gnutls_record_cork ()">gnutls_record_cork</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-disable-padding" title="gnutls_record_disable_padding ()">gnutls_record_disable_padding</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-discard-queued" title="gnutls_record_discard_queued ()">gnutls_record_discard_queued</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-encryption-level-t" title="enum gnutls_record_encryption_level_t">gnutls_record_encryption_level_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()">gnutls_record_get_direction</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-dtls.html#gnutls-record-get-discarded" title="gnutls_record_get_discarded ()">gnutls_record_get_discarded</a>, function in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-max-early-data-size" title="gnutls_record_get_max_early_data_size ()">gnutls_record_get_max_early_data_size</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-max-size" title="gnutls_record_get_max_size ()">gnutls_record_get_max_size</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-state" title="gnutls_record_get_state ()">gnutls_record_get_state</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-overhead-size" title="gnutls_record_overhead_size ()">gnutls_record_overhead_size</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()">gnutls_record_recv</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-recv-early-data" title="gnutls_record_recv_early_data ()">gnutls_record_recv_early_data</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-recv-packet" title="gnutls_record_recv_packet ()">gnutls_record_recv_packet</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-recv-seq" title="gnutls_record_recv_seq ()">gnutls_record_recv_seq</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()">gnutls_record_send</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send2" title="gnutls_record_send2 ()">gnutls_record_send2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send-early-data" title="gnutls_record_send_early_data ()">gnutls_record_send_early_data</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send-file" title="gnutls_record_send_file ()">gnutls_record_send_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send-range" title="gnutls_record_send_range ()">gnutls_record_send_range</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-early-data-size" title="gnutls_record_set_max_early_data_size ()">gnutls_record_set_max_early_data_size</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-empty-records" title="gnutls_record_set_max_empty_records()">gnutls_record_set_max_empty_records</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-recv-size" title="gnutls_record_set_max_recv_size ()">gnutls_record_set_max_recv_size</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-size" title="gnutls_record_set_max_size ()">gnutls_record_set_max_size</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-state" title="gnutls_record_set_state ()">gnutls_record_set_state</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-timeout" title="gnutls_record_set_timeout ()">gnutls_record_set_timeout</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-record-uncork" title="gnutls_record_uncork ()">gnutls_record_uncork</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-RECORD-WAIT:CAPS" title="GNUTLS_RECORD_WAIT">GNUTLS_RECORD_WAIT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_register_custom_url, function in urls +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-rehandshake" title="gnutls_rehandshake ()">gnutls_rehandshake</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_RENEGO_PROTECTION_REQUEST_MAJOR, macro in algorithms +</dt> +<dd></dd> +<dt> +GNUTLS_RENEGO_PROTECTION_REQUEST_MINOR, macro in algorithms +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-retr2-st" title="gnutls_retr2_st">gnutls_retr2_st</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-rnd" title="gnutls_rnd ()">gnutls_rnd</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-rnd-level-t" title="enum gnutls_rnd_level_t">gnutls_rnd_level_t</a>, enum in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-crypto.html#gnutls-rnd-refresh" title="gnutls_rnd_refresh ()">gnutls_rnd_refresh</a>, function in <a class="link" href="gnutls-crypto.html" title="crypto">crypto</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_RWLOCK, macro in locks +</dt> +<dd></dd> +<dt> +gnutls_rwlock_rdlock, macro in locks +</dt> +<dd></dd> +<dt> +gnutls_rwlock_t, typedef in locks +</dt> +<dd></dd> +<dt> +gnutls_rwlock_unlock, macro in locks +</dt> +<dd></dd> +<dt> +gnutls_rwlock_wrlock, macro in locks +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-safe-renegotiation-status" title="gnutls_safe_renegotiation_status ()">gnutls_safe_renegotiation_status</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-SCOMMIT-FLAG-ALLOW-BROKEN:CAPS" title="GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN">GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-get-name" title="gnutls_sec_param_get_name ()">gnutls_sec_param_get_name</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-SEC-PARAM-NORMAL:CAPS" title="GNUTLS_SEC_PARAM_NORMAL">GNUTLS_SEC_PARAM_NORMAL</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t">gnutls_sec_param_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-pk-bits" title="gnutls_sec_param_to_pk_bits ()">gnutls_sec_param_to_pk_bits</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-symmetric-bits" title="gnutls_sec_param_to_symmetric_bits ()">gnutls_sec_param_to_symmetric_bits</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_SELF_TEST_FLAG_ALL, macro in self-test +</dt> +<dd></dd> +<dt> +GNUTLS_SELF_TEST_FLAG_NO_COMPAT, macro in self-test +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-SERVER:CAPS">GNUTLS_SERVER</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-server-name-get" title="gnutls_server_name_get ()">gnutls_server_name_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-server-name-set" title="gnutls_server_name_set ()">gnutls_server_name_set</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-server-name-type-t" title="enum gnutls_server_name_type_t">gnutls_server_name_type_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-channel-binding" title="gnutls_session_channel_binding ()">gnutls_session_channel_binding</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-etm-status" title="gnutls_session_etm_status ()">gnutls_session_etm_status</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ext-master-secret-status" title="gnutls_session_ext_master_secret_status ()">gnutls_session_ext_master_secret_status</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ext-register" title="gnutls_session_ext_register ()">gnutls_session_ext_register</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-flags-t" title="enum gnutls_session_flags_t">gnutls_session_flags_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-force-valid" title="gnutls_session_force_valid ()">gnutls_session_force_valid</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-data" title="gnutls_session_get_data ()">gnutls_session_get_data</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-data2" title="gnutls_session_get_data2 ()">gnutls_session_get_data2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-desc" title="gnutls_session_get_desc ()">gnutls_session_get_desc</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-flags" title="gnutls_session_get_flags ()">gnutls_session_get_flags</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-id" title="gnutls_session_get_id ()">gnutls_session_get_id</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-id2" title="gnutls_session_get_id2 ()">gnutls_session_get_id2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-keylog-function" title="gnutls_session_get_keylog_function ()">gnutls_session_get_keylog_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-master-secret" title="gnutls_session_get_master_secret ()">gnutls_session_get_master_secret</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-ptr" title="gnutls_session_get_ptr ()">gnutls_session_get_ptr</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-random" title="gnutls_session_get_random ()">gnutls_session_get_random</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-verify-cert-status" title="gnutls_session_get_verify_cert_status ()">gnutls_session_get_verify_cert_status</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-int" title="struct gnutls_session_int">gnutls_session_int</a>, struct in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-is-resumed" title="gnutls_session_is_resumed ()">gnutls_session_is_resumed</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-key-update" title="gnutls_session_key_update ()">gnutls_session_key_update</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-resumption-requested" title="gnutls_session_resumption_requested ()">gnutls_session_resumption_requested</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-id" title="gnutls_session_set_id ()">gnutls_session_set_id</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-keylog-function" title="gnutls_session_set_keylog_function ()">gnutls_session_set_keylog_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-premaster" title="gnutls_session_set_premaster ()">gnutls_session_set_premaster</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-ptr" title="gnutls_session_set_ptr ()">gnutls_session_set_ptr</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-cert" title="gnutls_session_set_verify_cert ()">gnutls_session_set_verify_cert</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-cert2" title="gnutls_session_set_verify_cert2 ()">gnutls_session_set_verify_cert2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-function" title="gnutls_session_set_verify_function ()">gnutls_session_set_verify_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-session-set-verify-output-function" title="gnutls_session_set_verify_output_function ()">gnutls_session_set_verify_output_function</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-supplemental-register" title="gnutls_session_supplemental_register ()">gnutls_session_supplemental_register</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ticket-enable-client" title="gnutls_session_ticket_enable_client ()">gnutls_session_ticket_enable_client</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ticket-enable-server" title="gnutls_session_ticket_enable_server ()">gnutls_session_ticket_enable_server</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ticket-key-generate" title="gnutls_session_ticket_key_generate ()">gnutls_session_ticket_key_generate</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ticket-send" title="gnutls_session_ticket_send ()">gnutls_session_ticket_send</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-set-default-priority" title="gnutls_set_default_priority ()">gnutls_set_default_priority</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-set-default-priority-append" title="gnutls_set_default_priority_append ()">gnutls_set_default_priority_append</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-get" title="gnutls_sign_algorithm_get ()">gnutls_sign_algorithm_get</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-get-client" title="gnutls_sign_algorithm_get_client ()">gnutls_sign_algorithm_get_client</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-get-requested" title="gnutls_sign_algorithm_get_requested ()">gnutls_sign_algorithm_get_requested</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_sign_algorithm_set_client, function in signature +</dt> +<dd></dd> +<dt> +gnutls_sign_algorithm_set_server, function in signature +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-SIGN-ALGO-TO-FLAGS:CAPS" title="GNUTLS_SIGN_ALGO_TO_FLAGS()">GNUTLS_SIGN_ALGO_TO_FLAGS</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +gnutls_sign_entry_st, struct in algorithms +</dt> +<dd></dd> +<dt> +GNUTLS_SIGN_FLAG_ALLOW_INSECURE_REVERTIBLE, macro in algorithms +</dt> +<dd></dd> +<dt> +GNUTLS_SIGN_FLAG_CRT_VRFY_REVERSE, macro in algorithms +</dt> +<dd></dd> +<dt> +GNUTLS_SIGN_FLAG_INSECURE_REVERTIBLE, macro in algorithms +</dt> +<dd></dd> +<dt> +GNUTLS_SIGN_FLAG_TLS13_OK, macro in algorithms +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-set-secure" title="gnutls_sign_set_secure ()">gnutls_sign_set_secure</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-set-secure-for-certs" title="gnutls_sign_set_secure_for_certs ()">gnutls_sign_set_secure_for_certs</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-SKIP-GLOBAL-INIT:CAPS" title="GNUTLS_SKIP_GLOBAL_INIT">GNUTLS_SKIP_GLOBAL_INIT</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-allocate-client-credentials" title="gnutls_srp_allocate_client_credentials ()">gnutls_srp_allocate_client_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-allocate-server-credentials" title="gnutls_srp_allocate_server_credentials ()">gnutls_srp_allocate_server_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode" title="gnutls_srp_base64_decode ()">gnutls_srp_base64_decode</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode2" title="gnutls_srp_base64_decode2 ()">gnutls_srp_base64_decode2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode-alloc" title="gnutls_srp_base64_decode_alloc">gnutls_srp_base64_decode_alloc</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode" title="gnutls_srp_base64_encode ()">gnutls_srp_base64_encode</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode2" title="gnutls_srp_base64_encode2 ()">gnutls_srp_base64_encode2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode-alloc" title="gnutls_srp_base64_encode_alloc">gnutls_srp_base64_encode_alloc</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-free-client-credentials" title="gnutls_srp_free_client_credentials ()">gnutls_srp_free_client_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-free-server-credentials" title="gnutls_srp_free_server_credentials ()">gnutls_srp_free_server_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-server-get-username" title="gnutls_srp_server_get_username ()">gnutls_srp_server_get_username</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-client-credentials" title="gnutls_srp_set_client_credentials ()">gnutls_srp_set_client_credentials</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-client-credentials-function" title="gnutls_srp_set_client_credentials_function ()">gnutls_srp_set_client_credentials_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-prime-bits" title="gnutls_srp_set_prime_bits ()">gnutls_srp_set_prime_bits</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-credentials-file" title="gnutls_srp_set_server_credentials_file ()">gnutls_srp_set_server_credentials_file</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-credentials-function" title="gnutls_srp_set_server_credentials_function ()">gnutls_srp_set_server_credentials_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-fake-salt-seed" title="gnutls_srp_set_server_fake_salt_seed ()">gnutls_srp_set_server_fake_salt_seed</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-verifier" title="gnutls_srp_verifier ()">gnutls_srp_verifier</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-keys" title="gnutls_srtp_get_keys ()">gnutls_srtp_get_keys</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-mki" title="gnutls_srtp_get_mki ()">gnutls_srtp_get_mki</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-profile-id" title="gnutls_srtp_get_profile_id ()">gnutls_srtp_get_profile_id</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-profile-name" title="gnutls_srtp_get_profile_name ()">gnutls_srtp_get_profile_name</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-selected-profile" title="gnutls_srtp_get_selected_profile ()">gnutls_srtp_get_selected_profile</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-profile-t" title="enum gnutls_srtp_profile_t">gnutls_srtp_profile_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-set-mki" title="gnutls_srtp_set_mki ()">gnutls_srtp_set_mki</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-set-profile" title="gnutls_srtp_set_profile ()">gnutls_srtp_set_profile</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-set-profile-direct" title="gnutls_srtp_set_profile_direct ()">gnutls_srtp_set_profile_direct</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_STATIC_MUTEX, macro in locks +</dt> +<dd></dd> +<dt> +gnutls_static_mutex_lock, macro in locks +</dt> +<dd></dd> +<dt> +gnutls_static_mutex_t, typedef in locks +</dt> +<dd></dd> +<dt> +gnutls_static_mutex_unlock, macro in locks +</dt> +<dd></dd> +<dt> +gnutls_stek_rotation_callback_t, user_function in gnutls_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-store-commitment" title="gnutls_store_commitment ()">gnutls_store_commitment</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-store-pubkey" title="gnutls_store_pubkey ()">gnutls_store_pubkey</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-strerror" title="gnutls_strerror ()">gnutls_strerror</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#GNUTLS-SUBGROUP-TO-BITS:CAPS" title="GNUTLS_SUBGROUP_TO_BITS()">GNUTLS_SUBGROUP_TO_BITS</a>, macro in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +gnutls_subject_alt_names_deinit, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_subject_alt_names_get, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_subject_alt_names_init, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_subject_alt_names_set, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_subject_alt_names_t, typedef in x509-ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t">gnutls_supplemental_data_format_type_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-recv" title="gnutls_supplemental_recv ()">gnutls_supplemental_recv</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-register" title="gnutls_supplemental_register ()">gnutls_supplemental_register</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-send" title="gnutls_supplemental_send ()">gnutls_supplemental_send</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-supp-recv-func" title="gnutls_supp_recv_func ()">gnutls_supp_recv_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-supp-send-func" title="gnutls_supp_send_func ()">gnutls_supp_send_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_system_global_deinit, function in system +</dt> +<dd></dd> +<dt> +gnutls_system_global_init, function in system +</dt> +<dd></dd> +<dt> +gnutls_system_key_add_x509, function in system-keys +</dt> +<dd></dd> +<dt> +gnutls_system_key_delete, function in system-keys +</dt> +<dd></dd> +<dt> +gnutls_system_key_iter_deinit, function in system-keys +</dt> +<dd></dd> +<dt> +gnutls_system_key_iter_get_info, function in system-keys +</dt> +<dd></dd> +<dt> +gnutls_system_key_iter_t, typedef in system-keys +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-system-recv-timeout" title="gnutls_system_recv_timeout ()">gnutls_system_recv_timeout</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-deinit" title="gnutls_tdb_deinit ()">gnutls_tdb_deinit</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-init" title="gnutls_tdb_init ()">gnutls_tdb_init</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-int" title="struct gnutls_tdb_int">gnutls_tdb_int</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-set-store-commitment-func" title="gnutls_tdb_set_store_commitment_func ()">gnutls_tdb_set_store_commitment_func</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-set-store-func" title="gnutls_tdb_set_store_func ()">gnutls_tdb_set_store_func</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-set-verify-func" title="gnutls_tdb_set_verify_func ()">gnutls_tdb_set_verify_func</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-store-commitment-func" title="gnutls_tdb_store_commitment_func ()">gnutls_tdb_store_commitment_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-store-func" title="gnutls_tdb_store_func ()">gnutls_tdb_store_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t">gnutls_tdb_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-verify-func" title="gnutls_tdb_verify_func ()">gnutls_tdb_verify_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_time, variable in system +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-time-func" title="gnutls_time_func ()">gnutls_time_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_tlsprf_self_test, function in self-test +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#gnutls-tpmkey-fmt-t" title="enum gnutls_tpmkey_fmt_t">gnutls_tpmkey_fmt_t</a>, enum in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-get-registered" title="gnutls_tpm_get_registered ()">gnutls_tpm_get_registered</a>, function in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-key-list-deinit" title="gnutls_tpm_key_list_deinit ()">gnutls_tpm_key_list_deinit</a>, function in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-key-list-get-url" title="gnutls_tpm_key_list_get_url ()">gnutls_tpm_key_list_get_url</a>, function in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-key-list-t" title="gnutls_tpm_key_list_t">gnutls_tpm_key_list_t</a>, typedef in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#GNUTLS-TPM-KEY-SIGNING:CAPS" title="GNUTLS_TPM_KEY_SIGNING">GNUTLS_TPM_KEY_SIGNING</a>, macro in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#GNUTLS-TPM-KEY-USER:CAPS" title="GNUTLS_TPM_KEY_USER">GNUTLS_TPM_KEY_USER</a>, macro in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-privkey-delete" title="gnutls_tpm_privkey_delete ()">gnutls_tpm_privkey_delete</a>, function in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-privkey-generate" title="gnutls_tpm_privkey_generate ()">gnutls_tpm_privkey_generate</a>, function in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#GNUTLS-TPM-REGISTER-KEY:CAPS" title="GNUTLS_TPM_REGISTER_KEY">GNUTLS_TPM_REGISTER_KEY</a>, macro in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-get-int" title="gnutls_transport_get_int ()">gnutls_transport_get_int</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-get-int2" title="gnutls_transport_get_int2 ()">gnutls_transport_get_int2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-get-ptr" title="gnutls_transport_get_ptr ()">gnutls_transport_get_ptr</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-get-ptr2" title="gnutls_transport_get_ptr2 ()">gnutls_transport_get_ptr2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_transport_is_ktls_enabled, function in socket +</dt> +<dd></dd> +<dt> +gnutls_transport_ktls_enable_flags_t, enum in socket +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-errno" title="gnutls_transport_set_errno ()">gnutls_transport_set_errno</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-errno-function" title="gnutls_transport_set_errno_function ()">gnutls_transport_set_errno_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_transport_set_fastopen, function in socket +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-int" title="gnutls_transport_set_int ()">gnutls_transport_set_int</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-int2" title="gnutls_transport_set_int2 ()">gnutls_transport_set_int2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr" title="gnutls_transport_set_ptr ()">gnutls_transport_set_ptr</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr2" title="gnutls_transport_set_ptr2 ()">gnutls_transport_set_ptr2</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-function" title="gnutls_transport_set_pull_function ()">gnutls_transport_set_pull_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-timeout-function" title="gnutls_transport_set_pull_timeout_function ()">gnutls_transport_set_pull_timeout_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-push-function" title="gnutls_transport_set_push_function ()">gnutls_transport_set_push_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-vec-push-function" title="gnutls_transport_set_vec_push_function ()">gnutls_transport_set_vec_push_function</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-trust-list-flags-t" title="enum gnutls_trust_list_flags_t">gnutls_trust_list_flags_t</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-typed-vdata-st" title="gnutls_typed_vdata_st">gnutls_typed_vdata_st</a>, struct in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-url-is-supported" title="gnutls_url_is_supported ()">gnutls_url_is_supported</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-UTF8-IGNORE-ERRS:CAPS" title="GNUTLS_UTF8_IGNORE_ERRS">GNUTLS_UTF8_IGNORE_ERRS</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-utf8-password-normalize" title="gnutls_utf8_password_normalize ()">gnutls_utf8_password_normalize</a>, function in str +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-vdata-types-t" title="enum gnutls_vdata_types_t">gnutls_vdata_types_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-vec-push-func" title="gnutls_vec_push_func ()">gnutls_vec_push_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-BROKEN:CAPS" title="GNUTLS_VERIFY_ALLOW_BROKEN">GNUTLS_VERIFY_ALLOW_BROKEN</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-verify-stored-pubkey" title="gnutls_verify_stored_pubkey ()">gnutls_verify_stored_pubkey</a>, function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION:CAPS" title="GNUTLS_VERSION">GNUTLS_VERSION</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-MAJOR:CAPS" title="GNUTLS_VERSION_MAJOR">GNUTLS_VERSION_MAJOR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-MINOR:CAPS" title="GNUTLS_VERSION_MINOR">GNUTLS_VERSION_MINOR</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-NUMBER:CAPS" title="GNUTLS_VERSION_NUMBER">GNUTLS_VERSION_NUMBER</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-PATCH:CAPS" title="GNUTLS_VERSION_PATCH">GNUTLS_VERSION_PATCH</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-VFLAGS-PROFILE-MASK:CAPS" title="GNUTLS_VFLAGS_PROFILE_MASK">GNUTLS_VFLAGS_PROFILE_MASK</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-VFLAGS-TO-PROFILE:CAPS" title="GNUTLS_VFLAGS_TO_PROFILE()">GNUTLS_VFLAGS_TO_PROFILE</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-write" title="gnutls_write">gnutls_write</a>, macro in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-AUTHORITY-INFO-ACCESS:CAPS" title="GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS">GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-AUTHORITY-KEY-ID:CAPS" title="GNUTLS_X509EXT_OID_AUTHORITY_KEY_ID">GNUTLS_X509EXT_OID_AUTHORITY_KEY_ID</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-BASIC-CONSTRAINTS:CAPS" title="GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS">GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-CRL-DIST-POINTS:CAPS" title="GNUTLS_X509EXT_OID_CRL_DIST_POINTS">GNUTLS_X509EXT_OID_CRL_DIST_POINTS</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-CRT-POLICY:CAPS" title="GNUTLS_X509EXT_OID_CRT_POLICY">GNUTLS_X509EXT_OID_CRT_POLICY</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-CT-SCT-V1:CAPS" title="GNUTLS_X509EXT_OID_CT_SCT_V1">GNUTLS_X509EXT_OID_CT_SCT_V1</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-EXTENDED-KEY-USAGE:CAPS" title="GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE">GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-IAN:CAPS" title="GNUTLS_X509EXT_OID_IAN">GNUTLS_X509EXT_OID_IAN</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-INHIBIT-ANYPOLICY:CAPS" title="GNUTLS_X509EXT_OID_INHIBIT_ANYPOLICY">GNUTLS_X509EXT_OID_INHIBIT_ANYPOLICY</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-KEY-USAGE:CAPS" title="GNUTLS_X509EXT_OID_KEY_USAGE">GNUTLS_X509EXT_OID_KEY_USAGE</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-NAME-CONSTRAINTS:CAPS" title="GNUTLS_X509EXT_OID_NAME_CONSTRAINTS">GNUTLS_X509EXT_OID_NAME_CONSTRAINTS</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-PRIVATE-KEY-USAGE-PERIOD:CAPS" title="GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD">GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-PROXY-CRT-INFO:CAPS" title="GNUTLS_X509EXT_OID_PROXY_CRT_INFO">GNUTLS_X509EXT_OID_PROXY_CRT_INFO</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-SAN:CAPS" title="GNUTLS_X509EXT_OID_SAN">GNUTLS_X509EXT_OID_SAN</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-SUBJECT-KEY-ID:CAPS" title="GNUTLS_X509EXT_OID_SUBJECT_KEY_ID">GNUTLS_X509EXT_OID_SUBJECT_KEY_ID</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-TLSFEATURES:CAPS" title="GNUTLS_X509EXT_OID_TLSFEATURES">GNUTLS_X509EXT_OID_TLSFEATURES</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_aia_deinit, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aia_get, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aia_init, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aia_set, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aia_t, typedef in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aki_deinit, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aki_get_cert_issuer, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aki_get_id, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aki_init, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aki_set_cert_issuer, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aki_set_id, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_aki_t, typedef in x509-ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-ava-st" title="gnutls_x509_ava_st">gnutls_x509_ava_st</a>, struct in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-cidr-to-rfc5280" title="gnutls_x509_cidr_to_rfc5280 ()">gnutls_x509_cidr_to_rfc5280</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-check-issuer" title="gnutls_x509_crl_check_issuer ()">gnutls_x509_crl_check_issuer</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-deinit" title="gnutls_x509_crl_deinit ()">gnutls_x509_crl_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_crl_dist_points_deinit, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_crl_dist_points_get, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_crl_dist_points_init, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_crl_dist_points_set, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_crl_dist_points_t, typedef in x509-ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-export" title="gnutls_x509_crl_export ()">gnutls_x509_crl_export</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-export2" title="gnutls_x509_crl_export2 ()">gnutls_x509_crl_export2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-authority-key-gn-serial" title="gnutls_x509_crl_get_authority_key_gn_serial ()">gnutls_x509_crl_get_authority_key_gn_serial</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-authority-key-id" title="gnutls_x509_crl_get_authority_key_id ()">gnutls_x509_crl_get_authority_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-certificate" title="gnutls_x509_crl_get_certificate">gnutls_x509_crl_get_certificate</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-certificate-count" title="gnutls_x509_crl_get_certificate_count">gnutls_x509_crl_get_certificate_count</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-crt-count" title="gnutls_x509_crl_get_crt_count ()">gnutls_x509_crl_get_crt_count</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-crt-serial" title="gnutls_x509_crl_get_crt_serial ()">gnutls_x509_crl_get_crt_serial</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-dn-oid" title="gnutls_x509_crl_get_dn_oid ()">gnutls_x509_crl_get_dn_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-data" title="gnutls_x509_crl_get_extension_data ()">gnutls_x509_crl_get_extension_data</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-data2" title="gnutls_x509_crl_get_extension_data2 ()">gnutls_x509_crl_get_extension_data2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-info" title="gnutls_x509_crl_get_extension_info ()">gnutls_x509_crl_get_extension_info</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-oid" title="gnutls_x509_crl_get_extension_oid ()">gnutls_x509_crl_get_extension_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn" title="gnutls_x509_crl_get_issuer_dn ()">gnutls_x509_crl_get_issuer_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn2" title="gnutls_x509_crl_get_issuer_dn2 ()">gnutls_x509_crl_get_issuer_dn2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn3" title="gnutls_x509_crl_get_issuer_dn3 ()">gnutls_x509_crl_get_issuer_dn3</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn-by-oid" title="gnutls_x509_crl_get_issuer_dn_by_oid ()">gnutls_x509_crl_get_issuer_dn_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-next-update" title="gnutls_x509_crl_get_next_update ()">gnutls_x509_crl_get_next_update</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-number" title="gnutls_x509_crl_get_number ()">gnutls_x509_crl_get_number</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-raw-issuer-dn" title="gnutls_x509_crl_get_raw_issuer_dn ()">gnutls_x509_crl_get_raw_issuer_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-signature" title="gnutls_x509_crl_get_signature ()">gnutls_x509_crl_get_signature</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-signature-algorithm" title="gnutls_x509_crl_get_signature_algorithm ()">gnutls_x509_crl_get_signature_algorithm</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-signature-oid" title="gnutls_x509_crl_get_signature_oid ()">gnutls_x509_crl_get_signature_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-this-update" title="gnutls_x509_crl_get_this_update ()">gnutls_x509_crl_get_this_update</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-version" title="gnutls_x509_crl_get_version ()">gnutls_x509_crl_get_version</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-import" title="gnutls_x509_crl_import ()">gnutls_x509_crl_import</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-init" title="gnutls_x509_crl_init ()">gnutls_x509_crl_init</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-int" title="gnutls_x509_crl_int">gnutls_x509_crl_int</a>, struct in x509_int +</dt> +<dd></dd> +<dt> +gnutls_x509_crl_iter, struct in x509_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-crt-serial" title="gnutls_x509_crl_iter_crt_serial ()">gnutls_x509_crl_iter_crt_serial</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-deinit" title="gnutls_x509_crl_iter_deinit ()">gnutls_x509_crl_iter_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-t" title="gnutls_x509_crl_iter_t">gnutls_x509_crl_iter_t</a>, typedef in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-list-import" title="gnutls_x509_crl_list_import ()">gnutls_x509_crl_list_import</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-list-import2" title="gnutls_x509_crl_list_import2 ()">gnutls_x509_crl_list_import2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-print" title="gnutls_x509_crl_print ()">gnutls_x509_crl_print</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crl-privkey-sign" title="gnutls_x509_crl_privkey_sign ()">gnutls_x509_crl_privkey_sign</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-reason-flags-t" title="enum gnutls_x509_crl_reason_flags_t">gnutls_x509_crl_reason_flags_t</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_crl_reason_t, enum in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-authority-key-id" title="gnutls_x509_crl_set_authority_key_id ()">gnutls_x509_crl_set_authority_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-crt" title="gnutls_x509_crl_set_crt ()">gnutls_x509_crl_set_crt</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-crt-serial" title="gnutls_x509_crl_set_crt_serial ()">gnutls_x509_crl_set_crt_serial</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-next-update" title="gnutls_x509_crl_set_next_update ()">gnutls_x509_crl_set_next_update</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-number" title="gnutls_x509_crl_set_number ()">gnutls_x509_crl_set_number</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-this-update" title="gnutls_x509_crl_set_this_update ()">gnutls_x509_crl_set_this_update</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-version" title="gnutls_x509_crl_set_version ()">gnutls_x509_crl_set_version</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-sign" title="gnutls_x509_crl_sign ()">gnutls_x509_crl_sign</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-sign2" title="gnutls_x509_crl_sign2 ()">gnutls_x509_crl_sign2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t">gnutls_x509_crl_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-verify" title="gnutls_x509_crl_verify ()">gnutls_x509_crl_verify</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-deinit" title="gnutls_x509_crq_deinit ()">gnutls_x509_crq_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-export" title="gnutls_x509_crq_export ()">gnutls_x509_crq_export</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-export2" title="gnutls_x509_crq_export2 ()">gnutls_x509_crq_export2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-attribute-by-oid" title="gnutls_x509_crq_get_attribute_by_oid ()">gnutls_x509_crq_get_attribute_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-attribute-data" title="gnutls_x509_crq_get_attribute_data ()">gnutls_x509_crq_get_attribute_data</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-attribute-info" title="gnutls_x509_crq_get_attribute_info ()">gnutls_x509_crq_get_attribute_info</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-basic-constraints" title="gnutls_x509_crq_get_basic_constraints ()">gnutls_x509_crq_get_basic_constraints</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-challenge-password" title="gnutls_x509_crq_get_challenge_password ()">gnutls_x509_crq_get_challenge_password</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn" title="gnutls_x509_crq_get_dn ()">gnutls_x509_crq_get_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn2" title="gnutls_x509_crq_get_dn2 ()">gnutls_x509_crq_get_dn2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn3" title="gnutls_x509_crq_get_dn3 ()">gnutls_x509_crq_get_dn3</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn-by-oid" title="gnutls_x509_crq_get_dn_by_oid ()">gnutls_x509_crq_get_dn_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn-oid" title="gnutls_x509_crq_get_dn_oid ()">gnutls_x509_crq_get_dn_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-by-oid" title="gnutls_x509_crq_get_extension_by_oid ()">gnutls_x509_crq_get_extension_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-by-oid2" title="gnutls_x509_crq_get_extension_by_oid2 ()">gnutls_x509_crq_get_extension_by_oid2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-data" title="gnutls_x509_crq_get_extension_data ()">gnutls_x509_crq_get_extension_data</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-data2" title="gnutls_x509_crq_get_extension_data2 ()">gnutls_x509_crq_get_extension_data2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-info" title="gnutls_x509_crq_get_extension_info ()">gnutls_x509_crq_get_extension_info</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-key-id" title="gnutls_x509_crq_get_key_id ()">gnutls_x509_crq_get_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-key-purpose-oid" title="gnutls_x509_crq_get_key_purpose_oid ()">gnutls_x509_crq_get_key_purpose_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-key-rsa-raw" title="gnutls_x509_crq_get_key_rsa_raw ()">gnutls_x509_crq_get_key_rsa_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-key-usage" title="gnutls_x509_crq_get_key_usage ()">gnutls_x509_crq_get_key_usage</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-pk-algorithm" title="gnutls_x509_crq_get_pk_algorithm ()">gnutls_x509_crq_get_pk_algorithm</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-pk-oid" title="gnutls_x509_crq_get_pk_oid ()">gnutls_x509_crq_get_pk_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-private-key-usage-period" title="gnutls_x509_crq_get_private_key_usage_period ()">gnutls_x509_crq_get_private_key_usage_period</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-signature-algorithm" title="gnutls_x509_crq_get_signature_algorithm ()">gnutls_x509_crq_get_signature_algorithm</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-signature-oid" title="gnutls_x509_crq_get_signature_oid ()">gnutls_x509_crq_get_signature_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-spki" title="gnutls_x509_crq_get_spki ()">gnutls_x509_crq_get_spki</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-subject-alt-name" title="gnutls_x509_crq_get_subject_alt_name ()">gnutls_x509_crq_get_subject_alt_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-subject-alt-othername-oid" title="gnutls_x509_crq_get_subject_alt_othername_oid ()">gnutls_x509_crq_get_subject_alt_othername_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-tlsfeatures" title="gnutls_x509_crq_get_tlsfeatures ()">gnutls_x509_crq_get_tlsfeatures</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-version" title="gnutls_x509_crq_get_version ()">gnutls_x509_crq_get_version</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-import" title="gnutls_x509_crq_import ()">gnutls_x509_crq_import</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-init" title="gnutls_x509_crq_init ()">gnutls_x509_crq_init</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-int" title="gnutls_x509_crq_int">gnutls_x509_crq_int</a>, struct in x509_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-print" title="gnutls_x509_crq_print ()">gnutls_x509_crq_print</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crq-privkey-sign" title="gnutls_x509_crq_privkey_sign ()">gnutls_x509_crq_privkey_sign</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-attribute-by-oid" title="gnutls_x509_crq_set_attribute_by_oid ()">gnutls_x509_crq_set_attribute_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-basic-constraints" title="gnutls_x509_crq_set_basic_constraints ()">gnutls_x509_crq_set_basic_constraints</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-challenge-password" title="gnutls_x509_crq_set_challenge_password ()">gnutls_x509_crq_set_challenge_password</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-dn" title="gnutls_x509_crq_set_dn ()">gnutls_x509_crq_set_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-dn-by-oid" title="gnutls_x509_crq_set_dn_by_oid ()">gnutls_x509_crq_set_dn_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-extension-by-oid" title="gnutls_x509_crq_set_extension_by_oid ()">gnutls_x509_crq_set_extension_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-key" title="gnutls_x509_crq_set_key ()">gnutls_x509_crq_set_key</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-key-purpose-oid" title="gnutls_x509_crq_set_key_purpose_oid ()">gnutls_x509_crq_set_key_purpose_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-key-rsa-raw" title="gnutls_x509_crq_set_key_rsa_raw ()">gnutls_x509_crq_set_key_rsa_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-key-usage" title="gnutls_x509_crq_set_key_usage ()">gnutls_x509_crq_set_key_usage</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-private-key-usage-period" title="gnutls_x509_crq_set_private_key_usage_period ()">gnutls_x509_crq_set_private_key_usage_period</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crq-set-pubkey" title="gnutls_x509_crq_set_pubkey ()">gnutls_x509_crq_set_pubkey</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-spki" title="gnutls_x509_crq_set_spki ()">gnutls_x509_crq_set_spki</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-subject-alt-name" title="gnutls_x509_crq_set_subject_alt_name ()">gnutls_x509_crq_set_subject_alt_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-subject-alt-othername" title="gnutls_x509_crq_set_subject_alt_othername ()">gnutls_x509_crq_set_subject_alt_othername</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-tlsfeatures" title="gnutls_x509_crq_set_tlsfeatures ()">gnutls_x509_crq_set_tlsfeatures</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-version" title="gnutls_x509_crq_set_version ()">gnutls_x509_crq_set_version</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-sign" title="gnutls_x509_crq_sign ()">gnutls_x509_crq_sign</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-sign2" title="gnutls_x509_crq_sign2 ()">gnutls_x509_crq_sign2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t">gnutls_x509_crq_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-verify" title="gnutls_x509_crq_verify ()">gnutls_x509_crq_verify</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-email" title="gnutls_x509_crt_check_email ()">gnutls_x509_crt_check_email</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-hostname" title="gnutls_x509_crt_check_hostname ()">gnutls_x509_crt_check_hostname</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-hostname2" title="gnutls_x509_crt_check_hostname2 ()">gnutls_x509_crt_check_hostname2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-ip" title="gnutls_x509_crt_check_ip ()">gnutls_x509_crt_check_ip</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-key-purpose" title="gnutls_x509_crt_check_key_purpose ()">gnutls_x509_crt_check_key_purpose</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-revocation" title="gnutls_x509_crt_check_revocation ()">gnutls_x509_crt_check_revocation</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-cpy-crl-dist-points" title="gnutls_x509_crt_cpy_crl_dist_points ()">gnutls_x509_crt_cpy_crl_dist_points</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()">gnutls_x509_crt_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-equals" title="gnutls_x509_crt_equals ()">gnutls_x509_crt_equals</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-equals2" title="gnutls_x509_crt_equals2 ()">gnutls_x509_crt_equals2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-export" title="gnutls_x509_crt_export ()">gnutls_x509_crt_export</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-export2" title="gnutls_x509_crt_export2 ()">gnutls_x509_crt_export2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-flags" title="enum gnutls_x509_crt_flags">gnutls_x509_crt_flags</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_X509_CRT_FULL, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-activation-time" title="gnutls_x509_crt_get_activation_time ()">gnutls_x509_crt_get_activation_time</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-authority-info-access" title="gnutls_x509_crt_get_authority_info_access ()">gnutls_x509_crt_get_authority_info_access</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-authority-key-gn-serial" title="gnutls_x509_crt_get_authority_key_gn_serial ()">gnutls_x509_crt_get_authority_key_gn_serial</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-authority-key-id" title="gnutls_x509_crt_get_authority_key_id ()">gnutls_x509_crt_get_authority_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-basic-constraints" title="gnutls_x509_crt_get_basic_constraints ()">gnutls_x509_crt_get_basic_constraints</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-ca-status" title="gnutls_x509_crt_get_ca_status ()">gnutls_x509_crt_get_ca_status</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-crl-dist-points" title="gnutls_x509_crt_get_crl_dist_points ()">gnutls_x509_crt_get_crl_dist_points</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn" title="gnutls_x509_crt_get_dn ()">gnutls_x509_crt_get_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn2" title="gnutls_x509_crt_get_dn2 ()">gnutls_x509_crt_get_dn2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn3" title="gnutls_x509_crt_get_dn3 ()">gnutls_x509_crt_get_dn3</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn-by-oid" title="gnutls_x509_crt_get_dn_by_oid ()">gnutls_x509_crt_get_dn_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn-oid" title="gnutls_x509_crt_get_dn_oid ()">gnutls_x509_crt_get_dn_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-expiration-time" title="gnutls_x509_crt_get_expiration_time ()">gnutls_x509_crt_get_expiration_time</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-by-oid" title="gnutls_x509_crt_get_extension_by_oid ()">gnutls_x509_crt_get_extension_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-by-oid2" title="gnutls_x509_crt_get_extension_by_oid2 ()">gnutls_x509_crt_get_extension_by_oid2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-data" title="gnutls_x509_crt_get_extension_data ()">gnutls_x509_crt_get_extension_data</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-data2" title="gnutls_x509_crt_get_extension_data2 ()">gnutls_x509_crt_get_extension_data2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-info" title="gnutls_x509_crt_get_extension_info ()">gnutls_x509_crt_get_extension_info</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-oid" title="gnutls_x509_crt_get_extension_oid ()">gnutls_x509_crt_get_extension_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-fingerprint" title="gnutls_x509_crt_get_fingerprint ()">gnutls_x509_crt_get_fingerprint</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-inhibit-anypolicy" title="gnutls_x509_crt_get_inhibit_anypolicy ()">gnutls_x509_crt_get_inhibit_anypolicy</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer" title="gnutls_x509_crt_get_issuer ()">gnutls_x509_crt_get_issuer</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-name" title="gnutls_x509_crt_get_issuer_alt_name ()">gnutls_x509_crt_get_issuer_alt_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-name2" title="gnutls_x509_crt_get_issuer_alt_name2 ()">gnutls_x509_crt_get_issuer_alt_name2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-othername-oid" title="gnutls_x509_crt_get_issuer_alt_othername_oid ()">gnutls_x509_crt_get_issuer_alt_othername_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn" title="gnutls_x509_crt_get_issuer_dn ()">gnutls_x509_crt_get_issuer_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn2" title="gnutls_x509_crt_get_issuer_dn2 ()">gnutls_x509_crt_get_issuer_dn2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn3" title="gnutls_x509_crt_get_issuer_dn3 ()">gnutls_x509_crt_get_issuer_dn3</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn-by-oid" title="gnutls_x509_crt_get_issuer_dn_by_oid ()">gnutls_x509_crt_get_issuer_dn_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn-oid" title="gnutls_x509_crt_get_issuer_dn_oid ()">gnutls_x509_crt_get_issuer_dn_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-unique-id" title="gnutls_x509_crt_get_issuer_unique_id ()">gnutls_x509_crt_get_issuer_unique_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-key-id" title="gnutls_x509_crt_get_key_id ()">gnutls_x509_crt_get_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-key-purpose-oid" title="gnutls_x509_crt_get_key_purpose_oid ()">gnutls_x509_crt_get_key_purpose_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-key-usage" title="gnutls_x509_crt_get_key_usage ()">gnutls_x509_crt_get_key_usage</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-name-constraints" title="gnutls_x509_crt_get_name_constraints ()">gnutls_x509_crt_get_name_constraints</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-algorithm" title="gnutls_x509_crt_get_pk_algorithm ()">gnutls_x509_crt_get_pk_algorithm</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-dsa-raw" title="gnutls_x509_crt_get_pk_dsa_raw ()">gnutls_x509_crt_get_pk_dsa_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-ecc-raw" title="gnutls_x509_crt_get_pk_ecc_raw ()">gnutls_x509_crt_get_pk_ecc_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-gost-raw" title="gnutls_x509_crt_get_pk_gost_raw ()">gnutls_x509_crt_get_pk_gost_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-oid" title="gnutls_x509_crt_get_pk_oid ()">gnutls_x509_crt_get_pk_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-rsa-raw" title="gnutls_x509_crt_get_pk_rsa_raw ()">gnutls_x509_crt_get_pk_rsa_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-policy" title="gnutls_x509_crt_get_policy ()">gnutls_x509_crt_get_policy</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_crt_get_preferred_hash_algorithm, function in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-private-key-usage-period" title="gnutls_x509_crt_get_private_key_usage_period ()">gnutls_x509_crt_get_private_key_usage_period</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-proxy" title="gnutls_x509_crt_get_proxy ()">gnutls_x509_crt_get_proxy</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-raw-dn" title="gnutls_x509_crt_get_raw_dn ()">gnutls_x509_crt_get_raw_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-raw-issuer-dn" title="gnutls_x509_crt_get_raw_issuer_dn ()">gnutls_x509_crt_get_raw_issuer_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-serial" title="gnutls_x509_crt_get_serial ()">gnutls_x509_crt_get_serial</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-signature" title="gnutls_x509_crt_get_signature ()">gnutls_x509_crt_get_signature</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-signature-algorithm" title="gnutls_x509_crt_get_signature_algorithm ()">gnutls_x509_crt_get_signature_algorithm</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-signature-oid" title="gnutls_x509_crt_get_signature_oid ()">gnutls_x509_crt_get_signature_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-spki" title="gnutls_x509_crt_get_spki ()">gnutls_x509_crt_get_spki</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject" title="gnutls_x509_crt_get_subject ()">gnutls_x509_crt_get_subject</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-name" title="gnutls_x509_crt_get_subject_alt_name ()">gnutls_x509_crt_get_subject_alt_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-name2" title="gnutls_x509_crt_get_subject_alt_name2 ()">gnutls_x509_crt_get_subject_alt_name2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-othername-oid" title="gnutls_x509_crt_get_subject_alt_othername_oid ()">gnutls_x509_crt_get_subject_alt_othername_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-key-id" title="gnutls_x509_crt_get_subject_key_id ()">gnutls_x509_crt_get_subject_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-unique-id" title="gnutls_x509_crt_get_subject_unique_id ()">gnutls_x509_crt_get_subject_unique_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-tlsfeatures" title="gnutls_x509_crt_get_tlsfeatures ()">gnutls_x509_crt_get_tlsfeatures</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-version" title="gnutls_x509_crt_get_version ()">gnutls_x509_crt_get_version</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-import" title="gnutls_x509_crt_import ()">gnutls_x509_crt_import</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-x509-crt-import-pkcs11" title="gnutls_x509_crt_import_pkcs11 ()">gnutls_x509_crt_import_pkcs11</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-x509-crt-import-pkcs11-url" title="gnutls_x509_crt_import_pkcs11_url">gnutls_x509_crt_import_pkcs11_url</a>, macro in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-import-url" title="gnutls_x509_crt_import_url ()">gnutls_x509_crt_import_url</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_crt_import_url_func, user_function in urls +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-init" title="gnutls_x509_crt_init ()">gnutls_x509_crt_init</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-int" title="gnutls_x509_crt_int">gnutls_x509_crt_int</a>, struct in x509_int +</dt> +<dd></dd> +<dt> +gnutls_x509_crt_is_issuer, function in x509_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-import" title="gnutls_x509_crt_list_import ()">gnutls_x509_crt_list_import</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-import2" title="gnutls_x509_crt_list_import2 ()">gnutls_x509_crt_list_import2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-pkcs11.html#gnutls-x509-crt-list-import-pkcs11" title="gnutls_x509_crt_list_import_pkcs11 ()">gnutls_x509_crt_list_import_pkcs11</a>, function in <a class="link" href="gnutls-pkcs11.html" title="pkcs11">pkcs11</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-import-url" title="gnutls_x509_crt_list_import_url ()">gnutls_x509_crt_list_import_url</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-verify" title="gnutls_x509_crt_list_verify ()">gnutls_x509_crt_list_verify</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +GNUTLS_X509_CRT_ONELINE, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-print" title="gnutls_x509_crt_print ()">gnutls_x509_crt_print</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crt-privkey-sign" title="gnutls_x509_crt_privkey_sign ()">gnutls_x509_crt_privkey_sign</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-activation-time" title="gnutls_x509_crt_set_activation_time ()">gnutls_x509_crt_set_activation_time</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-authority-info-access" title="gnutls_x509_crt_set_authority_info_access ()">gnutls_x509_crt_set_authority_info_access</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-authority-key-id" title="gnutls_x509_crt_set_authority_key_id ()">gnutls_x509_crt_set_authority_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-basic-constraints" title="gnutls_x509_crt_set_basic_constraints ()">gnutls_x509_crt_set_basic_constraints</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-ca-status" title="gnutls_x509_crt_set_ca_status ()">gnutls_x509_crt_set_ca_status</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crl-dist-points" title="gnutls_x509_crt_set_crl_dist_points ()">gnutls_x509_crt_set_crl_dist_points</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crl-dist-points2" title="gnutls_x509_crt_set_crl_dist_points2 ()">gnutls_x509_crt_set_crl_dist_points2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crq" title="gnutls_x509_crt_set_crq ()">gnutls_x509_crt_set_crq</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crq-extensions" title="gnutls_x509_crt_set_crq_extensions ()">gnutls_x509_crt_set_crq_extensions</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crq-extension-by-oid" title="gnutls_x509_crt_set_crq_extension_by_oid ()">gnutls_x509_crt_set_crq_extension_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-dn" title="gnutls_x509_crt_set_dn ()">gnutls_x509_crt_set_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-dn-by-oid" title="gnutls_x509_crt_set_dn_by_oid ()">gnutls_x509_crt_set_dn_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-expiration-time" title="gnutls_x509_crt_set_expiration_time ()">gnutls_x509_crt_set_expiration_time</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-extension-by-oid" title="gnutls_x509_crt_set_extension_by_oid ()">gnutls_x509_crt_set_extension_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-flags" title="gnutls_x509_crt_set_flags ()">gnutls_x509_crt_set_flags</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-inhibit-anypolicy" title="gnutls_x509_crt_set_inhibit_anypolicy ()">gnutls_x509_crt_set_inhibit_anypolicy</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-alt-name" title="gnutls_x509_crt_set_issuer_alt_name ()">gnutls_x509_crt_set_issuer_alt_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-alt-othername" title="gnutls_x509_crt_set_issuer_alt_othername ()">gnutls_x509_crt_set_issuer_alt_othername</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-dn" title="gnutls_x509_crt_set_issuer_dn ()">gnutls_x509_crt_set_issuer_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-dn-by-oid" title="gnutls_x509_crt_set_issuer_dn_by_oid ()">gnutls_x509_crt_set_issuer_dn_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-unique-id" title="gnutls_x509_crt_set_issuer_unique_id ()">gnutls_x509_crt_set_issuer_unique_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-key" title="gnutls_x509_crt_set_key ()">gnutls_x509_crt_set_key</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-key-purpose-oid" title="gnutls_x509_crt_set_key_purpose_oid ()">gnutls_x509_crt_set_key_purpose_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-key-usage" title="gnutls_x509_crt_set_key_usage ()">gnutls_x509_crt_set_key_usage</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-name-constraints" title="gnutls_x509_crt_set_name_constraints ()">gnutls_x509_crt_set_name_constraints</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-pin-function" title="gnutls_x509_crt_set_pin_function ()">gnutls_x509_crt_set_pin_function</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-policy" title="gnutls_x509_crt_set_policy ()">gnutls_x509_crt_set_policy</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-private-key-usage-period" title="gnutls_x509_crt_set_private_key_usage_period ()">gnutls_x509_crt_set_private_key_usage_period</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-proxy" title="gnutls_x509_crt_set_proxy ()">gnutls_x509_crt_set_proxy</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-proxy-dn" title="gnutls_x509_crt_set_proxy_dn ()">gnutls_x509_crt_set_proxy_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crt-set-pubkey" title="gnutls_x509_crt_set_pubkey ()">gnutls_x509_crt_set_pubkey</a>, function in <a class="link" href="gnutls-abstract.html" title="abstract">abstract</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-serial" title="gnutls_x509_crt_set_serial ()">gnutls_x509_crt_set_serial</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-spki" title="gnutls_x509_crt_set_spki ()">gnutls_x509_crt_set_spki</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-alternative-name" title="gnutls_x509_crt_set_subject_alternative_name ()">gnutls_x509_crt_set_subject_alternative_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-alt-name" title="gnutls_x509_crt_set_subject_alt_name ()">gnutls_x509_crt_set_subject_alt_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-alt-othername" title="gnutls_x509_crt_set_subject_alt_othername ()">gnutls_x509_crt_set_subject_alt_othername</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-key-id" title="gnutls_x509_crt_set_subject_key_id ()">gnutls_x509_crt_set_subject_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-unique-id" title="gnutls_x509_crt_set_subject_unique_id ()">gnutls_x509_crt_set_subject_unique_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-tlsfeatures" title="gnutls_x509_crt_set_tlsfeatures ()">gnutls_x509_crt_set_tlsfeatures</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-version" title="gnutls_x509_crt_set_version ()">gnutls_x509_crt_set_version</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-sign" title="gnutls_x509_crt_sign ()">gnutls_x509_crt_sign</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-sign2" title="gnutls_x509_crt_sign2 ()">gnutls_x509_crt_sign2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t">gnutls_x509_crt_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +GNUTLS_X509_CRT_UNSIGNED_FULL, macro in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-verify" title="gnutls_x509_crt_verify ()">gnutls_x509_crt_verify</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-verify-data2" title="gnutls_x509_crt_verify_data2 ()">gnutls_x509_crt_verify_data2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_crt_verify_data3, function in x509_int +</dt> +<dd></dd> +<dt> +gnutls_x509_ct_scts_t, typedef in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ct_sct_get, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ct_sct_get_version, function in x509-ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-deinit" title="gnutls_x509_dn_deinit ()">gnutls_x509_dn_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-export" title="gnutls_x509_dn_export ()">gnutls_x509_dn_export</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-export2" title="gnutls_x509_dn_export2 ()">gnutls_x509_dn_export2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT">GNUTLS_X509_DN_FLAG_COMPAT</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-get-rdn-ava" title="gnutls_x509_dn_get_rdn_ava ()">gnutls_x509_dn_get_rdn_ava</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-get-str" title="gnutls_x509_dn_get_str ()">gnutls_x509_dn_get_str</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-get-str2" title="gnutls_x509_dn_get_str2 ()">gnutls_x509_dn_get_str2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-import" title="gnutls_x509_dn_import ()">gnutls_x509_dn_import</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-init" title="gnutls_x509_dn_init ()">gnutls_x509_dn_init</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-known" title="gnutls_x509_dn_oid_known ()">gnutls_x509_dn_oid_known</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-name" title="gnutls_x509_dn_oid_name ()">gnutls_x509_dn_oid_name</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-OID-RETURN-OID:CAPS" title="GNUTLS_X509_DN_OID_RETURN_OID">GNUTLS_X509_DN_OID_RETURN_OID</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-set-str" title="gnutls_x509_dn_set_str ()">gnutls_x509_dn_set_str</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_dn_st, struct in x509_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t">gnutls_x509_dn_t</a>, typedef in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_ct_export_scts, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_ct_import_scts, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_ct_scts_deinit, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_ct_scts_init, function in x509-ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-ext-deinit" title="gnutls_x509_ext_deinit ()">gnutls_x509_ext_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_aia, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_authority_key_id, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_basic_constraints, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_crl_dist_points, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_inhibit_anypolicy, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_issuer_alt_name, macro in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_key_purposes, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_key_usage, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_name_constraints, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_policies, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_private_key_usage_period, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_proxy, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_subject_alt_names, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_subject_key_id, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_export_tlsfeatures, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_aia, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_authority_key_id, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_basic_constraints, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_crl_dist_points, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_inhibit_anypolicy, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_issuer_alt_name, macro in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_key_purposes, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_key_usage, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_name_constraints, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_policies, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_private_key_usage_period, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_proxy, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_subject_alt_names, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_subject_key_id, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_ext_import_tlsfeatures, function in x509-ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-ext-print" title="gnutls_x509_ext_print ()">gnutls_x509_ext_print</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-ext-st" title="gnutls_x509_ext_st">gnutls_x509_ext_st</a>, struct in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_key_purposes_t, typedef in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_key_purpose_deinit, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_key_purpose_get, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_key_purpose_init, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_key_purpose_set, function in x509-ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-add-excluded" title="gnutls_x509_name_constraints_add_excluded ()">gnutls_x509_name_constraints_add_excluded</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-add-permitted" title="gnutls_x509_name_constraints_add_permitted ()">gnutls_x509_name_constraints_add_permitted</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-check" title="gnutls_x509_name_constraints_check ()">gnutls_x509_name_constraints_check</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-check-crt" title="gnutls_x509_name_constraints_check_crt ()">gnutls_x509_name_constraints_check_crt</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-deinit" title="gnutls_x509_name_constraints_deinit ()">gnutls_x509_name_constraints_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-get-excluded" title="gnutls_x509_name_constraints_get_excluded ()">gnutls_x509_name_constraints_get_excluded</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-get-permitted" title="gnutls_x509_name_constraints_get_permitted ()">gnutls_x509_name_constraints_get_permitted</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-init" title="gnutls_x509_name_constraints_init ()">gnutls_x509_name_constraints_init</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t">gnutls_x509_name_constraints_t</a>, typedef in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509-NO-WELL-DEFINED-EXPIRATION:CAPS" title="GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION">GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#GNUTLS-X509-OID-POLICY-ANY:CAPS" title="GNUTLS_X509_OID_POLICY_ANY">GNUTLS_X509_OID_POLICY_ANY</a>, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_othername_to_virtual, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_policies_deinit, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_policies_get, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_policies_init, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_policies_set, function in x509-ext +</dt> +<dd></dd> +<dt> +gnutls_x509_policies_t, typedef in x509-ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-policy-release" title="gnutls_x509_policy_release ()">gnutls_x509_policy_release</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-policy-st" title="gnutls_x509_policy_st">gnutls_x509_policy_st</a>, struct in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-cpy" title="gnutls_x509_privkey_cpy ()">gnutls_x509_privkey_cpy</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-deinit" title="gnutls_x509_privkey_deinit ()">gnutls_x509_privkey_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export" title="gnutls_x509_privkey_export ()">gnutls_x509_privkey_export</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export2" title="gnutls_x509_privkey_export2 ()">gnutls_x509_privkey_export2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export2-pkcs8" title="gnutls_x509_privkey_export2_pkcs8 ()">gnutls_x509_privkey_export2_pkcs8</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-dsa-raw" title="gnutls_x509_privkey_export_dsa_raw ()">gnutls_x509_privkey_export_dsa_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-ecc-raw" title="gnutls_x509_privkey_export_ecc_raw ()">gnutls_x509_privkey_export_ecc_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-gost-raw" title="gnutls_x509_privkey_export_gost_raw ()">gnutls_x509_privkey_export_gost_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-pkcs8" title="gnutls_x509_privkey_export_pkcs8 ()">gnutls_x509_privkey_export_pkcs8</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-rsa-raw" title="gnutls_x509_privkey_export_rsa_raw ()">gnutls_x509_privkey_export_rsa_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-rsa-raw2" title="gnutls_x509_privkey_export_rsa_raw2 ()">gnutls_x509_privkey_export_rsa_raw2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-fix" title="gnutls_x509_privkey_fix ()">gnutls_x509_privkey_fix</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-generate" title="gnutls_x509_privkey_generate ()">gnutls_x509_privkey_generate</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-generate2" title="gnutls_x509_privkey_generate2 ()">gnutls_x509_privkey_generate2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-key-id" title="gnutls_x509_privkey_get_key_id ()">gnutls_x509_privkey_get_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-pk-algorithm" title="gnutls_x509_privkey_get_pk_algorithm ()">gnutls_x509_privkey_get_pk_algorithm</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-pk-algorithm2" title="gnutls_x509_privkey_get_pk_algorithm2 ()">gnutls_x509_privkey_get_pk_algorithm2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-seed" title="gnutls_x509_privkey_get_seed ()">gnutls_x509_privkey_get_seed</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-spki" title="gnutls_x509_privkey_get_spki ()">gnutls_x509_privkey_get_spki</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import" title="gnutls_x509_privkey_import ()">gnutls_x509_privkey_import</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import2" title="gnutls_x509_privkey_import2 ()">gnutls_x509_privkey_import2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-dsa-raw" title="gnutls_x509_privkey_import_dsa_raw ()">gnutls_x509_privkey_import_dsa_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-ecc-raw" title="gnutls_x509_privkey_import_ecc_raw ()">gnutls_x509_privkey_import_ecc_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-gost-raw" title="gnutls_x509_privkey_import_gost_raw ()">gnutls_x509_privkey_import_gost_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-openssl" title="gnutls_x509_privkey_import_openssl ()">gnutls_x509_privkey_import_openssl</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-pkcs8" title="gnutls_x509_privkey_import_pkcs8 ()">gnutls_x509_privkey_import_pkcs8</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-rsa-raw" title="gnutls_x509_privkey_import_rsa_raw ()">gnutls_x509_privkey_import_rsa_raw</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-rsa-raw2" title="gnutls_x509_privkey_import_rsa_raw2 ()">gnutls_x509_privkey_import_rsa_raw2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-init" title="gnutls_x509_privkey_init ()">gnutls_x509_privkey_init</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-int" title="gnutls_x509_privkey_int">gnutls_x509_privkey_int</a>, struct in x509_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-sec-param" title="gnutls_x509_privkey_sec_param ()">gnutls_x509_privkey_sec_param</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-set-flags" title="gnutls_x509_privkey_set_flags ()">gnutls_x509_privkey_set_flags</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-set-pin-function" title="gnutls_x509_privkey_set_pin_function ()">gnutls_x509_privkey_set_pin_function</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-set-spki" title="gnutls_x509_privkey_set_spki ()">gnutls_x509_privkey_set_spki</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-sign-data" title="gnutls_x509_privkey_sign_data ()">gnutls_x509_privkey_sign_data</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_privkey_sign_hash, function in compat +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t">gnutls_x509_privkey_t</a>, typedef in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-verify-params" title="gnutls_x509_privkey_verify_params ()">gnutls_x509_privkey_verify_params</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-verify-seed" title="gnutls_x509_privkey_verify_seed ()">gnutls_x509_privkey_verify_seed</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-qualifier-t" title="enum gnutls_x509_qualifier_t">gnutls_x509_qualifier_t</a>, enum in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get" title="gnutls_x509_rdn_get ()">gnutls_x509_rdn_get</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get2" title="gnutls_x509_rdn_get2 ()">gnutls_x509_rdn_get2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get-by-oid" title="gnutls_x509_rdn_get_by_oid ()">gnutls_x509_rdn_get_by_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get-oid" title="gnutls_x509_rdn_get_oid ()">gnutls_x509_rdn_get_oid</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-spki-deinit" title="gnutls_x509_spki_deinit ()">gnutls_x509_spki_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-spki-get-rsa-pss-params" title="gnutls_x509_spki_get_rsa_pss_params ()">gnutls_x509_spki_get_rsa_pss_params</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-spki-init" title="gnutls_x509_spki_init ()">gnutls_x509_spki_init</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-spki-set-rsa-pss-params" title="gnutls_x509_spki_set_rsa_pss_params ()">gnutls_x509_spki_set_rsa_pss_params</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_spki_st, struct in crypto-backend +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t">gnutls_x509_spki_t</a>, typedef in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t">gnutls_x509_subject_alt_name_t</a>, enum in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_tlsfeatures_add, function in x509-ext +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-check-crt" title="gnutls_x509_tlsfeatures_check_crt ()">gnutls_x509_tlsfeatures_check_crt</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-deinit" title="gnutls_x509_tlsfeatures_deinit ()">gnutls_x509_tlsfeatures_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-get" title="gnutls_x509_tlsfeatures_get ()">gnutls_x509_tlsfeatures_get</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-init" title="gnutls_x509_tlsfeatures_init ()">gnutls_x509_tlsfeatures_init</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_tlsfeatures_st, struct in x509_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t">gnutls_x509_tlsfeatures_t</a>, typedef in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-cas" title="gnutls_x509_trust_list_add_cas ()">gnutls_x509_trust_list_add_cas</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-crls" title="gnutls_x509_trust_list_add_crls ()">gnutls_x509_trust_list_add_crls</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-named-crt" title="gnutls_x509_trust_list_add_named_crt ()">gnutls_x509_trust_list_add_named_crt</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-system-trust" title="gnutls_x509_trust_list_add_system_trust ()">gnutls_x509_trust_list_add_system_trust</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-trust-dir" title="gnutls_x509_trust_list_add_trust_dir ()">gnutls_x509_trust_list_add_trust_dir</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-trust-file" title="gnutls_x509_trust_list_add_trust_file ()">gnutls_x509_trust_list_add_trust_file</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-trust-mem" title="gnutls_x509_trust_list_add_trust_mem ()">gnutls_x509_trust_list_add_trust_mem</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-deinit" title="gnutls_x509_trust_list_deinit ()">gnutls_x509_trust_list_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-issuer" title="gnutls_x509_trust_list_get_issuer ()">gnutls_x509_trust_list_get_issuer</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-issuer-by-dn" title="gnutls_x509_trust_list_get_issuer_by_dn ()">gnutls_x509_trust_list_get_issuer_by_dn</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-issuer-by-subject-key-id" title="gnutls_x509_trust_list_get_issuer_by_subject_key_id ()">gnutls_x509_trust_list_get_issuer_by_subject_key_id</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-ptr" title="gnutls_x509_trust_list_get_ptr ()">gnutls_x509_trust_list_get_ptr</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-init" title="gnutls_x509_trust_list_init ()">gnutls_x509_trust_list_init</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-iter-deinit" title="gnutls_x509_trust_list_iter_deinit ()">gnutls_x509_trust_list_iter_deinit</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-iter-get-ca" title="gnutls_x509_trust_list_iter_get_ca ()">gnutls_x509_trust_list_iter_get_ca</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-iter-t" title="gnutls_x509_trust_list_iter_t">gnutls_x509_trust_list_iter_t</a>, typedef in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-remove-cas" title="gnutls_x509_trust_list_remove_cas ()">gnutls_x509_trust_list_remove_cas</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-remove-trust-file" title="gnutls_x509_trust_list_remove_trust_file ()">gnutls_x509_trust_list_remove_trust_file</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-remove-trust-mem" title="gnutls_x509_trust_list_remove_trust_mem ()">gnutls_x509_trust_list_remove_trust_mem</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-set-getissuer-function" title="gnutls_x509_trust_list_set_getissuer_function ()">gnutls_x509_trust_list_set_getissuer_function</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-set-ptr" title="gnutls_x509_trust_list_set_ptr ()">gnutls_x509_trust_list_set_ptr</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +gnutls_x509_trust_list_st, struct in verify-high +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t">gnutls_x509_trust_list_t</a>, typedef in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt" title="gnutls_x509_trust_list_verify_crt ()">gnutls_x509_trust_list_verify_crt</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt2" title="gnutls_x509_trust_list_verify_crt2 ()">gnutls_x509_trust_list_verify_crt2</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-named-crt" title="gnutls_x509_trust_list_verify_named_crt ()">gnutls_x509_trust_list_verify_named_crt</a>, function in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +GNUTLS_XML_SHOW_ALL, macro in common +</dt> +<dd></dd> +<dt> +GOST28147_89_CPA_OID, macro in common +</dt> +<dd></dd> +<dt> +GOST28147_89_CPB_OID, macro in common +</dt> +<dd></dd> +<dt> +GOST28147_89_CPC_OID, macro in common +</dt> +<dd></dd> +<dt> +GOST28147_89_CPD_OID, macro in common +</dt> +<dd></dd> +<dt> +GOST28147_89_OID, macro in common +</dt> +<dd></dd> +<dt> +GOST28147_89_TC26Z_OID, macro in common +</dt> +<dd></dd> +<dt> +GOST28147_BLOCK_SIZE, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_cnt_crypt, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_cnt_ctx, struct in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_cnt_init, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_cnt_set_iv, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_ctx, struct in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_decrypt, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_decrypt_simple, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_encrypt, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_encrypt_for_cfb, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_encrypt_simple, macro in gost28147 +</dt> +<dd></dd> +<dt> +GOST28147_IMIT_BLOCK_SIZE, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_imit_ctx, struct in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_imit_digest, macro in gost28147 +</dt> +<dd></dd> +<dt> +GOST28147_IMIT_DIGEST_SIZE, macro in gost28147 +</dt> +<dd></dd> +<dt> +GOST28147_IMIT_KEY_SIZE, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_imit_set_key, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_imit_set_nonce, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_imit_set_param, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_imit_update, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_kdf_cryptopro, macro in gost28147 +</dt> +<dd></dd> +<dt> +GOST28147_KEY_SIZE, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_key_unwrap_cryptopro, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_key_wrap_cryptopro, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_param, struct in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_param_CryptoPro_3411, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_param_CryptoPro_A, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_param_CryptoPro_B, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_param_CryptoPro_C, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_param_CryptoPro_D, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_param_TC26_Z, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_param_test_3411, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_param_Test_89, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_set_key, macro in gost28147 +</dt> +<dd></dd> +<dt> +gost28147_set_param, macro in gost28147 +</dt> +<dd></dd> +<dt> +gostdsa_generate_keypair, macro in ecc-gost-curve +</dt> +<dd></dd> +<dt> +gostdsa_unmask_key, macro in gostdsa2 +</dt> +<dd></dd> +<dt> +GOST_K, macro in crypto-backend +</dt> +<dd></dd> +<dt> +gost_point_mul_g, macro in ecc-gost-curve +</dt> +<dd></dd> +<dt> +gost_point_set, macro in ecc-gost-curve +</dt> +<dd></dd> +<dt> +GOST_PRIVATE_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +GOST_PUBLIC_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +GOST_X, macro in crypto-backend +</dt> +<dd></dd> +<dt> +GOST_Y, macro in crypto-backend +</dt> +<dd></dd> +<dt> +group_list_st, struct in gnutls_int +</dt> +<dd></dd> +<a name="idxH"></a><h3 class="title">H</h3> +<dt> +handshake, function in gnutlsxx +</dt> +<dd></dd> +<dt> +handshake_buffer_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +HANDSHAKE_CLIENT_TRAFFIC_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +HANDSHAKE_HEADER_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +handshake_remaining_time, function in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +HANDSHAKE_SERVER_TRAFFIC_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +handshake_state_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +hash_deinit_func, user_function in hash_int +</dt> +<dd></dd> +<dt> +hash_func, user_function in hash_int +</dt> +<dd></dd> +<dt> +HASH_OID_GOST_R_3411_94, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_GOST_R_3411_94_CRYPTOPRO_PARAMS, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_MD2, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_MD5, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_RMD160, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHA1, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHA224, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHA256, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHA384, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHA3_224, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHA3_256, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHA3_384, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHA3_512, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHA512, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHAKE_128, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_SHAKE_256, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_STREEBOG_256, macro in x509_int +</dt> +<dd></dd> +<dt> +HASH_OID_STREEBOG_512, macro in x509_int +</dt> +<dd></dd> +<dt> +hash_to_entry, macro in algorithms +</dt> +<dd></dd> +<dt> +HAVE_ATFORK, macro in atfork +</dt> +<dd></dd> +<dt> +HAVE_CKM_EDDSA, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +have_creds_for_tls13, function in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +HAVE_LIB_ERROR, macro in fips +</dt> +<dd></dd> +<dt> +HAVE_NO_LOCKS, macro in system +</dt> +<dd></dd> +<dt> +HAVE_PTHREAD_LOCKS, macro in system +</dt> +<dd></dd> +<dt> +HAVE_SSIZE_T, macro in gnutls_int +</dt> +<dd></dd> +<dt> +HAVE_UNKNOWN_SIGAID, macro in algorithms +</dt> +<dd></dd> +<dt> +HAVE_WIN32_LOCKS, macro in system +</dt> +<dd></dd> +<dt> +HAVE_WRITEV, macro in system +</dt> +<dd></dd> +<dt> +header_0, macro in pr_not_a_character +</dt> +<dd></dd> +<dt> +header_2, macro in pr_not_a_character +</dt> +<dd></dd> +<dt> +header_3, macro in pr_not_a_character +</dt> +<dd></dd> +<dt> +header_4, macro in pr_not_a_character +</dt> +<dd></dd> +<dt> +HEARTBEAT_DEFAULT_POLICY, macro in heartbeat +</dt> +<dd></dd> +<dt> +HEARTBEAT_REQUEST, macro in heartbeat +</dt> +<dd></dd> +<dt> +HEARTBEAT_RESPONSE, macro in heartbeat +</dt> +<dd></dd> +<dt> +heartbeat_state_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +hex_data_size, function in hex +</dt> +<dd></dd> +<dt> +hex_decode, function in hex +</dt> +<dd></dd> +<dt> +hex_encode, function in hex +</dt> +<dd></dd> +<dt> +hex_str_size, function in hex +</dt> +<dd></dd> +<dt> +HMAC_CTX, function in hmac-gost +</dt> +<dd></dd> +<dt> +hmac_streebog256_ctx, macro in hmac-gost +</dt> +<dd></dd> +<dt> +hmac_streebog256_digest, macro in hmac-gost +</dt> +<dd></dd> +<dt> +hmac_streebog256_set_key, macro in hmac-gost +</dt> +<dd></dd> +<dt> +hmac_streebog256_update, macro in hmac-gost +</dt> +<dd></dd> +<dt> +hmac_streebog512_digest, macro in hmac-gost +</dt> +<dd></dd> +<dt> +hmac_streebog512_set_key, macro in hmac-gost +</dt> +<dd></dd> +<dt> +hmac_streebog512_update, macro in hmac-gost +</dt> +<dd></dd> +<dt> +HRR_RANDOM, macro in handshake-defs +</dt> +<dd></dd> +<dt> +hs_stage_t, enum in gnutls_int +</dt> +<dd></dd> +<a name="idxI"></a><h3 class="title">I</h3> +<dt> +IANA2cert_type, function in cert_types +</dt> +<dd></dd> +<dt> +if, function in u-normalize-internal +</dt> +<dd></dd> +<dt> +IMED_RET, macro in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +IMED_RET_FATAL, macro in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +import_pkcs1, function in gnutlsxx +</dt> +<dd></dd> +<dt> +import_pkcs3, function in gnutlsxx +</dt> +<dd></dd> +<dt> +import_raw, function in gnutlsxx +</dt> +<dd></dd> +<dt> +INCREMENT, macro in drbg-aes +</dt> +<dd></dd> +<dt> +init_level_t, enum in pkcs11_int +</dt> +<dd></dd> +<dt> +INI_ALLOW_BOM, macro in ini +</dt> +<dd></dd> +<dt> +INI_ALLOW_INLINE_COMMENTS, macro in ini +</dt> +<dd></dd> +<dt> +INI_ALLOW_MULTILINE, macro in ini +</dt> +<dd></dd> +<dt> +INI_ALLOW_REALLOC, macro in ini +</dt> +<dd></dd> +<dt> +ini_handler, user_function in ini +</dt> +<dd></dd> +<dt> +INI_HANDLER_LINENO, macro in ini +</dt> +<dd></dd> +<dt> +INI_INITIAL_ALLOC, macro in ini +</dt> +<dd></dd> +<dt> +INI_INLINE_COMMENT_PREFIXES, macro in ini +</dt> +<dd></dd> +<dt> +INI_MAX_LINE, macro in ini +</dt> +<dd></dd> +<dt> +ini_parse_file, function in ini +</dt> +<dd></dd> +<dt> +ini_reader, user_function in ini +</dt> +<dd></dd> +<dt> +INI_START_COMMENT_PREFIXES, macro in ini +</dt> +<dd></dd> +<dt> +INI_STOP_ON_FIRST_ERROR, macro in ini +</dt> +<dd></dd> +<dt> +INI_USE_STACK, macro in ini +</dt> +<dd></dd> +<dt> +install_tpm2_key, function in tpm2 +</dt> +<dd></dd> +<dt> +INT16_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT16_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT16_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int16_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT16_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT32_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT32_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT32_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int32_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT32_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT64_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT64_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT64_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int64_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT64_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT8_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT8_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT8_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int8_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT8_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +internals_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +INTMAX_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +INTMAX_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INTMAX_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +intmax_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INTMAX_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INTPTR_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INTPTR_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +intptr_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INTPTR_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST16_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST16_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int_fast16_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST16_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST32_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST32_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int_fast32_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST32_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST64_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST64_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int_fast64_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST64_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST8_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST8_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int_fast8_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_FAST8_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST16_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST16_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int_least16_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST16_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST32_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST32_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int_least32_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST32_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST64_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST64_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int_least64_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST64_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST8_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST8_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +int_least8_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_LEAST8_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +INT_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +iov_iter_st, struct in iov +</dt> +<dd></dd> +<dt> +ip_in_cidr, function in ip-in-cidr +</dt> +<dd></dd> +<dt> +ISO_SIG_RSA_SHA1_OID, macro in common +</dt> +<dd></dd> +<dt> +is_cert_type_enabled, function in cert_types +</dt> +<dd></dd> +<dt> +is_cipher_algo_allowed, macro in fips +</dt> +<dd></dd> +<dt> +is_cipher_algo_approved_in_fips, function in fips +</dt> +<dd></dd> +<dt> +IS_DTLS, macro in gnutls_int +</dt> +<dd></dd> +<dt> +IS_EC, macro in algorithms +</dt> +<dd></dd> +<dt> +IS_GOSTEC, macro in algorithms +</dt> +<dd></dd> +<dt> +IS_KTLS_ENABLED, macro in gnutls_int +</dt> +<dd></dd> +<dt> +is_mac_algo_allowed, macro in fips +</dt> +<dd></dd> +<dt> +is_mac_algo_approved_in_fips, function in fips +</dt> +<dd></dd> +<dt> +is_pkcs11_url_object, function in pkcs11_int +</dt> +<dd></dd> +<dt> +IS_SERVER, macro in gnutls_int +</dt> +<dd></dd> +<dt> +IS_SRP_KX, macro in srp +</dt> +<dd></dd> +<a name="idxK"></a><h3 class="title">K</h3> +<dt> +KEY_ID_OID, macro in x509_int +</dt> +<dd></dd> +<dt> +key_type_to_pk, function in pkcs11_int +</dt> +<dd></dd> +<dt> +KRB5_PRINCIPAL_OID, macro in common +</dt> +<dd></dd> +<dt> +KUZNYECHIK_BLOCK_SIZE, macro in kuznyechik +</dt> +<dd></dd> +<dt> +kuznyechik_ctx, struct in kuznyechik +</dt> +<dd></dd> +<dt> +kuznyechik_decrypt, macro in kuznyechik +</dt> +<dd></dd> +<dt> +kuznyechik_encrypt, macro in kuznyechik +</dt> +<dd></dd> +<dt> +KUZNYECHIK_KEY_SIZE, macro in kuznyechik +</dt> +<dd></dd> +<dt> +kuznyechik_set_key, macro in kuznyechik +</dt> +<dd></dd> +<dt> +kuznyechik_set_param, macro in kuznyechik +</dt> +<dd></dd> +<dt> +KUZNYECHIK_SUBKEYS_SIZE, macro in kuznyechik +</dt> +<dd></dd> +<a name="idxL"></a><h3 class="title">L</h3> +<dt> +LEVEL, macro in errors +</dt> +<dd></dd> +<dt> +LIBGNUTLS_EXTRA_VERSION, macro in compat +</dt> +<dd></dd> +<dt> +LIBGNUTLS_VERSION, macro in compat +</dt> +<dd></dd> +<dt> +LIBGNUTLS_VERSION_MAJOR, macro in compat +</dt> +<dd></dd> +<dt> +LIBGNUTLS_VERSION_MINOR, macro in compat +</dt> +<dd></dd> +<dt> +LIBGNUTLS_VERSION_NUMBER, macro in compat +</dt> +<dd></dd> +<dt> +LIBGNUTLS_VERSION_PATCH, macro in compat +</dt> +<dd></dd> +<dt> +likely, function in gnutls_int +</dt> +<dd></dd> +<dt> +LLONG_MAX, macro in limits.in +</dt> +<dd></dd> +<dt> +LLONG_MIN, macro in limits.in +</dt> +<dd></dd> +<dt> +LLONG_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +LOCAL_ALLOWED_TO_SEND, macro in heartbeat +</dt> +<dd></dd> +<dt> +LOCAL_NOT_ALLOWED_TO_SEND, macro in heartbeat +</dt> +<dd></dd> +<dt> +LONG_BIT, macro in limits.in +</dt> +<dd></dd> +<dt> +LONG_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +lookup_fn, user_function in unictype.in +</dt> +<dd></dd> +<dt> +LSHIFT_ALIEN_UINT64, macro in block-internal +</dt> +<dd></dd> +<dt> +LTOSTR_MAX_SIZE, macro in parser_aux +</dt> +<dd></dd> +<a name="idxM"></a><h3 class="title">M</h3> +<dt> +mac_entry_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +mac_hd_st, struct in hash_int +</dt> +<dd></dd> +<dt> +mac_to_entry, macro in algorithms +</dt> +<dd></dd> +<dt> +MAGMA_BLOCK_SIZE, macro in magma +</dt> +<dd></dd> +<dt> +magma_ctx, struct in magma +</dt> +<dd></dd> +<dt> +magma_decrypt, macro in magma +</dt> +<dd></dd> +<dt> +magma_encrypt, macro in magma +</dt> +<dd></dd> +<dt> +MAGMA_KEY_SIZE, macro in magma +</dt> +<dd></dd> +<dt> +magma_set_key, macro in magma +</dt> +<dd></dd> +<dt> +magma_set_param, macro in magma +</dt> +<dd></dd> +<dt> +map_errs_to_zero, macro in x509_int +</dt> +<dd></dd> +<dt> +MAX_ALGOS, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_ALPN_PROTOCOLS, macro in alpn +</dt> +<dd></dd> +<dt> +MAX_ALPN_PROTOCOL_NAME, macro in alpn +</dt> +<dd></dd> +<dt> +MAX_BAG_ELEMENTS, macro in x509_int +</dt> +<dd></dd> +<dt> +MAX_CIPHERSUITE_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_CIPHER_BLOCK_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_CIPHER_IV_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_CIPHER_KEY_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_CN, macro in str +</dt> +<dd></dd> +<dt> +MAX_COMPRESS_CERTIFICATE_METHODS, macro in compress_certificate +</dt> +<dd></dd> +<dt> +MAX_CRQ_EXTENSIONS_SIZE, macro in x509_int +</dt> +<dd></dd> +<dt> +max_decrypted_size, function in record +</dt> +<dd></dd> +<dt> +MAX_DN, macro in str +</dt> +<dd></dd> +<dt> +MAX_DRBG_AES_GENERATE_SIZE, macro in drbg-aes +</dt> +<dd></dd> +<dt> +MAX_DTLS_TIMEOUT, macro in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +MAX_ECC_CURVE_SIZE, macro in algorithms +</dt> +<dd></dd> +<dt> +MAX_EPOCH_INDEX, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_EXT_TYPES, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_FAKE_SALT_SEED_SIZE, macro in srp_kx +</dt> +<dd></dd> +<dt> +MAX_FILENAME, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_HANDSHAKE_HEADER_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_HANDSHAKE_HELLO_VERIFY_REQUESTS, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_HANDSHAKE_MSGS, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_HANDSHAKE_PACKET_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_HASH_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_HASH_VALUE, macro in composition-table +</dt> +<dd></dd> +<dt> +MAX_HEARTBEAT_LENGTH, macro in heartbeat +</dt> +<dd></dd> +<dt> +MAX_ITER_COUNT, macro in common +</dt> +<dd></dd> +<dt> +MAX_KEY_ID_SIZE, macro in x509_int +</dt> +<dd></dd> +<dt> +MAX_LOG_SIZE, macro in int +</dt> +<dd></dd> +<dt> +MAX_MAC_KEY_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_NAME_SIZE, macro in x509_int +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-ocsp.html#MAX-OCSP-MSG-SIZE:CAPS" title="MAX_OCSP_MSG_SIZE">MAX_OCSP_MSG_SIZE</a>, macro in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +MAX_OCSP_RESPONSES, macro in cert +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-ocsp.html#MAX-OCSP-VALIDITY-SECS:CAPS" title="MAX_OCSP_VALIDITY_SECS">MAX_OCSP_VALIDITY_SECS</a>, macro in <a class="link" href="gnutls-ocsp.html" title="ocsp">ocsp</a> +</dt> +<dd></dd> +<dt> +MAX_OID_SIZE, macro in x509_int +</dt> +<dd></dd> +<dt> +MAX_PAD_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_PK_PARAM_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_PREAMBLE_SIZE, macro in cipher +</dt> +<dd></dd> +<dt> +MAX_PRF_BYTES, macro in tls1-prf +</dt> +<dd></dd> +<dt> +MAX_PRIV_PARAMS_SIZE, macro in crypto-backend +</dt> +<dd></dd> +<dt> +MAX_PUBLIC_PARAMS_SIZE, macro in crypto-backend +</dt> +<dd></dd> +<dt> +MAX_PVP_SEED_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_RECORD_HEADER_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +max_record_recv_size, function in record +</dt> +<dd></dd> +<dt> +MAX_RECORD_SEND_OVERHEAD, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_RECORD_SEND_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +max_record_send_size, function in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_SALT_SIZE, macro in x509_int +</dt> +<dd></dd> +<dt> +MAX_SERVER_NAME_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_SIG_SIZE, macro in tls-sig +</dt> +<dd></dd> +<dt> +MAX_SRTP_PROFILES, macro in srtp +</dt> +<dd></dd> +<dt> +MAX_STRING_LEN, macro in common +</dt> +<dd></dd> +<dt> +MAX_USERNAME_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_VERIFY_DATA_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_VERIFY_DEPTH, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MAX_WORD_LENGTH, macro in composition-table +</dt> +<dd></dd> +<dt> +MAYBE_UNUSED, macro in attribute +</dt> +<dd></dd> +<dt> +MBUFFER_FLUSH, macro in buffers +</dt> +<dd></dd> +<dt> +mbuffer_head_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +mbuffer_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +MEMSUB, macro in gnutls_int +</dt> +<dd></dd> +<dt> +merge_sort_fromto, function in array-mergesort +</dt> +<dd></dd> +<dt> +millisleep, function in system +</dt> +<dd></dd> +<dt> +MIN_COMPRESS_CERTIFICATE_METHODS, macro in compress_certificate +</dt> +<dd></dd> +<dt> +MIN_HASH_VALUE, macro in composition-table +</dt> +<dd></dd> +<dt> +MIN_RECORD_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MIN_RECORD_SIZE_SMALL, macro in gnutls_int +</dt> +<dd></dd> +<dt> +MIN_WORD_LENGTH, macro in composition-table +</dt> +<dd></dd> +<dt> +mode, variable in fips +</dt> +<dd></dd> +<dt> +MODIFIED, macro in x509_int +</dt> +<dd></dd> +<dt> +mod_auth_st, struct in auth +</dt> +<dd></dd> +<dt> +mpi_dprint_func, user_function in mpi +</dt> +<dd></dd> +<dt> +mpn_get_base256, function in mpn-base256 +</dt> +<dd></dd> +<dt> +mpn_set_base256, function in mpn-base256 +</dt> +<dd></dd> +<dt> +MSUSER_PRINCIPAL_NAME_OID, macro in common +</dt> +<dd></dd> +<dt> +muc, variable in u-normalize-internal +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#mutex-deinit-func" title="mutex_deinit_func ()">mutex_deinit_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#mutex-init-func" title="mutex_init_func ()">mutex_init_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#mutex-lock-func" title="mutex_lock_func ()">mutex_lock_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-gnutls.html#mutex-unlock-func" title="mutex_unlock_func ()">mutex_unlock_func</a>, user_function in <a class="link" href="gnutls-gnutls.html" title="gnutls">gnutls</a> +</dt> +<dd></dd> +<a name="idxN"></a><h3 class="title">N</h3> +<dt> +name_constraints_node_st, struct in x509_int +</dt> +<dd></dd> +<dt> +name_st, struct in x509_ext_int +</dt> +<dd></dd> +<dt> +NEED_CERT_ENUM_CRLS, macro in system +</dt> +<dd></dd> +<dt> +nettle_block16, macro in block8 +</dt> +<dd></dd> +<dt> +nettle_block8, macro in block8 +</dt> +<dd></dd> +<dt> +nettle_get_gost_gc256b, macro in ecc-gost-curve +</dt> +<dd></dd> +<dt> +nettle_get_gost_gc512a, macro in ecc-gost-curve +</dt> +<dd></dd> +<dt> +nettle_mpz_get_str_256_u_le, macro in bignum-le +</dt> +<dd></dd> +<dt> +nettle_mpz_init_set_str_256_u_le, macro in bignum-le +</dt> +<dd></dd> +<dt> +nettle_mpz_set_str_256_u_le, macro in bignum-le +</dt> +<dd></dd> +<dt> +nettle_mpz_sizeinbase_256_u_le, macro in bignum-le +</dt> +<dd></dd> +<dt> +NETTLE_PURE, macro in ecc-gost-curve +</dt> +<dd></dd> +<dt> +nettle_streebog256, macro in streebog +</dt> +<dd></dd> +<dt> +nettle_streebog512, macro in streebog +</dt> +<dd></dd> +<dt> +new_allocated, variable in u-normalize-internal +</dt> +<dd></dd> +<dt> +NN_HASH, macro in x86-common +</dt> +<dd></dd> +<dt> +node_asn, macro in libtasn1 +</dt> +<dd></dd> +<dt> +node_asn_struct, macro in libtasn1 +</dt> +<dd></dd> +<dt> +node_data_struct, macro in libtasn1 +</dt> +<dd></dd> +<dt> +node_tail_cache_st, struct in element +</dt> +<dd></dd> +<dt> +NODISCARD, macro in attribute +</dt> +<dd></dd> +<dt> +nonce_func, user_function in hash_int +</dt> +<dd></dd> +<dt> +now_ms, variable in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +nversion_to_entry, function in algorithms +</dt> +<dd></dd> +<dt> +N_, macro in str +</dt> +<dd></dd> +<a name="idxO"></a><h3 class="title">O</h3> +<dt> +off_t, macro in types +</dt> +<dd></dd> +<dt> +OID_ATTR_PROV_SEED, macro in x509_int +</dt> +<dd></dd> +<dt> +OID_LDAP_DC, macro in x509_int +</dt> +<dd></dd> +<dt> +OID_LDAP_UID, macro in x509_int +</dt> +<dd></dd> +<dt> +OID_PKCS9_EMAIL, macro in x509_int +</dt> +<dd></dd> +<dt> +oid_to_string, struct in common +</dt> +<dd></dd> +<dt> +OID_X520_COMMON_NAME, macro in x509_int +</dt> +<dd></dd> +<dt> +OID_X520_COUNTRY_NAME, macro in x509_int +</dt> +<dd></dd> +<dt> +OID_X520_LOCALITY_NAME, macro in x509_int +</dt> +<dd></dd> +<dt> +OID_X520_ORGANIZATIONAL_UNIT_NAME, macro in x509_int +</dt> +<dd></dd> +<dt> +OID_X520_ORGANIZATION_NAME, macro in x509_int +</dt> +<dd></dd> +<dt> +OID_X520_STATE_OR_PROVINCE_NAME, macro in x509_int +</dt> +<dd></dd> +<dt> +old_allocated, variable in u-normalize-internal +</dt> +<dd></dd> +<dt> +option_set_func, user_function in priority_options +</dt> +<dd></dd> +<dt> +output_func, user_function in hash_int +</dt> +<dd></dd> +<a name="idxP"></a><h3 class="title">P</h3> +<dt> +PACKED_SESSION_MAGIC, macro in db +</dt> +<dd></dd> +<dt> +padlock_aes_cipher_setkey, function in aes-padlock +</dt> +<dd></dd> +<dt> +padlock_capability, function in aes-padlock +</dt> +<dd></dd> +<dt> +padlock_cbc_encrypt, function in aes-padlock +</dt> +<dd></dd> +<dt> +padlock_cipher_data, struct in aes-padlock +</dt> +<dd></dd> +<dt> +padlock_ctx, struct in aes-padlock +</dt> +<dd></dd> +<dt> +padlock_ecb_encrypt, function in aes-padlock +</dt> +<dd></dd> +<dt> +padlock_reload_key, function in aes-padlock +</dt> +<dd></dd> +<dt> +padlock_sha1, variable in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha1_blocks, function in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha1_oneshot, function in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha1_update, function in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha224, variable in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha256, variable in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha256_blocks, function in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha256_oneshot, function in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha256_update, function in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha384, variable in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha512, variable in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha512_blocks, function in sha-padlock +</dt> +<dd></dd> +<dt> +padlock_sha512_update, function in sha-padlock +</dt> +<dd></dd> +<dt> +pbe_enc_params, struct in pkcs7_int +</dt> +<dd></dd> +<dt> +pbkdf2_params, struct in x509_int +</dt> +<dd></dd> +<dt> +pCertEnumCRLsInStore, variable in system +</dt> +<dd></dd> +<dt> +PEM_CERT_SEP, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +PEM_CERT_SEP2, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +PEM_CRL, macro in common +</dt> +<dd></dd> +<dt> +PEM_CRL_SEP, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +PEM_OCSP_RESPONSE, macro in <a class="link" href="gnutls-x509.html" title="x509">x509</a> +</dt> +<dd></dd> +<dt> +PEM_PK, macro in common +</dt> +<dd></dd> +<dt> +PEM_PKCS12, macro in common +</dt> +<dd></dd> +<dt> +PEM_PKCS7, macro in common +</dt> +<dd></dd> +<dt> +PEM_X509_CERT, macro in common +</dt> +<dd></dd> +<dt> +PEM_X509_CERT2, macro in common +</dt> +<dd></dd> +<dt> +pin_info_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +pk, variable in algorithms +</dt> +<dd></dd> +<dt> +pkcs11_call_token_func, function in pkcs11_int +</dt> +<dd></dd> +<dt> +PKCS11_CHECK_INIT, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +PKCS11_CHECK_INIT_FLAGS, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +PKCS11_CHECK_INIT_FLAGS_RET, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +PKCS11_CHECK_INIT_RET, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_close_session, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_create_object, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_decrypt, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_decrypt_init, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_destroy_object, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_find_objects, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_find_objects_final, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_find_objects_init, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_find_slot, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_generate_key, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_generate_key_pair, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_get_attribute_avalue, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_get_attribute_value, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_get_info, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_get_mechanism_info, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_get_mechanism_list, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_get_module_info, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_get_slot_info, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_get_slot_list, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_get_token_info, function in pkcs11_int +</dt> +<dd></dd> +<dt> +PKCS11_ID_SIZE, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_info_to_url, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_init_pin, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_init_token, function in pkcs11_int +</dt> +<dd></dd> +<dt> +PKCS11_LABEL_SIZE, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_login, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_obj_flags_to_int, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_open_session, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_override_cert_exts, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_read_pubkey, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_reinit_function, user_function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_rescan_slots, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_retrieve_pin, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_rv_to_err, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_session_info, struct in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_set_attribute_value, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_set_pin, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_sign, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_sign_init, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_strerror, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_strtype_to_class, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_token_matches_info, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs11_type_to_class, function in pkcs11_int +</dt> +<dd></dd> +<dt> +PKCS11_URL, macro in urls +</dt> +<dd></dd> +<dt> +PKCS11_URL_SIZE, macro in urls +</dt> +<dd></dd> +<dt> +pkcs11_url_to_info, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pkcs_cipher_schema_st, struct in pkcs7_int +</dt> +<dd></dd> +<dt> +PKIX1_RSA_PSS_MGF1_OID, macro in common +</dt> +<dd></dd> +<dt> +PK_DSA_OID, macro in common +</dt> +<dd></dd> +<dt> +PK_GOST_R3410_2001_OID, macro in common +</dt> +<dd></dd> +<dt> +PK_GOST_R3410_2012_256_OID, macro in common +</dt> +<dd></dd> +<dt> +PK_GOST_R3410_2012_512_OID, macro in common +</dt> +<dd></dd> +<dt> +PK_GOST_R3410_94_OID, macro in common +</dt> +<dd></dd> +<dt> +pk_hash_data, function in pk +</dt> +<dd></dd> +<dt> +PK_PKIX1_RSA_OID, macro in common +</dt> +<dd></dd> +<dt> +PK_PKIX1_RSA_PSS_OID, macro in common +</dt> +<dd></dd> +<dt> +pk_prepare_hash, function in pk +</dt> +<dd></dd> +<dt> +pk_to_genmech, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pk_to_key_type, function in pkcs11_int +</dt> +<dd></dd> +<dt> +pk_to_mech, function in pkcs11_int +</dt> +<dd></dd> +<dt> +PK_X509_RSA_OID, macro in common +</dt> +<dd></dd> +<dt> +PRE_SHARED_KEY_TLS_ID, macro in pre_shared_key +</dt> +<dd></dd> +<dt> +prf_raw, function in gnutlsxx +</dt> +<dd></dd> +<dt> +PRIME_CHECK_PARAM, macro in gnettle +</dt> +<dd></dd> +<dt> +priority_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +privkey_sign_and_hash_data, function in abstract_int +</dt> +<dd></dd> +<dt> +privkey_sign_raw_data, function in abstract_int +</dt> +<dd></dd> +<dt> +psk_client_credentials_st, struct in psk +</dt> +<dd></dd> +<dt> +psk_ext_iter_st, typedef in psk_ext_parser +</dt> +<dd></dd> +<dt> +psk_ext_parser_st, struct in psk_ext_parser +</dt> +<dd></dd> +<dt> +psk_server_cred_st, struct in psk +</dt> +<dd></dd> +<dt> +psk_st, struct in psk_ext_parser +</dt> +<dd></dd> +<dt> +ptr, function in gnutlsxx +</dt> +<dd></dd> +<dt> +PTRDIFF_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +PTRDIFF_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +PTRDIFF_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +pubkey_to_bits, function in abstract_int +</dt> +<dd></dd> +<dt> +pubkey_verify_data, function in abstract_int +</dt> +<dd></dd> +<a name="idxR"></a><h3 class="title">R</h3> +<dt> +REAL_HSK_TYPE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +REAUTH_STATE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +reauth_state_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +record_aes_gcm_encrypt_size, function in aes-x86 +</dt> +<dd></dd> +<dt> +RECORD_HEADER_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +record_parameters_st, typedef in gnutls_int +</dt> +<dd></dd> +<dt> +record_send_state_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +record_state_st, typedef in gnutls_int +</dt> +<dd></dd> +<dt> +recv, function in gnutlsxx +</dt> +<dd></dd> +<dt> +recv_state_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +register_aarch64_crypto, function in aarch64-common +</dt> +<dd></dd> +<dt> +register_x86_crypto, function in aes-x86 +</dt> +<dd></dd> +<dt> +release_tpm2_ctx, function in tpm2 +</dt> +<dd></dd> +<dt> +reset_binders, function in state +</dt> +<dd></dd> +<dt> +reset_cand_groups, macro in gnutls_int +</dt> +<dd></dd> +<dt> +RESUMPTION_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +RES_BINDER_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +ret, variable in u-normalize-internal +</dt> +<dd></dd> +<dt> +RETURN_DTLS_EAGAIN_OR_TIMEOUT, macro in <a class="link" href="gnutls-dtls.html" title="dtls">dtls</a> +</dt> +<dd></dd> +<dt> +RIGHT, macro in int +</dt> +<dd></dd> +<dt> +RMS_MASTER_LABEL, macro in handshake-defs +</dt> +<dd></dd> +<dt> +rpl_dev_t, typedef in types +</dt> +<dd></dd> +<dt> +RSA_COEF, macro in crypto-backend +</dt> +<dd></dd> +<dt> +RSA_E1, macro in crypto-backend +</dt> +<dd></dd> +<dt> +RSA_E2, macro in crypto-backend +</dt> +<dd></dd> +<dt> +rsa_generate_fips186_4_keypair, function in rsa-fips +</dt> +<dd></dd> +<dt> +RSA_MODULUS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +RSA_PRIME1, macro in crypto-backend +</dt> +<dd></dd> +<dt> +RSA_PRIME2, macro in crypto-backend +</dt> +<dd></dd> +<dt> +RSA_PRIV, macro in crypto-backend +</dt> +<dd></dd> +<dt> +RSA_PRIVATE_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +RSA_PUB, macro in crypto-backend +</dt> +<dd></dd> +<dt> +RSA_PUBLIC_PARAMS, macro in crypto-backend +</dt> +<dd></dd> +<dt> +RSHIFT_ALIEN_UINT64, macro in block-internal +</dt> +<dd></dd> +<a name="idxS"></a><h3 class="title">S</h3> +<dt> +safe_memset, function in gstr +</dt> +<dd></dd> +<dt> +safe_renegotiation_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +saved_errno, variable in u-normalize-internal +</dt> +<dd></dd> +<dt> +SCHAR_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +schema_id, enum in pkcs7_int +</dt> +<dd></dd> +<dt> +security_parameters_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +send_appropriate_alert, function in gnutlsxx +</dt> +<dd></dd> +<dt> +send_ticket_state_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +server_session, function in gnutlsxx +</dt> +<dd></dd> +<dt> +session, function in gnutlsxx +</dt> +<dd></dd> +<dt> +SESSION_CONTEXT_SPECIFIC, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +SESSION_FORCE_LOGIN, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +SESSION_LOGIN, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +SESSION_NO_CLOSE, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +SESSION_SO, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +SESSION_TRUSTED, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +SESSION_WRITE, macro in pkcs11_int +</dt> +<dd></dd> +<dt> +setkey_func, user_function in hash_int +</dt> +<dd></dd> +<dt> +set_adv_version, macro in gnutls_int +</dt> +<dd></dd> +<dt> +set_certificate_request, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_credentials, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_credentials_file, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_credentials_function, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_db, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_default_version, function in state +</dt> +<dd></dd> +<dt> +set_dh_params, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_params_function, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_priority, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_retrieve_function, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_rsa_export_params, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_server_name, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_simple_pkcs12_file, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_transport_ptr, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_transport_pull_function, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_transport_pull_timeout_function, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_transport_push_function, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_transport_vec_push_function, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_user_ptr, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_verify_cert, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_verify_flags, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_verify_limits, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_x509_crl, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_x509_crl_file, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_x509_key, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_x509_key_file, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_x509_trust, function in gnutlsxx +</dt> +<dd></dd> +<dt> +set_x509_trust_file, function in gnutlsxx +</dt> +<dd></dd> +<dt> +shift, variable in u-normalize-internal +</dt> +<dd></dd> +<dt> +SHRT_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +SIGNED_DATA_OID, macro in pkcs7_int +</dt> +<dd></dd> +<dt> +sign_algorithm_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +sign_algo_list_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +SIG_ATOMIC_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +SIG_ATOMIC_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +SIG_ATOMIC_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +SIG_DSA_SHA1_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_DSA_SHA224_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_DSA_SHA256_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_DSA_SHA384_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_DSA_SHA3_224_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_DSA_SHA3_256_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_DSA_SHA3_384_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_DSA_SHA3_512_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_DSA_SHA512_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_ECDSA_SHA3_224_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_ECDSA_SHA3_256_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_ECDSA_SHA3_384_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_ECDSA_SHA3_512_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_ED448_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_EDDSA_SHA512_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_GOST_R3410_2001_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_GOST_R3410_2012_256_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_GOST_R3410_2012_512_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_GOST_R3410_94_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_MD2_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_MD5_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_RMD160_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_SHA1_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_SHA224_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_SHA256_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_SHA384_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_SHA3_224_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_SHA3_256_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_SHA3_384_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_SHA3_512_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_RSA_SHA512_OID, macro in common +</dt> +<dd></dd> +<dt> +SIG_SEM_DEFAULT, macro in algorithms +</dt> +<dd></dd> +<dt> +SIG_SEM_PRE_TLS12, macro in algorithms +</dt> +<dd></dd> +<dt> +SIG_SEM_TLS13, macro in algorithms +</dt> +<dd></dd> +<dt> +sizeof, function in u-normalize-internal +</dt> +<dd></dd> +<dt> +SIZEOF_MPZT, macro in gnettle +</dt> +<dd></dd> +<dt> +SIZE_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +SIZE_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +srp_client_credentials_st, struct in srp_kx +</dt> +<dd></dd> +<dt> +srp_ext_st, struct in srp +</dt> +<dd></dd> +<dt> +SRP_MAX_HASH_SIZE, macro in srp +</dt> +<dd></dd> +<dt> +SRP_PWD_ENTRY, struct in srp_passwd +</dt> +<dd></dd> +<dt> +srp_server_cred_st, struct in srp_kx +</dt> +<dd></dd> +<dt> +srtp_ext_st, struct in srtp +</dt> +<dd></dd> +<dt> +sr_ext_st, struct in safe_renegotiation +</dt> +<dd></dd> +<dt> +ssize_t, typedef in gnutls_int +</dt> +<dd></dd> +<dt> +STATE, macro in <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">handshake</a> +</dt> +<dd></dd> +<dt> +static_struct_asn, macro in libtasn1 +</dt> +<dd></dd> +<dt> +STATUS_REQUEST_TLS_ID, macro in status_request +</dt> +<dd></dd> +<dt> +STEK_ROTATION_PERIOD_PRODUCT, macro in gnutls_int +</dt> +<dd></dd> +<dt> +STREEBOG256_BLOCK_SIZE, macro in streebog +</dt> +<dd></dd> +<dt> +streebog256_ctx, macro in streebog +</dt> +<dd></dd> +<dt> +streebog256_digest, macro in streebog +</dt> +<dd></dd> +<dt> +STREEBOG256_DIGEST_SIZE, macro in streebog +</dt> +<dd></dd> +<dt> +streebog256_init, macro in streebog +</dt> +<dd></dd> +<dt> +streebog256_update, macro in streebog +</dt> +<dd></dd> +<dt> +STREEBOG512_BLOCK_SIZE, macro in streebog +</dt> +<dd></dd> +<dt> +streebog512_ctx, struct in streebog +</dt> +<dd></dd> +<dt> +streebog512_digest, macro in streebog +</dt> +<dd></dd> +<dt> +STREEBOG512_DIGEST_SIZE, macro in streebog +</dt> +<dd></dd> +<dt> +streebog512_init, macro in streebog +</dt> +<dd></dd> +<dt> +streebog512_update, macro in streebog +</dt> +<dd></dd> +<dt> +st_provable_prime, function in dsa-fips +</dt> +<dd></dd> +<dt> +SYSTEM_CONFIG_OR_CONST, macro in algorithms +</dt> +<dd></dd> +<dt> +system_errno, function in system +</dt> +<dd></dd> +<dt> +system_key_iter_st, struct in system-keys +</dt> +<dd></dd> +<dt> +system_read, function in system +</dt> +<dd></dd> +<dt> +SYSTEM_URL, macro in urls +</dt> +<dd></dd> +<dt> +SYSTEM_URL_SIZE, macro in urls +</dt> +<dd></dd> +<dt> +system_write, function in system +</dt> +<dd></dd> +<dt> +system_writev, function in system +</dt> +<dd></dd> +<dt> +system_writev_nosignal, function in system +</dt> +<dd></dd> +<dt> +system_writev_nosignal_tfo, function in system +</dt> +<dd></dd> +<dt> +system_writev_tfo, function in system +</dt> +<dd></dd> +<a name="idxT"></a><h3 class="title">T</h3> +<dt> +tfo_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_BLOCK_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_CIPHER, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_CIPHER_KEY_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_IV_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_KEY_NAME_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_MAC_ALGO, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_MAC_SECRET_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_MAC_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_MASTER_KEY_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +ticket_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +TICKET_STATE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +timespec_sub_ms, macro in gnutls_int +</dt> +<dd></dd> +<dt> +tls10_prf, macro in tls1-prf +</dt> +<dd></dd> +<dt> +tls12_prf, macro in tls1-prf +</dt> +<dd></dd> +<dt> +TLS13_APPENDIX_D4, macro in handshake-defs +</dt> +<dd></dd> +<dt> +TLS13_TICKETS_TO_SEND, macro in handshake-defs +</dt> +<dd></dd> +<dt> +tls13_ticket_deinit, function in session_ticket +</dt> +<dd></dd> +<dt> +tls13_ticket_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +TLS_HANDSHAKE_HEADER_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TLS_RECORD_HEADER_SIZE, macro in gnutls_int +</dt> +<dd></dd> +<dt> +TLS_SIGN_AID_UNKNOWN, macro in algorithms +</dt> +<dd></dd> +<dt> +TMP_ALLOC, macro in nettle-alloca +</dt> +<dd></dd> +<dt> +TMP_DECL, macro in nettle-alloca +</dt> +<dd></dd> +<dt> +TOMPZ, macro in gnettle +</dt> +<dd></dd> +<dt> +TOTAL_KEYWORDS, macro in composition-table +</dt> +<dd></dd> +<dt> +tpm2_convert_public, function in tpm2 +</dt> +<dd></dd> +<dt> +tpm2_deinit_fn, function in tpm2 +</dt> +<dd></dd> +<dt> +tpm2_ec_sign_hash_fn, function in tpm2 +</dt> +<dd></dd> +<dt> +tpm2_esys_deinit, function in tpm2 +</dt> +<dd></dd> +<dt> +tpm2_info_init, function in tpm2 +</dt> +<dd></dd> +<dt> +tpm2_info_st, struct in tpm2 +</dt> +<dd></dd> +<dt> +tpm2_key_curve, function in tpm2 +</dt> +<dd></dd> +<dt> +tpm2_rsa_key_bits, function in tpm2 +</dt> +<dd></dd> +<dt> +tpm2_rsa_sign_hash_fn, function in tpm2 +</dt> +<dd></dd> +<dt> +TPMKEY_URL, macro in urls +</dt> +<dd></dd> +<dt> +TPMKEY_URL_SIZE, macro in urls +</dt> +<dd></dd> +<dt> +<a class="link" href="gnutls-tpm.html#tpm-key-list-st" title="struct tpm_key_list_st">tpm_key_list_st</a>, struct in <a class="link" href="gnutls-tpm.html" title="tpm">tpm</a> +</dt> +<dd></dd> +<dt> +transport_t, enum in gnutls_int +</dt> +<dd></dd> +<dt> +type, variable in int +</dt> +<dd></dd> +<a name="idxU"></a><h3 class="title">U</h3> +<dt> +u16_cpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_cpy_alloc, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_mbtouc, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_mbtoucr, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_mbtouc_aux, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_mbtouc_unsafe, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_mbtouc_unsafe_aux, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_move, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_next, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_normalize, function in uninorm.in +</dt> +<dd></dd> +<dt> +u16_normcmp, function in uninorm.in +</dt> +<dd></dd> +<dt> +u16_normcoll, function in uninorm.in +</dt> +<dd></dd> +<dt> +u16_normxfrm, function in uninorm.in +</dt> +<dd></dd> +<dt> +u16_prev, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_set, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_stpcpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_stpncpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_strcat, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_strcoll, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_strcpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_strdup, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_strmbtouc, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_strncat, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_strncpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_strtok, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_to_u32, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_to_u8, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_uctomb, function in unistr.in +</dt> +<dd></dd> +<dt> +u16_uctomb_aux, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_cpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_cpy_alloc, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_mbtouc, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_mbtoucr, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_mbtouc_unsafe, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_move, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_next, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_normalize, function in uninorm.in +</dt> +<dd></dd> +<dt> +u32_normcmp, function in uninorm.in +</dt> +<dd></dd> +<dt> +u32_normcoll, function in uninorm.in +</dt> +<dd></dd> +<dt> +u32_normxfrm, function in uninorm.in +</dt> +<dd></dd> +<dt> +u32_prev, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_set, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_stpcpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_stpncpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_strcat, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_strcoll, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_strcpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_strdup, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_strmbtouc, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_strncat, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_strncpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_strtok, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_to_u16, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_to_u8, function in unistr.in +</dt> +<dd></dd> +<dt> +u32_uctomb, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_check, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_cmp, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_cpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_mblen, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_mbtouc, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_mbtoucr, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_mbtouc_aux, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_mbtouc_unsafe, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_mbtouc_unsafe_aux, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_move, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_next, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_normcmp, function in uninorm.in +</dt> +<dd></dd> +<dt> +u8_normcoll, function in uninorm.in +</dt> +<dd></dd> +<dt> +u8_normxfrm, function in uninorm.in +</dt> +<dd></dd> +<dt> +u8_prev, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_set, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_stpcpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_stpncpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_strcat, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_strchr, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_strcmp_gnu, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_strlen, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_strmblen, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_strncat, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_strncmp, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_strncpy, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_to_u32, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_uctomb, function in unistr.in +</dt> +<dd></dd> +<dt> +u8_uctomb_aux, function in unistr.in +</dt> +<dd></dd> +<dt> +UCHAR_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +ucs4_t, typedef in unitypes.in +</dt> +<dd></dd> +<dt> +ucs4_with_ccc, struct in decompose-internal +</dt> +<dd></dd> +<dt> +uc_block, function in unictype.in +</dt> +<dd></dd> +<dt> +uc_canonical_decomposition, function in uninorm.in +</dt> +<dd></dd> +<dt> +UC_CASED_LETTER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_C, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Cc, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Cf, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Cn, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Co, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Cs, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_L, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_LC, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Ll, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Lm, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Lo, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Lt, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Lu, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_M, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Mc, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Me, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Mn, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_N, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Nd, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Nl, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_No, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_P, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Pc, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Pd, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Pe, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Pf, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Pi, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Po, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Ps, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_S, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Sc, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Sk, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Sm, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_So, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Z, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Zl, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Zp, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CATEGORY_Zs, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_CLOSE_PUNCTUATION, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_COMBINING_SPACING_MARK, macro in unictype.in +</dt> +<dd></dd> +<dt> +uc_compat_decomposition, function in decompose-internal +</dt> +<dd></dd> +<dt> +uc_composition, function in uninorm.in +</dt> +<dd></dd> +<dt> +UC_CONNECTOR_PUNCTUATION, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_CONTROL, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_CURRENCY_SYMBOL, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_DASH_PUNCTUATION, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_DECIMAL_DIGIT_NUMBER, macro in unictype.in +</dt> +<dd></dd> +<dt> +uc_decomposition, function in uninorm.in +</dt> +<dd></dd> +<dt> +UC_DECOMPOSITION_MAX_LENGTH, macro in uninorm.in +</dt> +<dd></dd> +<dt> +UC_ENCLOSING_MARK, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_FINAL_QUOTE_PUNCTUATION, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_FORMAT, macro in unictype.in +</dt> +<dd></dd> +<dt> +uc_general_category_and, function in unictype.in +</dt> +<dd></dd> +<dt> +uc_general_category_and_not, function in unictype.in +</dt> +<dd></dd> +<dt> +uc_general_category_name, function in unictype.in +</dt> +<dd></dd> +<dt> +uc_general_category_or, function in unictype.in +</dt> +<dd></dd> +<dt> +UC_INITIAL_QUOTE_PUNCTUATION, macro in unictype.in +</dt> +<dd></dd> +<dt> +uc_is_property, function in unictype.in +</dt> +<dd></dd> +<dt> +uc_is_property_white_space, function in unictype.in +</dt> +<dd></dd> +<dt> +uc_joining_type_name, function in unictype.in +</dt> +<dd></dd> +<dt> +UC_LETTER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_LETTER_NUMBER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_LINE_SEPARATOR, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_LOWERCASE_LETTER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_MARK, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_MATH_SYMBOL, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_MODIFIER_LETTER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_MODIFIER_SYMBOL, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_NON_SPACING_MARK, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_NUMBER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_OPEN_PUNCTUATION, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_OTHER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_OTHER_LETTER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_OTHER_NUMBER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_OTHER_PUNCTUATION, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_OTHER_SYMBOL, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_PARAGRAPH_SEPARATOR, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_PRIVATE_USE, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_ALPHABETIC, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_ASCII_HEX_DIGIT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_ARABIC_DIGIT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_BLOCK_SEPARATOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_COMMON_SEPARATOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_CONTROL, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_EUROPEAN_DIGIT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_LEFT_TO_RIGHT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_NON_SPACING_MARK, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_OTHER_NEUTRAL, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_PDF, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_SEGMENT_SEPARATOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_BIDI_WHITESPACE, variable in unictype.in +</dt> +<dd></dd> +<dt> +uc_property_byname, function in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_CASED, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_CASE_IGNORABLE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_CHANGES_WHEN_CASEFOLDED, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_CHANGES_WHEN_CASEMAPPED, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_CHANGES_WHEN_LOWERCASED, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_CHANGES_WHEN_TITLECASED, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_CHANGES_WHEN_UPPERCASED, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_COMBINING, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_COMPOSITE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_CURRENCY_SYMBOL, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_DASH, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_DECIMAL_DIGIT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_DEPRECATED, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_DIACRITIC, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_EXTENDER, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_FORMAT_CONTROL, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_GRAPHEME_BASE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_GRAPHEME_EXTEND, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_GRAPHEME_LINK, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_HEX_DIGIT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_HYPHEN, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_IDEOGRAPHIC, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_IDS_BINARY_OPERATOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_IDS_TRINARY_OPERATOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_ID_CONTINUE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_ID_START, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_IGNORABLE_CONTROL, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_ISO_CONTROL, variable in unictype.in +</dt> +<dd></dd> +<dt> +uc_property_is_valid, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_JOIN_CONTROL, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_LEFT_OF_PAIR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_LINE_SEPARATOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_LOGICAL_ORDER_EXCEPTION, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_LOWERCASE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_MATH, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_NON_BREAK, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_NOT_A_CHARACTER, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_NUMERIC, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_OTHER_ALPHABETIC, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_OTHER_GRAPHEME_EXTEND, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_OTHER_ID_CONTINUE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_OTHER_ID_START, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_OTHER_LOWERCASE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_OTHER_MATH, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_OTHER_UPPERCASE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_PAIRED_PUNCTUATION, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_PARAGRAPH_SEPARATOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_PATTERN_SYNTAX, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_PATTERN_WHITE_SPACE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_PRIVATE_USE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_PUNCTUATION, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_QUOTATION_MARK, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_RADICAL, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_SENTENCE_TERMINAL, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_SOFT_DOTTED, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_SPACE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_TERMINAL_PUNCTUATION, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_TITLECASE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_UNASSIGNED_CODE_VALUE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_UNIFIED_IDEOGRAPH, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_UPPERCASE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_VARIATION_SELECTOR, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_WHITE_SPACE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_XID_CONTINUE, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_XID_START, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PROPERTY_ZERO_WIDTH, variable in unictype.in +</dt> +<dd></dd> +<dt> +UC_PUNCTUATION, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_SEPARATOR, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_SPACE_SEPARATOR, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_SURROGATE, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_SYMBOL, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_TITLECASE_LETTER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_UNASSIGNED, macro in unictype.in +</dt> +<dd></dd> +<dt> +UC_UPPERCASE_LETTER, macro in unictype.in +</dt> +<dd></dd> +<dt> +UINT16_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT16_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint16_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT16_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT32_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT32_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint32_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT32_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT64_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT64_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint64_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT64_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT8_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT8_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint8_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT8_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINTMAX_C, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINTMAX_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uintmax_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINTMAX_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINTPTR_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uintptr_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINTPTR_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_FAST16_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint_fast16_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_FAST16_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_FAST32_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint_fast32_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_FAST32_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_FAST64_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint_fast64_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_FAST64_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_FAST8_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint_fast8_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_FAST8_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_LEAST16_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint_least16_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_LEAST16_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_LEAST32_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint_least32_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_LEAST32_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_LEAST64_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint_least64_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_LEAST64_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_LEAST8_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +uint_least8_t, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_LEAST8_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +UINT_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +ULLONG_MAX, macro in limits.in +</dt> +<dd></dd> +<dt> +ULLONG_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +ULONG_WIDTH, macro in limits.in +</dt> +<dd></dd> +<dt> +unicode_normalization_form, struct in normalize-internal +</dt> +<dd></dd> +<dt> +uninorm_filter, struct in uninorm.in +</dt> +<dd></dd> +<dt> +uninorm_filter_create, function in uninorm.in +</dt> +<dd></dd> +<dt> +uninorm_filter_flush, function in uninorm.in +</dt> +<dd></dd> +<dt> +uninorm_filter_free, function in uninorm.in +</dt> +<dd></dd> +<dt> +uninorm_filter_write, function in uninorm.in +</dt> +<dd></dd> +<dt> +unlikely, function in gnutls_int +</dt> +<dd></dd> +<dt> +UP, macro in int +</dt> +<dd></dd> +<dt> +USHRT_WIDTH, macro in limits.in +</dt> +<dd></dd> +<a name="idxV"></a><h3 class="title">V</h3> +<dt> +version_entry_st, struct in gnutls_int +</dt> +<dd></dd> +<dt> +version_to_entry, macro in algorithms +</dt> +<dd></dd> +<dt> +vpaes_cbc_encrypt, function in aes-x86 +</dt> +<dd></dd> +<dt> +vpaes_decrypt, function in aes-x86 +</dt> +<dd></dd> +<dt> +vpaes_encrypt, function in aes-x86 +</dt> +<dd></dd> +<dt> +vpaes_set_decrypt_key, function in aes-x86 +</dt> +<dd></dd> +<dt> +vpaes_set_encrypt_key, function in aes-x86 +</dt> +<dd></dd> +<a name="idxW"></a><h3 class="title">W</h3> +<dt> +WCHAR_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +WCHAR_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +WCHAR_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +what, function in gnutlsxx +</dt> +<dd></dd> +<dt> +WINT_MAX, macro in stdint.in +</dt> +<dd></dd> +<dt> +WINT_MIN, macro in stdint.in +</dt> +<dd></dd> +<dt> +WINT_WIDTH, macro in stdint.in +</dt> +<dd></dd> +<dt> +WORD_BIT, macro in limits.in +</dt> +<dd></dd> +<dt> +wrap_padlock_hash_fast, function in sha-padlock +</dt> +<dd></dd> +<a name="idxX"></a><h3 class="title">X</h3> +<dt> +x509_crt_to_raw_pubkey, function in common +</dt> +<dd></dd> +<dt> +x86_sha1, variable in sha-x86 +</dt> +<dd></dd> +<dt> +x86_sha1_update, function in sha-x86 +</dt> +<dd></dd> +<dt> +x86_sha224, variable in sha-x86 +</dt> +<dd></dd> +<dt> +x86_sha256, variable in sha-x86 +</dt> +<dd></dd> +<dt> +x86_sha256_update, function in sha-x86 +</dt> +<dd></dd> +<dt> +x86_sha384, variable in sha-x86 +</dt> +<dd></dd> +<dt> +x86_sha512, variable in sha-x86 +</dt> +<dd></dd> +<dt> +x86_sha512_update, function in sha-x86 +</dt> +<dd></dd> +<dt> +XMPP_OID, macro in common +</dt> +<dd></dd> +<a name="idxZ"></a><h3 class="title">Z</h3> +<dt> +zeroize_key, macro in mem +</dt> +<dd></dd> +<dt> +zeroize_temp_key, macro in mem +</dt> +<dd></dd> +<dt> +zrelease_mpi_key, macro in mem +</dt> +<dd></dd> +<dt> +zrelease_temp_mpi_key, macro in mem +</dt> +<dd></dd> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-abstract.html b/doc/reference/html/gnutls-abstract.html new file mode 100644 index 0000000..9d3d1ff --- /dev/null +++ b/doc/reference/html/gnutls-abstract.html @@ -0,0 +1,7027 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>abstract: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-gnutls.html" title="gnutls"> +<link rel="next" href="gnutls-x509.html" title="x509"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-abstract.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="gnutls-gnutls.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-abstract"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-abstract.top_of_page"></a>abstract</span></h2> +<p>abstract</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-abstract.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-func" title="gnutls_privkey_sign_func ()">*gnutls_privkey_sign_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-func" title="gnutls_privkey_decrypt_func ()">*gnutls_privkey_decrypt_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-func2" title="gnutls_privkey_decrypt_func2 ()">*gnutls_privkey_decrypt_func2</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-hash-func" title="gnutls_privkey_sign_hash_func ()">*gnutls_privkey_sign_hash_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data-func" title="gnutls_privkey_sign_data_func ()">*gnutls_privkey_sign_data_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-abstract.html#gnutls-privkey-deinit-func" title="gnutls_privkey_deinit_func ()">*gnutls_privkey_deinit_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#GNUTLS-SIGN-ALGO-TO-FLAGS:CAPS" title="GNUTLS_SIGN_ALGO_TO_FLAGS()">GNUTLS_SIGN_ALGO_TO_FLAGS</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#GNUTLS-FLAGS-TO-SIGN-ALGO:CAPS" title="GNUTLS_FLAGS_TO_SIGN_ALGO()">GNUTLS_FLAGS_TO_SIGN_ALGO</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-abstract.html#gnutls-privkey-info-func" title="gnutls_privkey_info_func ()">*gnutls_privkey_info_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-init" title="gnutls_pubkey_init ()">gnutls_pubkey_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-deinit" title="gnutls_pubkey_deinit ()">gnutls_pubkey_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-verify-params" title="gnutls_pubkey_verify_params ()">gnutls_pubkey_verify_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-set-pin-function" title="gnutls_pubkey_set_pin_function ()">gnutls_pubkey_set_pin_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-algorithm" title="gnutls_pubkey_get_pk_algorithm ()">gnutls_pubkey_get_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-set-spki" title="gnutls_pubkey_set_spki ()">gnutls_pubkey_set_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-spki" title="gnutls_pubkey_get_spki ()">gnutls_pubkey_get_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-x509" title="gnutls_pubkey_import_x509 ()">gnutls_pubkey_import_x509</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-x509-crq" title="gnutls_pubkey_import_x509_crq ()">gnutls_pubkey_import_x509_crq</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-pkcs11" title="gnutls_pubkey_import_pkcs11 ()">gnutls_pubkey_import_pkcs11</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-openpgp" title="gnutls_pubkey_import_openpgp ()">gnutls_pubkey_import_openpgp</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-openpgp-raw" title="gnutls_pubkey_import_openpgp_raw ()">gnutls_pubkey_import_openpgp_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-x509-raw" title="gnutls_pubkey_import_x509_raw ()">gnutls_pubkey_import_x509_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-privkey" title="gnutls_pubkey_import_privkey ()">gnutls_pubkey_import_privkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-tpm-url" title="gnutls_pubkey_import_tpm_url ()">gnutls_pubkey_import_tpm_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-url" title="gnutls_pubkey_import_url ()">gnutls_pubkey_import_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-tpm-raw" title="gnutls_pubkey_import_tpm_raw ()">gnutls_pubkey_import_tpm_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-preferred-hash-algorithm" title="gnutls_pubkey_get_preferred_hash_algorithm ()">gnutls_pubkey_get_preferred_hash_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-rsa-raw" title="gnutls_pubkey_export_rsa_raw ()">gnutls_pubkey_export_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-rsa-raw2" title="gnutls_pubkey_export_rsa_raw2 ()">gnutls_pubkey_export_rsa_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-dsa-raw" title="gnutls_pubkey_export_dsa_raw ()">gnutls_pubkey_export_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-dsa-raw2" title="gnutls_pubkey_export_dsa_raw2 ()">gnutls_pubkey_export_dsa_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-ecc-raw2" title="gnutls_pubkey_export_ecc_raw2 ()">gnutls_pubkey_export_ecc_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-gost-raw2" title="gnutls_pubkey_export_gost_raw2 ()">gnutls_pubkey_export_gost_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-ecc-raw" title="gnutls_pubkey_export_ecc_raw ()">gnutls_pubkey_export_ecc_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export-ecc-x962" title="gnutls_pubkey_export_ecc_x962 ()">gnutls_pubkey_export_ecc_x962</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export" title="gnutls_pubkey_export ()">gnutls_pubkey_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-export2" title="gnutls_pubkey_export2 ()">gnutls_pubkey_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-key-id" title="gnutls_pubkey_get_key_id ()">gnutls_pubkey_get_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-openpgp-key-id" title="gnutls_pubkey_get_openpgp_key_id ()">gnutls_pubkey_get_openpgp_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-key-usage" title="gnutls_pubkey_get_key_usage ()">gnutls_pubkey_get_key_usage</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-set-key-usage" title="gnutls_pubkey_set_key_usage ()">gnutls_pubkey_set_key_usage</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import" title="gnutls_pubkey_import ()">gnutls_pubkey_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-pkcs11-url" title="gnutls_pubkey_import_pkcs11_url()">gnutls_pubkey_import_pkcs11_url</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-dsa-raw" title="gnutls_pubkey_import_dsa_raw ()">gnutls_pubkey_import_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-rsa-raw" title="gnutls_pubkey_import_rsa_raw ()">gnutls_pubkey_import_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-ecc-x962" title="gnutls_pubkey_import_ecc_x962 ()">gnutls_pubkey_import_ecc_x962</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-ecc-raw" title="gnutls_pubkey_import_ecc_raw ()">gnutls_pubkey_import_ecc_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-gost-raw" title="gnutls_pubkey_import_gost_raw ()">gnutls_pubkey_import_gost_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-encrypt-data" title="gnutls_pubkey_encrypt_data ()">gnutls_pubkey_encrypt_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crt-set-pubkey" title="gnutls_x509_crt_set_pubkey ()">gnutls_x509_crt_set_pubkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crq-set-pubkey" title="gnutls_x509_crq_set_pubkey ()">gnutls_x509_crq_set_pubkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-verify-hash2" title="gnutls_pubkey_verify_hash2 ()">gnutls_pubkey_verify_hash2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-verify-data2" title="gnutls_pubkey_verify_data2 ()">gnutls_pubkey_verify_data2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-init" title="gnutls_privkey_init ()">gnutls_privkey_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-deinit" title="gnutls_privkey_deinit ()">gnutls_privkey_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#GNUTLS-SUBGROUP-TO-BITS:CAPS" title="GNUTLS_SUBGROUP_TO_BITS()">GNUTLS_SUBGROUP_TO_BITS</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#GNUTLS-BITS-TO-SUBGROUP:CAPS" title="GNUTLS_BITS_TO_SUBGROUP()">GNUTLS_BITS_TO_SUBGROUP</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#GNUTLS-BITS-TO-GROUP:CAPS" title="GNUTLS_BITS_TO_GROUP()">GNUTLS_BITS_TO_GROUP</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#GNUTLS-BITS-HAVE-SUBGROUP:CAPS" title="GNUTLS_BITS_HAVE_SUBGROUP()">GNUTLS_BITS_HAVE_SUBGROUP</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-generate" title="gnutls_privkey_generate ()">gnutls_privkey_generate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-generate2" title="gnutls_privkey_generate2 ()">gnutls_privkey_generate2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-set-spki" title="gnutls_privkey_set_spki ()">gnutls_privkey_set_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-get-spki" title="gnutls_privkey_get_spki ()">gnutls_privkey_get_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-verify-seed" title="gnutls_privkey_verify_seed ()">gnutls_privkey_verify_seed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-get-seed" title="gnutls_privkey_get_seed ()">gnutls_privkey_get_seed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-verify-params" title="gnutls_privkey_verify_params ()">gnutls_privkey_verify_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-set-flags" title="gnutls_privkey_set_flags ()">gnutls_privkey_set_flags</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-set-pin-function" title="gnutls_privkey_set_pin_function ()">gnutls_privkey_set_pin_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-get-pk-algorithm" title="gnutls_privkey_get_pk_algorithm ()">gnutls_privkey_get_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-status" title="gnutls_privkey_status ()">gnutls_privkey_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-pkcs11" title="gnutls_privkey_import_pkcs11 ()">gnutls_privkey_import_pkcs11</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-x509" title="gnutls_privkey_import_x509 ()">gnutls_privkey_import_x509</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-openpgp" title="gnutls_privkey_import_openpgp ()">gnutls_privkey_import_openpgp</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-x509" title="gnutls_privkey_export_x509 ()">gnutls_privkey_export_x509</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-openpgp" title="gnutls_privkey_export_openpgp ()">gnutls_privkey_export_openpgp</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-pkcs11" title="gnutls_privkey_export_pkcs11 ()">gnutls_privkey_export_pkcs11</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-openpgp-raw" title="gnutls_privkey_import_openpgp_raw ()">gnutls_privkey_import_openpgp_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-x509-raw" title="gnutls_privkey_import_x509_raw ()">gnutls_privkey_import_x509_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-tpm-raw" title="gnutls_privkey_import_tpm_raw ()">gnutls_privkey_import_tpm_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-tpm-url" title="gnutls_privkey_import_tpm_url ()">gnutls_privkey_import_tpm_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-url" title="gnutls_privkey_import_url ()">gnutls_privkey_import_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-pkcs11-url" title="gnutls_privkey_import_pkcs11_url ()">gnutls_privkey_import_pkcs11_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext" title="gnutls_privkey_import_ext ()">gnutls_privkey_import_ext</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext2" title="gnutls_privkey_import_ext2 ()">gnutls_privkey_import_ext2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext3" title="gnutls_privkey_import_ext3 ()">gnutls_privkey_import_ext3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext4" title="gnutls_privkey_import_ext4 ()">gnutls_privkey_import_ext4</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-dsa-raw" title="gnutls_privkey_import_dsa_raw ()">gnutls_privkey_import_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-rsa-raw" title="gnutls_privkey_import_rsa_raw ()">gnutls_privkey_import_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ecc-raw" title="gnutls_privkey_import_ecc_raw ()">gnutls_privkey_import_ecc_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-gost-raw" title="gnutls_privkey_import_gost_raw ()">gnutls_privkey_import_gost_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data" title="gnutls_privkey_sign_data ()">gnutls_privkey_sign_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data2" title="gnutls_privkey_sign_data2 ()">gnutls_privkey_sign_data2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-raw-data" title="gnutls_privkey_sign_raw_data()">gnutls_privkey_sign_raw_data</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-hash" title="gnutls_privkey_sign_hash ()">gnutls_privkey_sign_hash</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-hash2" title="gnutls_privkey_sign_hash2 ()">gnutls_privkey_sign_hash2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-data" title="gnutls_privkey_decrypt_data ()">gnutls_privkey_decrypt_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-data2" title="gnutls_privkey_decrypt_data2 ()">gnutls_privkey_decrypt_data2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-rsa-raw" title="gnutls_privkey_export_rsa_raw ()">gnutls_privkey_export_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-rsa-raw2" title="gnutls_privkey_export_rsa_raw2 ()">gnutls_privkey_export_rsa_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-dsa-raw" title="gnutls_privkey_export_dsa_raw ()">gnutls_privkey_export_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-dsa-raw2" title="gnutls_privkey_export_dsa_raw2 ()">gnutls_privkey_export_dsa_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-ecc-raw" title="gnutls_privkey_export_ecc_raw ()">gnutls_privkey_export_ecc_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-ecc-raw2" title="gnutls_privkey_export_ecc_raw2 ()">gnutls_privkey_export_ecc_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-privkey-export-gost-raw2" title="gnutls_privkey_export_gost_raw2 ()">gnutls_privkey_export_gost_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crt-privkey-sign" title="gnutls_x509_crt_privkey_sign ()">gnutls_x509_crt_privkey_sign</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crl-privkey-sign" title="gnutls_x509_crl_privkey_sign ()">gnutls_x509_crl_privkey_sign</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-x509-crq-privkey-sign" title="gnutls_x509_crq_privkey_sign ()">gnutls_x509_crq_privkey_sign</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-x509" title="gnutls_pcert_import_x509 ()">gnutls_pcert_import_x509</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-x509-list" title="gnutls_pcert_import_x509_list ()">gnutls_pcert_import_x509_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-export-x509" title="gnutls_pcert_export_x509 ()">gnutls_pcert_export_x509</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-list-import-x509-raw" title="gnutls_pcert_list_import_x509_raw ()">gnutls_pcert_list_import_x509_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-list-import-x509-file" title="gnutls_pcert_list_import_x509_file ()">gnutls_pcert_list_import_x509_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-x509-raw" title="gnutls_pcert_import_x509_raw ()">gnutls_pcert_import_x509_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-openpgp-raw" title="gnutls_pcert_import_openpgp_raw ()">gnutls_pcert_import_openpgp_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-openpgp" title="gnutls_pcert_import_openpgp ()">gnutls_pcert_import_openpgp</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-export-openpgp" title="gnutls_pcert_export_openpgp ()">gnutls_pcert_export_openpgp</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-deinit" title="gnutls_pcert_deinit ()">gnutls_pcert_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-rawpk" title="gnutls_pcert_import_rawpk ()">gnutls_pcert_import_rawpk</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pcert-import-rawpk-raw" title="gnutls_pcert_import_rawpk_raw ()">gnutls_pcert_import_rawpk_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-certificate-set-retrieve-function2" title="gnutls_certificate_set_retrieve_function2 ()">gnutls_certificate_set_retrieve_function2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-certificate-set-retrieve-function3" title="gnutls_certificate_set_retrieve_function3 ()">gnutls_certificate_set_retrieve_function3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-certificate-set-key" title="gnutls_certificate_set_key ()">gnutls_certificate_set_key</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-print" title="gnutls_pubkey_print ()">gnutls_pubkey_print</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-abstract.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#GNUTLS-PUBKEY-VERIFY-FLAG-TLS-RSA:CAPS" title="GNUTLS_PUBKEY_VERIFY_FLAG_TLS_RSA">GNUTLS_PUBKEY_VERIFY_FLAG_TLS_RSA</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#gnutls-pubkey-flags-t" title="enum gnutls_pubkey_flags_t">gnutls_pubkey_flags_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t">gnutls_abstract_export_flags_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#GNUTLS-PUBKEY-VERIFY-FLAG-TLS1-RSA:CAPS" title="GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA">GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-PK-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_PK_ALGO">GNUTLS_PRIVKEY_INFO_PK_ALGO</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-SIGN-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_SIGN_ALGO">GNUTLS_PRIVKEY_INFO_SIGN_ALGO</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-HAVE-SIGN-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO">GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-PK-ALGO-BITS:CAPS" title="GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS">GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-rsa-raw" title="gnutls_pubkey_get_pk_rsa_raw">gnutls_pubkey_get_pk_rsa_raw</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-dsa-raw" title="gnutls_pubkey_get_pk_dsa_raw">gnutls_pubkey_get_pk_dsa_raw</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-ecc-raw" title="gnutls_pubkey_get_pk_ecc_raw">gnutls_pubkey_get_pk_ecc_raw</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-pk-ecc-x962" title="gnutls_pubkey_get_pk_ecc_x962">gnutls_pubkey_get_pk_ecc_x962</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t">gnutls_privkey_flags_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st">gnutls_pcert_st</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#GNUTLS-PCERT-NO-CERT:CAPS" title="GNUTLS_PCERT_NO_CERT">GNUTLS_PCERT_NO_CERT</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#gnutls-cert-retr-st" title="struct gnutls_cert_retr_st">gnutls_cert_retr_st</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-abstract.html#GNUTLS-CERT-RETR-DEINIT-ALL:CAPS" title="GNUTLS_CERT_RETR_DEINIT_ALL">GNUTLS_CERT_RETR_DEINIT_ALL</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-abstract.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-abstract.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gnutls-privkey-sign-func"></a><h3>gnutls_privkey_sign_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_privkey_sign_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *raw_data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-decrypt-func"></a><h3>gnutls_privkey_decrypt_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_privkey_decrypt_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *ciphertext</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *plaintext</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-decrypt-func2"></a><h3>gnutls_privkey_decrypt_func2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_privkey_decrypt_func2<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *ciphertext</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *plaintext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> plaintext_size</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-sign-hash-func"></a><h3>gnutls_privkey_sign_hash_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_privkey_sign_hash_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *hash</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-sign-data-func"></a><h3>gnutls_privkey_sign_data_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_privkey_sign_data_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-deinit-func"></a><h3>gnutls_privkey_deinit_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*gnutls_privkey_deinit_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-SIGN-ALGO-TO-FLAGS:CAPS"></a><h3>GNUTLS_SIGN_ALGO_TO_FLAGS()</h3> +<pre class="programlisting">#define GNUTLS_SIGN_ALGO_TO_FLAGS(sig) (unsigned int)((sig)<<20) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-FLAGS-TO-SIGN-ALGO:CAPS"></a><h3>GNUTLS_FLAGS_TO_SIGN_ALGO()</h3> +<pre class="programlisting">#define GNUTLS_FLAGS_TO_SIGN_ALGO(flags) (unsigned int)((flags)>>20) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-info-func"></a><h3>gnutls_privkey_info_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_privkey_info_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-init"></a><h3>gnutls_pubkey_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> *key</code></em>);</pre> +<p>This function will initialize a public key.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-deinit"></a><h3>gnutls_pubkey_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pubkey_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>);</pre> +<p>This function will deinitialize a public key structure.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The key to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-verify-params"></a><h3>gnutls_pubkey_verify_params ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_verify_params (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>);</pre> +<p>This function will verify the public key parameters.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-verify-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-verify-params.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-set-pin-function"></a><h3>gnutls_pubkey_set_pin_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pubkey_set_pin_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +<p>This function will set a callback function to be used when +required to access the object. This function overrides any other +global PIN functions.</p> +<p>Note that this function must be called right after initialization +to have effect.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-set-pin-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A key of type <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fn</p></td> +<td class="parameter_description"><p>the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>data associated with the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-pk-algorithm"></a><h3>gnutls_pubkey_get_pk_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_get_pk_algorithm (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<p>This function will return the public key algorithm of a public +key and if possible will return a number of bits that indicates +the security parameter of the key.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-get-pk-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>If set will return the number of bits of the parameters (may be NULL)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-get-pk-algorithm.returns"></a><h4>Returns</h4> +<p> a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on +success, or a negative error code on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-set-spki"></a><h3>gnutls_pubkey_set_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_set_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set the public key information. +The provided <em class="parameter"><code>spki</code></em> + must be initialized.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-set-spki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pubkey</p></td> +<td class="parameter_description"><p>a public key of type <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>a SubjectPublicKeyInfo structure of type <span class="type">gnutls_pubkey_spki_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-set-spki.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-spki"></a><h3>gnutls_pubkey_get_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_get_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the public key information if available. +The provided <em class="parameter"><code>spki</code></em> + must be initialized.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-get-spki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pubkey</p></td> +<td class="parameter_description"><p>a public key of type <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>a SubjectPublicKeyInfo structure of type <span class="type">gnutls_pubkey_spki_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-get-spki.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-x509"></a><h3>gnutls_pubkey_import_x509 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_x509 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given public key to the abstract +<a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> type.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-x509.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>The certificate to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-x509.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-x509-crq"></a><h3>gnutls_pubkey_import_x509_crq ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_x509_crq (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given public key to the abstract +<a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> type.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-x509-crq.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>The certificate to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-x509-crq.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-pkcs11"></a><h3>gnutls_pubkey_import_pkcs11 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_pkcs11 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>Imports a public key from a pkcs11 key. This function will import +the given public key to the abstract <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> type.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-pkcs11.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>The parameters to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-pkcs11.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-openpgp"></a><h3>gnutls_pubkey_import_openpgp ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_openpgp (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function is no-op.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-openpgp.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>The certificate to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-openpgp.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-openpgp-raw"></a><h3>gnutls_pubkey_import_openpgp_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_openpgp_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function is no-op.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-openpgp-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The public key data to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>The format of the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>keyid</p></td> +<td class="parameter_description"><p>The key id to use (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-openpgp-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-x509-raw"></a><h3>gnutls_pubkey_import_x509_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_x509_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given public key to the abstract +<a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> type.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-x509-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The public key data to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>The format of the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-x509-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-privkey"></a><h3>gnutls_pubkey_import_privkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_privkey (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> usage</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>Imports the public key from a private. This function will import +the given public key to the abstract <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> type.</p> +<p>Note that in certain keys this operation may not be possible, e.g., +in other than RSA PKCS<span class="type">11</span> keys.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-privkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>usage</p></td> +<td class="parameter_description"><p>GNUTLS_KEY_* key usage flags.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-privkey.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-tpm-url"></a><h3>gnutls_pubkey_import_tpm_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_tpm_url (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *srk_password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given private key to the abstract +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type. </p> +<p>Note that unless <a class="link" href="gnutls-abstract.html#GNUTLS-PUBKEY-DISABLE-CALLBACKS:CAPS"><code class="literal">GNUTLS_PUBKEY_DISABLE_CALLBACKS</code></a> +is specified, if incorrect (or NULL) passwords are given +the PKCS11 callback functions will be used to obtain the +correct passwords. Otherwise if the SRK password is wrong +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-SRK-PASSWORD-ERROR:CAPS" title="GNUTLS_E_TPM_SRK_PASSWORD_ERROR"><code class="literal">GNUTLS_E_TPM_SRK_PASSWORD_ERROR</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-tpm-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>The URL of the TPM key to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>srk_password</p></td> +<td class="parameter_description"><p>The password for the SRK key (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-tpm-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-url"></a><h3>gnutls_pubkey_import_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_url (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import a public key from the provided URL.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A key of type <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-tpm-raw"></a><h3>gnutls_pubkey_import_tpm_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_tpm_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *fdata</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-tpm.html#gnutls-tpmkey-fmt-t" title="enum gnutls_tpmkey_fmt_t"><span class="type">gnutls_tpmkey_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *srk_password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the public key from the provided TPM key +structure.</p> +<p>With respect to passwords the same as in +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-tpm-url" title="gnutls_pubkey_import_tpm_url ()"><code class="function">gnutls_pubkey_import_tpm_url()</code></a> apply.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-tpm-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fdata</p></td> +<td class="parameter_description"><p>The TPM key to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>The format of the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>srk_password</p></td> +<td class="parameter_description"><p>The password for the SRK key (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of the GNUTLS_PUBKEY_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-tpm-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-preferred-hash-algorithm"></a><h3>gnutls_pubkey_get_preferred_hash_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_get_preferred_hash_algorithm + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> *hash</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *mand</code></em>);</pre> +<p>This function will read the certificate and return the appropriate digest +algorithm to use for signing with this certificate. Some certificates (i.e. +DSA might not be able to sign without the preferred algorithm).</p> +<p>To get the signature algorithm instead of just the hash use <code class="function">gnutls_pk_to_sign()</code> +with the algorithm of the certificate/key and the provided <em class="parameter"><code>hash</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-get-preferred-hash-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash</p></td> +<td class="parameter_description"><p>The result of the call with the hash algorithm used for signature</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mand</p></td> +<td class="parameter_description"><p>If non zero it means that the algorithm MUST use this hash. May be NULL.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-get-preferred-hash-algorithm.returns"></a><h4>Returns</h4> +<p> the 0 if the hash algorithm is found. A negative error code is +returned on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export-rsa-raw"></a><h3>gnutls_pubkey_export_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>);</pre> +<p>This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>This function allows for <code class="literal">NULL</code> parameters since 3.4.1.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export-rsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>will hold the modulus (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>will hold the public exponent (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export-rsa-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export-rsa-raw2"></a><h3>gnutls_pubkey_export_rsa_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export_rsa_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>This function allows for <code class="literal">NULL</code> parameters since 3.4.1.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export-rsa-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>will hold the modulus (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>will hold the public exponent (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t"><code class="literal">gnutls_abstract_export_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export-rsa-raw2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export-dsa-raw"></a><h3>gnutls_pubkey_export_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export_dsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<p>This function will export the DSA public key's parameters found in +the given certificate. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>This function allows for <code class="literal">NULL</code> parameters since 3.4.1.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export-dsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the p (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the q (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>g</p></td> +<td class="parameter_description"><p>will hold the g (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export-dsa-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export-dsa-raw2"></a><h3>gnutls_pubkey_export_dsa_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export_dsa_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will export the DSA public key's parameters found in +the given certificate. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>This function allows for <code class="literal">NULL</code> parameters since 3.4.1.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export-dsa-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the p (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the q (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>g</p></td> +<td class="parameter_description"><p>will hold the g (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t"><code class="literal">gnutls_abstract_export_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export-dsa-raw2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export-ecc-raw2"></a><h3>gnutls_pubkey_export_ecc_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export_ecc_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will export the ECC public key's parameters found in +the given key. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>In EdDSA curves the <em class="parameter"><code>y</code></em> + parameter will be <code class="literal">NULL</code> and the other parameters +will be in the native format for the curve.</p> +<p>This function allows for <code class="literal">NULL</code> parameters since 3.4.1.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export-ecc-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold x-coordinate (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold y-coordinate (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t"><code class="literal">gnutls_abstract_export_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export-ecc-raw2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export-gost-raw2"></a><h3>gnutls_pubkey_export_gost_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export_gost_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> *digest</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-gost-paramset-t" title="enum gnutls_gost_paramset_t"><span class="type">gnutls_gost_paramset_t</span></a> *paramset</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will export the GOST public key's parameters found in +the given key. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>Note: parameters will be stored with least significant byte first. On +version 3.6.3 this was incorrectly returned in big-endian format.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export-gost-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>will hold the curve (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>paramset</p></td> +<td class="parameter_description"><p>will hold the parameters id (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x-coordinate (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y-coordinate (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t"><code class="literal">gnutls_abstract_export_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export-gost-raw2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export-ecc-raw"></a><h3>gnutls_pubkey_export_ecc_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export_ecc_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<p>This function will export the ECC public key's parameters found in +the given key. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>In EdDSA curves the <em class="parameter"><code>y</code></em> + parameter will be <code class="literal">NULL</code> and the other parameters +will be in the native format for the curve.</p> +<p>This function allows for <code class="literal">NULL</code> parameters since 3.4.1.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export-ecc-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold x-coordinate (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold y-coordinate (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export-ecc-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export-ecc-x962"></a><h3>gnutls_pubkey_export_ecc_x962 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export_ecc_x962 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *parameters</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *ecpoint</code></em>);</pre> +<p>This function will export the ECC public key's parameters found in +the given certificate. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export-ecc-x962.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>parameters</p></td> +<td class="parameter_description"><p>DER encoding of an ANSI X9.62 parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ecpoint</p></td> +<td class="parameter_description"><p>DER encoding of ANSI X9.62 ECPoint</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export-ecc-x962.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export"></a><h3>gnutls_pubkey_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will export the public key to DER or PEM format. +The contents of the exported data is the SubjectPublicKeyInfo +X.509 structure.</p> +<p>If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will +be returned.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN CERTIFICATE".</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain a certificate PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-export2"></a><h3>gnutls_pubkey_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_export2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the public key to DER or PEM format. +The contents of the exported data is the SubjectPublicKeyInfo +X.509 structure.</p> +<p>The output buffer will be allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN CERTIFICATE".</p> +<div class="refsect3"> +<a name="gnutls-pubkey-export2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain a certificate PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-export2.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-key-id"></a><h3>gnutls_pubkey_get_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_get_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will return a unique ID that depends on the public +key parameters. This ID can be used in checking whether a +certificate corresponds to the given public key.</p> +<p>If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will +be returned. The output will normally be a SHA-1 hash output, +which is 20 bytes.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-get-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be one of the flags from <a class="link" href="gnutls-x509.html#gnutls-keyid-flags-t" title="enum gnutls_keyid_flags_t"><code class="literal">gnutls_keyid_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain the key ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-get-key-id.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-openpgp-key-id"></a><h3>gnutls_pubkey_get_openpgp_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_get_openpgp_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *subkey</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-key-usage"></a><h3>gnutls_pubkey_get_key_usage ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_get_key_usage (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *usage</code></em>);</pre> +<p>This function will return the key usage of the public key.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-get-key-usage.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>usage</p></td> +<td class="parameter_description"><p>If set will return the number of bits of the parameters (may be NULL)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-get-key-usage.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-set-key-usage"></a><h3>gnutls_pubkey_set_key_usage ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_set_key_usage (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> usage</code></em>);</pre> +<p>This function will set the key usage flags of the public key. This +is only useful if the key is to be exported to a certificate or +certificate request.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-set-key-usage.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>usage</p></td> +<td class="parameter_description"><p>an ORed sequence of the GNUTLS_KEY_* elements.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-set-key-usage.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import"></a><h3>gnutls_pubkey_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);</pre> +<p>This function will import the provided public key in +a SubjectPublicKeyInfo X.509 structure to a native +<a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><code class="literal">gnutls_pubkey_t</code></a> type. The output will be stored +in <em class="parameter"><code>key</code></em> +. If the public key is PEM encoded it should have a header +of "PUBLIC KEY".</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The public key. </p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The DER or PEM encoded certificate. </p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM </p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-pkcs11-url"></a><h3>gnutls_pubkey_import_pkcs11_url()</h3> +<pre class="programlisting">#define gnutls_pubkey_import_pkcs11_url(key, url, flags) gnutls_pubkey_import_url(key, url, flags) +</pre> +<p>This function will import a PKCS 11 certificate to a <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> +structure.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-pkcs11-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A key of type <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-pkcs11-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-dsa-raw"></a><h3>gnutls_pubkey_import_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_dsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<p>This function will convert the given DSA raw parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> format. The output will be stored +in <em class="parameter"><code>key</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-dsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The structure to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>holds the p</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>holds the q</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>g</p></td> +<td class="parameter_description"><p>holds the g</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>holds the y</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-dsa-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-rsa-raw"></a><h3>gnutls_pubkey_import_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>);</pre> +<p>This function will replace the parameters in the given structure. +The new parameters should be stored in the appropriate +gnutls_datum.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-rsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>holds the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>holds the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-rsa-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an negative error code.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-ecc-x962"></a><h3>gnutls_pubkey_import_ecc_x962 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_ecc_x962 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *parameters</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *ecpoint</code></em>);</pre> +<p>This function will convert the given elliptic curve parameters to a +<a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a>. The output will be stored in <em class="parameter"><code>key</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-ecc-x962.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The structure to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>parameters</p></td> +<td class="parameter_description"><p>DER encoding of an ANSI X9.62 parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ecpoint</p></td> +<td class="parameter_description"><p>DER encoding of ANSI X9.62 ECPoint</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-ecc-x962.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-ecc-raw"></a><h3>gnutls_pubkey_import_ecc_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_ecc_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> curve</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<p>This function will convert the given elliptic curve parameters to a +<a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a>. The output will be stored in <em class="parameter"><code>key</code></em> +.</p> +<p>In EdDSA curves the <em class="parameter"><code>y</code></em> + parameter should be <code class="literal">NULL</code> and the <em class="parameter"><code>x</code></em> + parameter must +be the value in the native format for the curve.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-ecc-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The structure to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>holds the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>holds the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>holds the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-ecc-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-import-gost-raw"></a><h3>gnutls_pubkey_import_gost_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_import_gost_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> digest</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-gost-paramset-t" title="enum gnutls_gost_paramset_t"><span class="type">gnutls_gost_paramset_t</span></a> paramset</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<p>This function will convert the given GOST public key's parameters to a +<a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a>. The output will be stored in <em class="parameter"><code>key</code></em> +. <em class="parameter"><code>digest</code></em> + should be +one of GNUTLS_DIG_GOSR_94, GNUTLS_DIG_STREEBOG_256 or +GNUTLS_DIG_STREEBOG_512. If <em class="parameter"><code>paramset</code></em> + is set to GNUTLS_GOST_PARAMSET_UNKNOWN +default one will be selected depending on <em class="parameter"><code>digest</code></em> +.</p> +<p>Note: parameters should be stored with least significant byte first. On +version 3.6.3 big-endian format was used incorrectly.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-import-gost-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The structure to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>holds the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>holds the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>paramset</p></td> +<td class="parameter_description"><p>holds the parameters id</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>holds the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>holds the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-import-gost-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-encrypt-data"></a><h3>gnutls_pubkey_encrypt_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_encrypt_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *plaintext</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *ciphertext</code></em>);</pre> +<p>This function will encrypt the given data, using the public +key. On success the <em class="parameter"><code>ciphertext</code></em> + will be allocated using <code class="function">gnutls_malloc()</code>.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-encrypt-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be 0 for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>plaintext</p></td> +<td class="parameter_description"><p>The data to be encrypted</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ciphertext</p></td> +<td class="parameter_description"><p>contains the encrypted data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-encrypt-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-pubkey"></a><h3>gnutls_x509_crt_set_pubkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_pubkey (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>);</pre> +<p>This function will set the public parameters from the given public +key to the certificate. The <em class="parameter"><code>key</code></em> + can be deallocated after that.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-pubkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>holds a public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-pubkey.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-pubkey"></a><h3>gnutls_x509_crq_set_pubkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_pubkey (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>);</pre> +<p>This function will set the public parameters from the given public +key to the request. The <em class="parameter"><code>key</code></em> + can be deallocated after that.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-pubkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>holds a public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-pubkey.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-verify-hash2"></a><h3>gnutls_pubkey_verify_hash2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_verify_hash2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *hash</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +<p>This function will verify the given signed digest, using the +parameters from the public key. Note that unlike <a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-hash" title="gnutls_privkey_sign_hash ()"><code class="function">gnutls_privkey_sign_hash()</code></a>, +this function accepts a signature algorithm instead of a digest algorithm. +You can use <code class="function">gnutls_pk_to_sign()</code> to get the appropriate value.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-verify-hash2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>The signature algorithm used</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Zero or an OR list of <a class="link" href="gnutls-x509.html#gnutls-certificate-verify-flags" title="enum gnutls_certificate_verify_flags"><span class="type">gnutls_certificate_verify_flags</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash</p></td> +<td class="parameter_description"><p>holds the hash digest to be verified</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>signature</p></td> +<td class="parameter_description"><p>contains the signature</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-verify-hash2.returns"></a><h4>Returns</h4> +<p> In case of a verification failure <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS" title="GNUTLS_E_PK_SIG_VERIFY_FAILED"><code class="literal">GNUTLS_E_PK_SIG_VERIFY_FAILED</code></a> +is returned, and zero or positive code on success. For known to be insecure +signatures this function will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-SECURITY:CAPS" title="GNUTLS_E_INSUFFICIENT_SECURITY"><code class="literal">GNUTLS_E_INSUFFICIENT_SECURITY</code></a> unless +the flag <a class="link" href="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-BROKEN:CAPS" title="GNUTLS_VERIFY_ALLOW_BROKEN"><code class="literal">GNUTLS_VERIFY_ALLOW_BROKEN</code></a> is specified.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-verify-data2"></a><h3>gnutls_pubkey_verify_data2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_verify_data2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> pubkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +<p>This function will verify the given signed data, using the +parameters from the certificate.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-verify-data2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pubkey</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>The signature algorithm used</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Zero or an OR list of <a class="link" href="gnutls-x509.html#gnutls-certificate-verify-flags" title="enum gnutls_certificate_verify_flags"><span class="type">gnutls_certificate_verify_flags</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>holds the signed data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>signature</p></td> +<td class="parameter_description"><p>contains the signature</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-verify-data2.returns"></a><h4>Returns</h4> +<p> In case of a verification failure <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS" title="GNUTLS_E_PK_SIG_VERIFY_FAILED"><code class="literal">GNUTLS_E_PK_SIG_VERIFY_FAILED</code></a> +is returned, and zero or positive code on success. For known to be insecure +signatures this function will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-SECURITY:CAPS" title="GNUTLS_E_INSUFFICIENT_SECURITY"><code class="literal">GNUTLS_E_INSUFFICIENT_SECURITY</code></a> unless +the flag <a class="link" href="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-BROKEN:CAPS" title="GNUTLS_VERIFY_ALLOW_BROKEN"><code class="literal">GNUTLS_VERIFY_ALLOW_BROKEN</code></a> is specified.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-init"></a><h3>gnutls_privkey_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> *key</code></em>);</pre> +<p>This function will initialize a private key object. The object can +be used to generate, import, and perform cryptographic operations +on the associated private key.</p> +<p>Note that when the underlying private key is a PKCS<span class="type">11</span> key (i.e., +when imported with a PKCS<span class="type">11</span> URI), the limitations of <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-init" title="gnutls_pkcs11_privkey_init ()"><code class="function">gnutls_pkcs11_privkey_init()</code></a> +apply to this object as well. In versions of GnuTLS later than 3.5.11 the object +is protected using locks and a single <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><code class="literal">gnutls_privkey_t</code></a> can be re-used +by many threads. However, for performance it is recommended to utilize +one object per key per thread.</p> +<div class="refsect3"> +<a name="gnutls-privkey-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-deinit"></a><h3>gnutls_privkey_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_privkey_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>);</pre> +<p>This function will deinitialize a private key structure.</p> +<div class="refsect3"> +<a name="gnutls-privkey-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The key to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-SUBGROUP-TO-BITS:CAPS"></a><h3>GNUTLS_SUBGROUP_TO_BITS()</h3> +<pre class="programlisting">#define GNUTLS_SUBGROUP_TO_BITS(group, subgroup) (unsigned int)((subgroup<<16)|(group)) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-BITS-TO-SUBGROUP:CAPS"></a><h3>GNUTLS_BITS_TO_SUBGROUP()</h3> +<pre class="programlisting">#define GNUTLS_BITS_TO_SUBGROUP(bits) ((bits >> 16) & 0xFFFF) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-BITS-TO-GROUP:CAPS"></a><h3>GNUTLS_BITS_TO_GROUP()</h3> +<pre class="programlisting">#define GNUTLS_BITS_TO_GROUP(bits) (bits & 0xFFFF) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-BITS-HAVE-SUBGROUP:CAPS"></a><h3>GNUTLS_BITS_HAVE_SUBGROUP()</h3> +<pre class="programlisting">#define GNUTLS_BITS_HAVE_SUBGROUP(bits) ((bits) & 0xFFFF0000) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-generate"></a><h3>gnutls_privkey_generate ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_generate (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will generate a random private key. Note that this +function must be called on an initialized private key.</p> +<p>The flag <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-PROVABLE:CAPS"><code class="literal">GNUTLS_PRIVKEY_FLAG_PROVABLE</code></a> +instructs the key generation process to use algorithms like Shawe-Taylor +(from FIPS PUB186-4) which generate provable parameters out of a seed +for RSA and DSA keys. See <a class="link" href="gnutls-abstract.html#gnutls-privkey-generate2" title="gnutls_privkey_generate2 ()"><code class="function">gnutls_privkey_generate2()</code></a> for more +information.</p> +<p>Note that when generating an elliptic curve key, the curve +can be substituted in the place of the bits parameter using the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CURVE-TO-BITS:CAPS" title="GNUTLS_CURVE_TO_BITS()"><code class="function">GNUTLS_CURVE_TO_BITS()</code></a> macro. The input to the macro is any curve from +<a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><code class="literal">gnutls_ecc_curve_t</code></a>.</p> +<p>For DSA keys, if the subgroup size needs to be specified check +the <a class="link" href="gnutls-abstract.html#GNUTLS-SUBGROUP-TO-BITS:CAPS" title="GNUTLS_SUBGROUP_TO_BITS()"><code class="function">GNUTLS_SUBGROUP_TO_BITS()</code></a> macro.</p> +<p>It is recommended to do not set the number of <em class="parameter"><code>bits</code></em> + directly, use <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-pk-bits" title="gnutls_sec_param_to_pk_bits ()"><code class="function">gnutls_sec_param_to_pk_bits()</code></a> instead .</p> +<p>See also <a class="link" href="gnutls-abstract.html#gnutls-privkey-generate2" title="gnutls_privkey_generate2 ()"><code class="function">gnutls_privkey_generate2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-privkey-generate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>An initialized private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>is one of the algorithms in <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>the size of the parameters to generate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Must be zero or flags from <a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t"><span class="type">gnutls_privkey_flags_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-generate.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-generate2"></a><h3>gnutls_privkey_generate2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_generate2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-x509.html#gnutls-keygen-data-st" title="gnutls_keygen_data_st"><span class="type">gnutls_keygen_data_st</span></a> *data</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> data_size</code></em>);</pre> +<p>This function will generate a random private key. Note that this +function must be called on an initialized private key.</p> +<p>The flag <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-PROVABLE:CAPS"><code class="literal">GNUTLS_PRIVKEY_FLAG_PROVABLE</code></a> +instructs the key generation process to use algorithms like Shawe-Taylor +(from FIPS PUB186-4) which generate provable parameters out of a seed +for RSA and DSA keys. On DSA keys the PQG parameters are generated using the +seed, while on RSA the two primes. To specify an explicit seed +(by default a random seed is used), use the <em class="parameter"><code>data</code></em> + with a <a class="link" href="gnutls-x509.html#GNUTLS-KEYGEN-SEED:CAPS"><code class="literal">GNUTLS_KEYGEN_SEED</code></a> +type.</p> +<p>Note that when generating an elliptic curve key, the curve +can be substituted in the place of the bits parameter using the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CURVE-TO-BITS:CAPS" title="GNUTLS_CURVE_TO_BITS()"><code class="function">GNUTLS_CURVE_TO_BITS()</code></a> macro.</p> +<p>To export the generated keys in memory or in files it is recommended to use the +PKCS#8 form as it can handle all key types, and can store additional parameters +such as the seed, in case of provable RSA or DSA keys. +Generated keys can be exported in memory using <a class="link" href="gnutls-abstract.html#gnutls-privkey-export-x509" title="gnutls_privkey_export_x509 ()"><code class="function">gnutls_privkey_export_x509()</code></a>, +and then with <a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export2-pkcs8" title="gnutls_x509_privkey_export2_pkcs8 ()"><code class="function">gnutls_x509_privkey_export2_pkcs8()</code></a>.</p> +<p>If key generation is part of your application, avoid setting the number +of bits directly, and instead use <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-pk-bits" title="gnutls_sec_param_to_pk_bits ()"><code class="function">gnutls_sec_param_to_pk_bits()</code></a>. +That way the generated keys will adapt to the security levels +of the underlying GnuTLS library.</p> +<div class="refsect3"> +<a name="gnutls-privkey-generate2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>is one of the algorithms in <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>the size of the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Must be zero or flags from <a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t"><span class="type">gnutls_privkey_flags_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>Allow specifying <a class="link" href="gnutls-x509.html#gnutls-keygen-data-st" title="gnutls_keygen_data_st"><code class="literal">gnutls_keygen_data_st</code></a> types such as the seed to be used.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>The number of <em class="parameter"><code>data</code></em> +available.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-generate2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-set-spki"></a><h3>gnutls_privkey_set_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_set_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set the public key information. +The provided <em class="parameter"><code>spki</code></em> + must be initialized.</p> +<div class="refsect3"> +<a name="gnutls-privkey-set-spki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>privkey</p></td> +<td class="parameter_description"><p>a public key of type <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>a SubjectPublicKeyInfo structure of type <span class="type">gnutls_privkey_spki_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-set-spki.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-get-spki"></a><h3>gnutls_privkey_get_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_get_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the public key information if available. +The provided <em class="parameter"><code>spki</code></em> + must be initialized.</p> +<div class="refsect3"> +<a name="gnutls-privkey-get-spki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>privkey</p></td> +<td class="parameter_description"><p>a public key of type <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>a SubjectPublicKeyInfo structure of type <span class="type">gnutls_privkey_spki_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-get-spki.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-verify-seed"></a><h3>gnutls_privkey_verify_seed ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_verify_seed (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> Param2</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *seed</code></em>, + <em class="parameter"><code><span class="type">size_t</span> seed_size</code></em>);</pre> +<p>This function will verify that the given private key was generated from +the provided seed.</p> +<div class="refsect3"> +<a name="gnutls-privkey-verify-seed.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>it contains the digest algorithm used for key generation (if applicable)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed</p></td> +<td class="parameter_description"><p>the seed of the key to be checked with</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed_size</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>seed</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-verify-seed.returns"></a><h4>Returns</h4> +<p> In case of a verification failure <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PRIVKEY-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_PRIVKEY_VERIFICATION_ERROR"><code class="literal">GNUTLS_E_PRIVKEY_VERIFICATION_ERROR</code></a> +is returned, and zero or positive code on success.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-get-seed"></a><h3>gnutls_privkey_get_seed ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_get_seed (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> *Param2</code></em>, + <em class="parameter"><code><span class="type">void</span> *seed</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *seed_size</code></em>);</pre> +<p>This function will return the seed that was used to generate the +given private key. That function will succeed only if the key was generated +as a provable key.</p> +<div class="refsect3"> +<a name="gnutls-privkey-get-seed.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>if non-NULL it will contain the digest algorithm used for key generation (if applicable)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed</p></td> +<td class="parameter_description"><p>where seed will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed_size</p></td> +<td class="parameter_description"><p>originally holds the size of <em class="parameter"><code>seed</code></em> +, will be updated with actual size</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-get-seed.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-verify-params"></a><h3>gnutls_privkey_verify_params ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_verify_params (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>);</pre> +<p>This function will verify the private key parameters.</p> +<div class="refsect3"> +<a name="gnutls-privkey-verify-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-verify-params.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-set-flags"></a><h3>gnutls_privkey_set_flags ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_privkey_set_flags (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set flags for the specified private key, after +it is generated. Currently this is useful for the <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-EXPORT-COMPAT:CAPS"><code class="literal">GNUTLS_PRIVKEY_FLAG_EXPORT_COMPAT</code></a> +to allow exporting a "provable" private key in backwards compatible way.</p> +<div class="refsect3"> +<a name="gnutls-privkey-set-flags.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A key of type <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from the <code class="literal">gnutls_privkey_flags</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-set-pin-function"></a><h3>gnutls_privkey_set_pin_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_privkey_set_pin_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +<p>This function will set a callback function to be used when +required to access the object. This function overrides any other +global PIN functions.</p> +<p>Note that this function must be called right after initialization +to have effect.</p> +<div class="refsect3"> +<a name="gnutls-privkey-set-pin-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A key of type <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fn</p></td> +<td class="parameter_description"><p>the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>data associated with the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-get-pk-algorithm"></a><h3>gnutls_privkey_get_pk_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_get_pk_algorithm (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<p>This function will return the public key algorithm of a private +key and if possible will return a number of bits that indicates +the security parameter of the key.</p> +<div class="refsect3"> +<a name="gnutls-privkey-get-pk-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>If set will return the number of bits of the parameters (may be NULL)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-get-pk-algorithm.returns"></a><h4>Returns</h4> +<p> a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on +success, or a negative error code on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-status"></a><h3>gnutls_privkey_status ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_status (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>);</pre> +<p>Checks the status of the private key token. This function +is an actual wrapper over <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-status" title="gnutls_pkcs11_privkey_status ()"><code class="function">gnutls_pkcs11_privkey_status()</code></a>, and +if the private key is a PKCS <span class="type">11</span> token it will check whether +it is inserted or not.</p> +<div class="refsect3"> +<a name="gnutls-privkey-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-status.returns"></a><h4>Returns</h4> +<p> this function will return non-zero if the token +holding the private key is still available (inserted), and zero otherwise.</p> +</div> +<p class="since">Since: 3.1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-pkcs11"></a><h3>gnutls_privkey_import_pkcs11 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_pkcs11 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given private key to the abstract +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type.</p> +<p>The <a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> object must not be deallocated +during the lifetime of this structure.</p> +<p><em class="parameter"><code>flags</code></em> + might be zero or one of <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-IMPORT-AUTO-RELEASE:CAPS"><code class="literal">GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE</code></a> +and <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-IMPORT-COPY:CAPS"><code class="literal">GNUTLS_PRIVKEY_IMPORT_COPY</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-pkcs11.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The private key to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags for the import</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-pkcs11.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-x509"></a><h3>gnutls_privkey_import_x509 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_x509 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given private key to the abstract +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type.</p> +<p>The <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> object must not be deallocated +during the lifetime of this structure.</p> +<p><em class="parameter"><code>flags</code></em> + might be zero or one of <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-IMPORT-AUTO-RELEASE:CAPS"><code class="literal">GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE</code></a> +and <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-IMPORT-COPY:CAPS"><code class="literal">GNUTLS_PRIVKEY_IMPORT_COPY</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-x509.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The private key to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags for the import</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-x509.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-openpgp"></a><h3>gnutls_privkey_import_openpgp ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_openpgp (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function is no-op.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-openpgp.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The private key to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags for the import</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-openpgp.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-x509"></a><h3>gnutls_privkey_export_x509 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_x509 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> *key</code></em>);</pre> +<p>Converts the given abstract private key to a <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> +type. The abstract key must be of type <a class="link" href="gnutls-gnutls.html#GNUTLS-PRIVKEY-X509:CAPS"><code class="literal">GNUTLS_PRIVKEY_X509</code></a>. The input +<em class="parameter"><code>key</code></em> + must not be initialized. The key returned in <em class="parameter"><code>key</code></em> + should be deinitialized +using <a class="link" href="gnutls-x509.html#gnutls-x509-privkey-deinit" title="gnutls_x509_privkey_deinit ()"><code class="function">gnutls_x509_privkey_deinit()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-x509.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Location for the key to be exported.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-x509.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-openpgp"></a><h3>gnutls_privkey_export_openpgp ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_openpgp (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> *key</code></em>);</pre> +<p>This function is no-op.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-openpgp.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Location for the key to be exported.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-openpgp.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-pkcs11"></a><h3>gnutls_privkey_export_pkcs11 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_pkcs11 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> *key</code></em>);</pre> +<p>Converts the given abstract private key to a <a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> +type. The key must be of type <a class="link" href="gnutls-gnutls.html#GNUTLS-PRIVKEY-PKCS11:CAPS"><code class="literal">GNUTLS_PRIVKEY_PKCS11</code></a>. The key +returned in <em class="parameter"><code>key</code></em> + must be deinitialized with +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-deinit" title="gnutls_pkcs11_privkey_deinit ()"><code class="function">gnutls_pkcs11_privkey_deinit()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-pkcs11.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Location for the key to be exported.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-pkcs11.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-openpgp-raw"></a><h3>gnutls_privkey_import_openpgp_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_openpgp_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre> +<p>This function is no-op.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-openpgp-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The private key data to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>The format of the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>keyid</p></td> +<td class="parameter_description"><p>The key id to use (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>A password (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-openpgp-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-x509-raw"></a><h3>gnutls_privkey_import_x509_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_x509_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given private key to the abstract +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type. </p> +<p>The supported formats are basic unencrypted key, PKCS8, PKCS12, +TSS2, and the openssl format.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-x509-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The private key data to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>The format of the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>A password (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>an ORed sequence of gnutls_pkcs_encrypt_flags_t</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-x509-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-tpm-raw"></a><h3>gnutls_privkey_import_tpm_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_tpm_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *fdata</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-tpm.html#gnutls-tpmkey-fmt-t" title="enum gnutls_tpmkey_fmt_t"><span class="type">gnutls_tpmkey_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *srk_password</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *key_password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given private key to the abstract +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type. </p> +<p>With respect to passwords the same as in <a class="link" href="gnutls-abstract.html#gnutls-privkey-import-tpm-url" title="gnutls_privkey_import_tpm_url ()"><code class="function">gnutls_privkey_import_tpm_url()</code></a> apply.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-tpm-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fdata</p></td> +<td class="parameter_description"><p>The TPM key to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>The format of the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>srk_password</p></td> +<td class="parameter_description"><p>The password for the SRK key (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_password</p></td> +<td class="parameter_description"><p>A password for the key (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-tpm-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-tpm-url"></a><h3>gnutls_privkey_import_tpm_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_tpm_url (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *srk_password</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *key_password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given private key to the abstract +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type.</p> +<p>Note that unless <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-DISABLE-CALLBACKS:CAPS"><code class="literal">GNUTLS_PRIVKEY_DISABLE_CALLBACKS</code></a> +is specified, if incorrect (or NULL) passwords are given +the PKCS11 callback functions will be used to obtain the +correct passwords. Otherwise if the SRK password is wrong +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-SRK-PASSWORD-ERROR:CAPS" title="GNUTLS_E_TPM_SRK_PASSWORD_ERROR"><code class="literal">GNUTLS_E_TPM_SRK_PASSWORD_ERROR</code></a> is returned and if the key password +is wrong or not provided then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-KEY-PASSWORD-ERROR:CAPS" title="GNUTLS_E_TPM_KEY_PASSWORD_ERROR"><code class="literal">GNUTLS_E_TPM_KEY_PASSWORD_ERROR</code></a> +is returned.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-tpm-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>The URL of the TPM key to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>srk_password</p></td> +<td class="parameter_description"><p>The password for the SRK key (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_password</p></td> +<td class="parameter_description"><p>A password for the key (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of the GNUTLS_PRIVKEY_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-tpm-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-url"></a><h3>gnutls_privkey_import_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_url (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import a PKCS11 or TPM URL as a +private key. The supported URL types can be checked +using <a class="link" href="gnutls-gnutls.html#gnutls-url-is-supported" title="gnutls_url_is_supported ()"><code class="function">gnutls_url_is_supported()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A key of type <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-pkcs11-url"></a><h3>gnutls_privkey_import_pkcs11_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_pkcs11_url (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>);</pre> +<p>This function will import a PKCS 11 private key to a <span class="type">gnutls_private_key_t</span> +type.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-pkcs11-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A key of type <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-pkcs11-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-ext"></a><h3>gnutls_privkey_import_ext ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_ext (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> pk</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-func" title="gnutls_privkey_sign_func ()"><span class="type">gnutls_privkey_sign_func</span></a> sign_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-func" title="gnutls_privkey_decrypt_func ()"><span class="type">gnutls_privkey_decrypt_func</span></a> decrypt_func</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will associate the given callbacks with the +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type. At least one of the two callbacks +must be non-null.</p> +<p>Note that the signing function is supposed to "raw" sign data, i.e., +without any hashing or preprocessing. In case of RSA the DigestInfo +will be provided, and the signing function is expected to do the PKCS #1 +1.5 padding and the exponentiation.</p> +<p>See also <a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext3" title="gnutls_privkey_import_ext3 ()"><code class="function">gnutls_privkey_import_ext3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-ext.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pk</p></td> +<td class="parameter_description"><p>The public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>private data to be provided to the callbacks</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sign_func</p></td> +<td class="parameter_description"><p>callback for signature operations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>decrypt_func</p></td> +<td class="parameter_description"><p>callback for decryption operations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags for the import</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-ext.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-ext2"></a><h3>gnutls_privkey_import_ext2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_ext2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> pk</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-func" title="gnutls_privkey_sign_func ()"><span class="type">gnutls_privkey_sign_func</span></a> sign_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-func" title="gnutls_privkey_decrypt_func ()"><span class="type">gnutls_privkey_decrypt_func</span></a> decrypt_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-deinit-func" title="gnutls_privkey_deinit_func ()"><span class="type">gnutls_privkey_deinit_func</span></a> deinit_func</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will associate the given callbacks with the +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type. At least one of the two callbacks +must be non-null. If a deinitialization function is provided +then flags is assumed to contain <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-IMPORT-AUTO-RELEASE:CAPS"><code class="literal">GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE</code></a>.</p> +<p>Note that the signing function is supposed to "raw" sign data, i.e., +without any hashing or preprocessing. In case of RSA the DigestInfo +will be provided, and the signing function is expected to do the PKCS #1 +1.5 padding and the exponentiation.</p> +<p>See also <a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext3" title="gnutls_privkey_import_ext3 ()"><code class="function">gnutls_privkey_import_ext3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-ext2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pk</p></td> +<td class="parameter_description"><p>The public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>private data to be provided to the callbacks</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sign_fn</p></td> +<td class="parameter_description"><p>callback for signature operations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>decrypt_fn</p></td> +<td class="parameter_description"><p>callback for decryption operations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit_fn</p></td> +<td class="parameter_description"><p>a deinitialization function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags for the import</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-ext2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-ext3"></a><h3>gnutls_privkey_import_ext3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_ext3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-func" title="gnutls_privkey_sign_func ()"><span class="type">gnutls_privkey_sign_func</span></a> sign_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-func" title="gnutls_privkey_decrypt_func ()"><span class="type">gnutls_privkey_decrypt_func</span></a> decrypt_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-deinit-func" title="gnutls_privkey_deinit_func ()"><span class="type">gnutls_privkey_deinit_func</span></a> deinit_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-info-func" title="gnutls_privkey_info_func ()"><span class="type">gnutls_privkey_info_func</span></a> info_func</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will associate the given callbacks with the +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type. At least one of the two callbacks +must be non-null. If a deinitialization function is provided +then flags is assumed to contain <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-IMPORT-AUTO-RELEASE:CAPS"><code class="literal">GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE</code></a>.</p> +<p>Note that the signing function is supposed to "raw" sign data, i.e., +without any hashing or preprocessing. In case of RSA the DigestInfo +will be provided, and the signing function is expected to do the PKCS #1 +1.5 padding and the exponentiation.</p> +<p>The <em class="parameter"><code>info_fn</code></em> + must provide information on the algorithms supported by +this private key, and should support the flags <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-PK-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_PK_ALGO"><code class="literal">GNUTLS_PRIVKEY_INFO_PK_ALGO</code></a> and +<a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-SIGN-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_SIGN_ALGO"><code class="literal">GNUTLS_PRIVKEY_INFO_SIGN_ALGO</code></a>. It must return -1 on unknown flags.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-ext3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>private data to be provided to the callbacks</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sign_fn</p></td> +<td class="parameter_description"><p>callback for signature operations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>decrypt_fn</p></td> +<td class="parameter_description"><p>callback for decryption operations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit_fn</p></td> +<td class="parameter_description"><p>a deinitialization function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>info_fn</p></td> +<td class="parameter_description"><p>returns info about the public key algorithm (should not be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags for the import</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-ext3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-ext4"></a><h3>gnutls_privkey_import_ext4 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_ext4 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data-func" title="gnutls_privkey_sign_data_func ()"><span class="type">gnutls_privkey_sign_data_func</span></a> sign_data_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-hash-func" title="gnutls_privkey_sign_hash_func ()"><span class="type">gnutls_privkey_sign_hash_func</span></a> sign_hash_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-func" title="gnutls_privkey_decrypt_func ()"><span class="type">gnutls_privkey_decrypt_func</span></a> decrypt_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-deinit-func" title="gnutls_privkey_deinit_func ()"><span class="type">gnutls_privkey_deinit_func</span></a> deinit_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-privkey-info-func" title="gnutls_privkey_info_func ()"><span class="type">gnutls_privkey_info_func</span></a> info_func</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will associate the given callbacks with the +<a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> type. At least one of the callbacks +must be non-null. If a deinitialization function is provided +then flags is assumed to contain <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-IMPORT-AUTO-RELEASE:CAPS"><code class="literal">GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE</code></a>.</p> +<p>Note that in contrast with the signing function of +<a class="link" href="gnutls-abstract.html#gnutls-privkey-import-ext3" title="gnutls_privkey_import_ext3 ()"><code class="function">gnutls_privkey_import_ext3()</code></a>, the signing functions provided to this +function take explicitly the signature algorithm as parameter and +different functions are provided to sign the data and hashes.</p> +<p>The <em class="parameter"><code>sign_hash_fn</code></em> + is to be called to sign pre-hashed data. The input +to the callback is the output of the hash (such as SHA256) corresponding +to the signature algorithm. For RSA PKCS#1 signatures, the signature +algorithm can be set to <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-RSA-RAW:CAPS"><code class="literal">GNUTLS_SIGN_RSA_RAW</code></a>, and in that case the data +should be handled as if they were an RSA PKCS#1 DigestInfo structure.</p> +<p>The <em class="parameter"><code>sign_data_fn</code></em> + is to be called to sign data. The input data will be +he data to be signed (and hashed), with the provided signature +algorithm. This function is to be used for signature algorithms like +Ed25519 which cannot take pre-hashed data as input.</p> +<p>When both <em class="parameter"><code>sign_data_fn</code></em> + and <em class="parameter"><code>sign_hash_fn</code></em> + functions are provided they +must be able to operate on all the supported signature algorithms, +unless prohibited by the type of the algorithm (e.g., as with Ed25519).</p> +<p>The <em class="parameter"><code>info_fn</code></em> + must provide information on the signature algorithms supported by +this private key, and should support the flags <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-PK-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_PK_ALGO"><code class="literal">GNUTLS_PRIVKEY_INFO_PK_ALGO</code></a>, +<a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-HAVE-SIGN-ALGO:CAPS" title="GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO"><code class="literal">GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO</code></a> and <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-PK-ALGO-BITS:CAPS" title="GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS"><code class="literal">GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS</code></a>. +It must return -1 on unknown flags.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-ext4.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>private data to be provided to the callbacks</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sign_data_fn</p></td> +<td class="parameter_description"><p>callback for signature operations (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sign_hash_fn</p></td> +<td class="parameter_description"><p>callback for signature operations (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>decrypt_fn</p></td> +<td class="parameter_description"><p>callback for decryption operations (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit_fn</p></td> +<td class="parameter_description"><p>a deinitialization function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>info_fn</p></td> +<td class="parameter_description"><p>returns info about the public key algorithm (should not be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags for the import</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-ext4.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-dsa-raw"></a><h3>gnutls_privkey_import_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_dsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>);</pre> +<p>This function will convert the given DSA raw parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> format. The output will be stored +in <em class="parameter"><code>key</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-dsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The structure to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>holds the p</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>holds the q</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>g</p></td> +<td class="parameter_description"><p>holds the g</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>holds the y (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>holds the x</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-dsa-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-rsa-raw"></a><h3>gnutls_privkey_import_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *d</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *u</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e1</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e2</code></em>);</pre> +<p>This function will convert the given RSA raw parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> format. The output will be stored in +<em class="parameter"><code>key</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-rsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The structure to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>holds the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>holds the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>d</p></td> +<td class="parameter_description"><p>holds the private exponent (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>holds the first prime (p)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>holds the second prime (q)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>u</p></td> +<td class="parameter_description"><p>holds the coefficient (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e1</p></td> +<td class="parameter_description"><p>holds e1 = d mod (p-1) (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e2</p></td> +<td class="parameter_description"><p>holds e2 = d mod (q-1) (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-rsa-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-ecc-raw"></a><h3>gnutls_privkey_import_ecc_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_ecc_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> curve</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *k</code></em>);</pre> +<p>This function will convert the given elliptic curve parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> format. The output will be stored +in <em class="parameter"><code>key</code></em> +.</p> +<p>In EdDSA curves the <em class="parameter"><code>y</code></em> + parameter should be <code class="literal">NULL</code> and the <em class="parameter"><code>x</code></em> + and <em class="parameter"><code>k</code></em> + parameters +must be in the native format for the curve.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-ecc-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>holds the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>holds the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>holds the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>k</p></td> +<td class="parameter_description"><p>holds the k (private key)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-ecc-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-import-gost-raw"></a><h3>gnutls_privkey_import_gost_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_import_gost_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> digest</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-gost-paramset-t" title="enum gnutls_gost_paramset_t"><span class="type">gnutls_gost_paramset_t</span></a> paramset</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *k</code></em>);</pre> +<p>This function will convert the given GOST private key's parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> format. The output will be stored +in <em class="parameter"><code>key</code></em> +. <em class="parameter"><code>digest</code></em> + should be one of GNUTLS_DIG_GOSR_94, +GNUTLS_DIG_STREEBOG_256 or GNUTLS_DIG_STREEBOG_512. If <em class="parameter"><code>paramset</code></em> + is set to +GNUTLS_GOST_PARAMSET_UNKNOWN default one will be selected depending on +<em class="parameter"><code>digest</code></em> +.</p> +<p>Note: parameters should be stored with least significant byte first. On +version 3.6.3 big-endian format was used incorrectly.</p> +<div class="refsect3"> +<a name="gnutls-privkey-import-gost-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>holds the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>holds the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>paramset</p></td> +<td class="parameter_description"><p>holds the GOST parameter set ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>holds the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>holds the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>k</p></td> +<td class="parameter_description"><p>holds the k (private key)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-import-gost-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-sign-data"></a><h3>gnutls_privkey_sign_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_sign_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> signer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> hash</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +<p>This function will sign the given data using a signature algorithm +supported by the private key. Signature algorithms are always used +together with a hash functions. Different hash functions may be +used for the RSA algorithm, but only the SHA family for the DSA keys.</p> +<p>You may use <a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-preferred-hash-algorithm" title="gnutls_pubkey_get_preferred_hash_algorithm ()"><code class="function">gnutls_pubkey_get_preferred_hash_algorithm()</code></a> to determine +the hash algorithm.</p> +<div class="refsect3"> +<a name="gnutls-privkey-sign-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>signer</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash</p></td> +<td class="parameter_description"><p>should be a digest algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Zero or one of <a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t"><code class="literal">gnutls_privkey_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>holds the data to be signed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>signature</p></td> +<td class="parameter_description"><p>will contain the signature allocated with <code class="function">gnutls_malloc()</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-sign-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-sign-data2"></a><h3>gnutls_privkey_sign_data2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_sign_data2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> signer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +<p>This function will sign the given data using the specified signature +algorithm. This function is an enhancement of <a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data" title="gnutls_privkey_sign_data ()"><code class="function">gnutls_privkey_sign_data()</code></a>, +as it allows utilizing a alternative signature algorithm where possible +(e.g, use an RSA key with RSA-PSS).</p> +<div class="refsect3"> +<a name="gnutls-privkey-sign-data2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>signer</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>The signature algorithm used</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Zero or one of <a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t"><code class="literal">gnutls_privkey_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>holds the data to be signed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>signature</p></td> +<td class="parameter_description"><p>will contain the signature allocated with <code class="function">gnutls_malloc()</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-sign-data2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-sign-raw-data"></a><h3>gnutls_privkey_sign_raw_data()</h3> +<pre class="programlisting">#define gnutls_privkey_sign_raw_data(key, flags, data, sig)</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-sign-hash"></a><h3>gnutls_privkey_sign_hash ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_sign_hash (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> signer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> hash_algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *hash_data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +<p>This function will sign the given hashed data using a signature algorithm +supported by the private key. Signature algorithms are always used +together with a hash functions. Different hash functions may be +used for the RSA algorithm, but only SHA-XXX for the DSA keys.</p> +<p>You may use <a class="link" href="gnutls-abstract.html#gnutls-pubkey-get-preferred-hash-algorithm" title="gnutls_pubkey_get_preferred_hash_algorithm ()"><code class="function">gnutls_pubkey_get_preferred_hash_algorithm()</code></a> to determine +the hash algorithm.</p> +<p>The flags may be <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-SIGN-FLAG-TLS1-RSA:CAPS"><code class="literal">GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA</code></a> or <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-SIGN-FLAG-RSA-PSS:CAPS"><code class="literal">GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS</code></a>. +In the former case this function will ignore <em class="parameter"><code>hash_algo</code></em> + and perform a raw PKCS1 signature, +and in the latter an RSA-PSS signature will be generated.</p> +<p>Note that, not all algorithm support signing already hashed data. When +signing with Ed25519, <a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data" title="gnutls_privkey_sign_data ()"><code class="function">gnutls_privkey_sign_data()</code></a> should be used.</p> +<div class="refsect3"> +<a name="gnutls-privkey-sign-hash.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>signer</p></td> +<td class="parameter_description"><p>Holds the signer's key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash_algo</p></td> +<td class="parameter_description"><p>The hash algorithm used</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Zero or one of <a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t"><code class="literal">gnutls_privkey_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash_data</p></td> +<td class="parameter_description"><p>holds the data to be signed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>signature</p></td> +<td class="parameter_description"><p>will contain newly allocated signature</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-sign-hash.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-sign-hash2"></a><h3>gnutls_privkey_sign_hash2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_sign_hash2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> signer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *hash_data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +<p>This function will sign the given hashed data using the specified signature +algorithm. This function is an enhancement of <a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-hash" title="gnutls_privkey_sign_hash ()"><code class="function">gnutls_privkey_sign_hash()</code></a>, +as it allows utilizing a alternative signature algorithm where possible +(e.g, use an RSA key with RSA-PSS).</p> +<p>The flags may be <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-SIGN-FLAG-TLS1-RSA:CAPS"><code class="literal">GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA</code></a>. +In that case this function will ignore <em class="parameter"><code>hash_algo</code></em> + and perform a raw PKCS1 signature. +Note that this flag is supported since 3.6.9.</p> +<p>Note also that, not all algorithm support signing already hashed data. When +signing with Ed25519, <a class="link" href="gnutls-abstract.html#gnutls-privkey-sign-data2" title="gnutls_privkey_sign_data2 ()"><code class="function">gnutls_privkey_sign_data2()</code></a> should be used instead.</p> +<div class="refsect3"> +<a name="gnutls-privkey-sign-hash2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>signer</p></td> +<td class="parameter_description"><p>Holds the signer's key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>The signature algorithm used</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Zero or one of <a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t"><code class="literal">gnutls_privkey_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash_data</p></td> +<td class="parameter_description"><p>holds the data to be signed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>signature</p></td> +<td class="parameter_description"><p>will contain newly allocated signature</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-sign-hash2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-decrypt-data"></a><h3>gnutls_privkey_decrypt_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_decrypt_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *ciphertext</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *plaintext</code></em>);</pre> +<p>This function will decrypt the given data using the algorithm +supported by the private key.</p> +<div class="refsect3"> +<a name="gnutls-privkey-decrypt-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ciphertext</p></td> +<td class="parameter_description"><p>holds the data to be decrypted</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>plaintext</p></td> +<td class="parameter_description"><p>will contain the decrypted data, allocated with <code class="function">gnutls_malloc()</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-decrypt-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-decrypt-data2"></a><h3>gnutls_privkey_decrypt_data2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_decrypt_data2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *ciphertext</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *plaintext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> plaintext_size</code></em>);</pre> +<p>This function will decrypt the given data using the algorithm +supported by the private key. Unlike with <a class="link" href="gnutls-abstract.html#gnutls-privkey-decrypt-data" title="gnutls_privkey_decrypt_data ()"><code class="function">gnutls_privkey_decrypt_data()</code></a> +this function operates in constant time and constant memory access.</p> +<div class="refsect3"> +<a name="gnutls-privkey-decrypt-data2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ciphertext</p></td> +<td class="parameter_description"><p>holds the data to be decrypted</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>plaintext</p></td> +<td class="parameter_description"><p>a preallocated buffer that will be filled with the plaintext</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>plaintext_size</p></td> +<td class="parameter_description"><p>in/out size of the plaintext</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-decrypt-data2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-rsa-raw"></a><h3>gnutls_privkey_export_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *d</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *u</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e1</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e2</code></em>);</pre> +<p>This function will export the RSA private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum. For +EdDSA keys, the <em class="parameter"><code>y</code></em> + value should be <code class="literal">NULL</code>.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-rsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>will hold the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>will hold the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>d</p></td> +<td class="parameter_description"><p>will hold the private exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the first prime (p)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the second prime (q)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>u</p></td> +<td class="parameter_description"><p>will hold the coefficient</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e1</p></td> +<td class="parameter_description"><p>will hold e1 = d mod (p-1)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e2</p></td> +<td class="parameter_description"><p>will hold e2 = d mod (q-1)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-rsa-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-rsa-raw2"></a><h3>gnutls_privkey_export_rsa_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_rsa_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *d</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *u</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e1</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e2</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will export the RSA private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-rsa-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>will hold the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>will hold the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>d</p></td> +<td class="parameter_description"><p>will hold the private exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the first prime (p)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the second prime (q)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>u</p></td> +<td class="parameter_description"><p>will hold the coefficient</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e1</p></td> +<td class="parameter_description"><p>will hold e1 = d mod (p-1)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e2</p></td> +<td class="parameter_description"><p>will hold e2 = d mod (q-1)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t"><code class="literal">gnutls_abstract_export_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-rsa-raw2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-dsa-raw"></a><h3>gnutls_privkey_export_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_dsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>);</pre> +<p>This function will export the DSA private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-dsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the p</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the q</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>g</p></td> +<td class="parameter_description"><p>will hold the g</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-dsa-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-dsa-raw2"></a><h3>gnutls_privkey_export_dsa_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_dsa_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will export the DSA private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-dsa-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the p</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the q</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>g</p></td> +<td class="parameter_description"><p>will hold the g</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t"><code class="literal">gnutls_abstract_export_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-dsa-raw2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-ecc-raw"></a><h3>gnutls_privkey_export_ecc_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_ecc_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *k</code></em>);</pre> +<p>This function will export the ECC private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>In EdDSA curves the <em class="parameter"><code>y</code></em> + parameter will be <code class="literal">NULL</code> and the other parameters +will be in the native format for the curve.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-ecc-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>k</p></td> +<td class="parameter_description"><p>will hold the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-ecc-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-ecc-raw2"></a><h3>gnutls_privkey_export_ecc_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_ecc_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *k</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will export the ECC private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>In EdDSA curves the <em class="parameter"><code>y</code></em> + parameter will be <code class="literal">NULL</code> and the other parameters +will be in the native format for the curve.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-ecc-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>k</p></td> +<td class="parameter_description"><p>will hold the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t"><code class="literal">gnutls_abstract_export_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-ecc-raw2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-export-gost-raw2"></a><h3>gnutls_privkey_export_gost_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_privkey_export_gost_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> *digest</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-gost-paramset-t" title="enum gnutls_gost_paramset_t"><span class="type">gnutls_gost_paramset_t</span></a> *paramset</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *k</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will export the GOST private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>Note: parameters will be stored with least significant byte first. On +version 3.6.3 this was incorrectly returned in big-endian format.</p> +<div class="refsect3"> +<a name="gnutls-privkey-export-gost-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>will hold the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>paramset</p></td> +<td class="parameter_description"><p>will hold the GOST parameter set ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>k</p></td> +<td class="parameter_description"><p>will hold the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-abstract.html#gnutls-abstract-export-flags-t" title="enum gnutls_abstract_export_flags_t"><code class="literal">gnutls_abstract_export_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-privkey-export-gost-raw2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-privkey-sign"></a><h3>gnutls_x509_crt_privkey_sign ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_privkey_sign (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> issuer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> issuer_key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> dig</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will sign the certificate with the issuer's private key, and +will copy the issuer's information into the certificate.</p> +<p>This must be the last step in a certificate generation since all +the previously set parameters are now signed.</p> +<p>A known limitation of this function is, that a newly-signed certificate will not +be fully functional (e.g., for signature verification), until it +is exported an re-imported.</p> +<p>After GnuTLS 3.6.1 the value of <em class="parameter"><code>dig</code></em> + may be <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-UNKNOWN:CAPS"><code class="literal">GNUTLS_DIG_UNKNOWN</code></a>, +and in that case, a suitable but reasonable for the key algorithm will be selected.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-privkey-sign.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>is the certificate of the certificate issuer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer_key</p></td> +<td class="parameter_description"><p>holds the issuer's private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>The message digest to use, <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-SHA256:CAPS"><code class="literal">GNUTLS_DIG_SHA256</code></a> is a safe choice</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be 0</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-privkey-sign.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-privkey-sign"></a><h3>gnutls_x509_crl_privkey_sign ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_privkey_sign (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> issuer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> issuer_key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> dig</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will sign the CRL with the issuer's private key, and +will copy the issuer's information into the CRL.</p> +<p>This must be the last step in a certificate CRL since all +the previously set parameters are now signed.</p> +<p>A known limitation of this function is, that a newly-signed CRL will not +be fully functional (e.g., for signature verification), until it +is exported an re-imported.</p> +<p>After GnuTLS 3.6.1 the value of <em class="parameter"><code>dig</code></em> + may be <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-UNKNOWN:CAPS"><code class="literal">GNUTLS_DIG_UNKNOWN</code></a>, +and in that case, a suitable but reasonable for the key algorithm will be selected.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-privkey-sign.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>is the certificate of the certificate issuer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer_key</p></td> +<td class="parameter_description"><p>holds the issuer's private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>The message digest to use. GNUTLS_DIG_SHA256 is the safe choice unless you know what you're doing.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be 0</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-privkey-sign.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +<p>Since 2.12.0</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-privkey-sign"></a><h3>gnutls_x509_crq_privkey_sign ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_privkey_sign (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> dig</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will sign the certificate request with a private key. +This must be the same key as the one used in +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-key" title="gnutls_x509_crt_set_key ()"><code class="function">gnutls_x509_crt_set_key()</code></a> since a certificate request is self +signed.</p> +<p>This must be the last step in a certificate request generation +since all the previously set parameters are now signed.</p> +<p>A known limitation of this function is, that a newly-signed request will not +be fully functional (e.g., for signature verification), until it +is exported an re-imported.</p> +<p>After GnuTLS 3.6.1 the value of <em class="parameter"><code>dig</code></em> + may be <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-UNKNOWN:CAPS"><code class="literal">GNUTLS_DIG_UNKNOWN</code></a>, +and in that case, a suitable but reasonable for the key algorithm will be selected.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-privkey-sign.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>holds a private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>The message digest to use, i.e., <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-SHA1:CAPS"><code class="literal">GNUTLS_DIG_SHA1</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be 0</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-privkey-sign.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code. +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_FOUND"><code class="literal">GNUTLS_E_ASN1_VALUE_NOT_FOUND</code></a> is returned if you didn't set all +information in the certificate request (e.g., the version using +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-version" title="gnutls_x509_crq_set_version ()"><code class="function">gnutls_x509_crq_set_version()</code></a>).</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-import-x509"></a><h3>gnutls_pcert_import_x509 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_import_x509 (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This convenience function will import the given certificate to a +<a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> structure. The structure must be deinitialized +afterwards using <a class="link" href="gnutls-abstract.html#gnutls-pcert-deinit" title="gnutls_pcert_deinit ()"><code class="function">gnutls_pcert_deinit()</code></a>;</p> +<div class="refsect3"> +<a name="gnutls-pcert-import-x509.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcert</p></td> +<td class="parameter_description"><p>The pcert structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>The certificate to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pcert-import-x509.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-import-x509-list"></a><h3>gnutls_pcert_import_x509_list ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_import_x509_list (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *crt</code></em>, + <em class="parameter"><code><span class="type">unsigned</span> *ncrt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This convenience function will import the given certificates to an +already allocated set of <a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> structures. The structures must +be deinitialized afterwards using <a class="link" href="gnutls-abstract.html#gnutls-pcert-deinit" title="gnutls_pcert_deinit ()"><code class="function">gnutls_pcert_deinit()</code></a>. <em class="parameter"><code>pcert_list</code></em> + +should contain space for at least <em class="parameter"><code>ncrt</code></em> + elements.</p> +<p>In the case <a class="link" href="gnutls-x509.html#GNUTLS-X509-CRT-LIST-SORT:CAPS"><code class="literal">GNUTLS_X509_CRT_LIST_SORT</code></a> is specified and that +function cannot sort the list, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-LIST-UNSORTED:CAPS" title="GNUTLS_E_CERTIFICATE_LIST_UNSORTED"><code class="literal">GNUTLS_E_CERTIFICATE_LIST_UNSORTED</code></a> +will be returned. Currently sorting can fail if the list size +exceeds an internal constraint (16).</p> +<div class="refsect3"> +<a name="gnutls-pcert-import-x509-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcert_list</p></td> +<td class="parameter_description"><p>The structures to store the certificates; must not contain initialized <a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> structures.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>The certificates to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ncrt</p></td> +<td class="parameter_description"><p>The number of certificates in <em class="parameter"><code>crt</code></em> +; will be updated if necessary</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-X509-CRT-LIST-SORT:CAPS"><code class="literal">GNUTLS_X509_CRT_LIST_SORT</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pcert-import-x509-list.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-export-x509"></a><h3>gnutls_pcert_export_x509 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_export_x509 (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *crt</code></em>);</pre> +<p>Converts the given <span class="type">gnutls_pcert_t</span> type into a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a>. +This function only works if the type of <em class="parameter"><code>pcert</code></em> + is <a class="link" href="gnutls-gnutls.html#GNUTLS-CRT-X509:CAPS"><code class="literal">GNUTLS_CRT_X509</code></a>. +When successful, the value written to <em class="parameter"><code>crt</code></em> + must be freed with +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()"><code class="function">gnutls_x509_crt_deinit()</code></a> when no longer needed.</p> +<div class="refsect3"> +<a name="gnutls-pcert-export-x509.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcert</p></td> +<td class="parameter_description"><p>The pcert structure.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>An initialized <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pcert-export-x509.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-list-import-x509-raw"></a><h3>gnutls_pcert_list_import_x509_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_list_import_x509_raw (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcerts</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *pcert_max</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the provided DER or PEM encoded certificates to an +already allocated set of <a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> structures. The structures must +be deinitialized afterwards using <a class="link" href="gnutls-abstract.html#gnutls-pcert-deinit" title="gnutls_pcert_deinit ()"><code class="function">gnutls_pcert_deinit()</code></a>. <em class="parameter"><code>pcert_list</code></em> + +should contain space for at least <em class="parameter"><code>pcert_list_size</code></em> + elements.</p> +<p>If the Certificate is PEM encoded it should have a header of "X509 +CERTIFICATE", or "CERTIFICATE".</p> +<div class="refsect3"> +<a name="gnutls-pcert-list-import-x509-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcert_list</p></td> +<td class="parameter_description"><p>The structures to store the certificates; must not contain initialized <a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> structures.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pcert_list_size</p></td> +<td class="parameter_description"><p>Initially must hold the maximum number of certs. It will be updated with the number of certs available.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The certificates.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be (0) or an OR'd sequence of gnutls_certificate_import_flags.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pcert-list-import-x509-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value; if the <em class="parameter"><code>pcert</code></em> +list doesn't have enough space +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will be returned.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-list-import-x509-file"></a><h3>gnutls_pcert_list_import_x509_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_list_import_x509_file (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert_list</code></em>, + <em class="parameter"><code><span class="type">unsigned</span> *pcert_list_size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *file</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> pin_fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *pin_fn_userdata</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-import-x509-raw"></a><h3>gnutls_pcert_import_x509_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_import_x509_raw (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This convenience function will import the given certificate to a +<a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> structure. The structure must be deinitialized +afterwards using <a class="link" href="gnutls-abstract.html#gnutls-pcert-deinit" title="gnutls_pcert_deinit ()"><code class="function">gnutls_pcert_deinit()</code></a>;</p> +<div class="refsect3"> +<a name="gnutls-pcert-import-x509-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcert</p></td> +<td class="parameter_description"><p>The pcert structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>The raw certificate to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>The format of the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pcert-import-x509-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-import-openpgp-raw"></a><h3>gnutls_pcert_import_openpgp_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_import_openpgp_raw (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function is no-op.</p> +<div class="refsect3"> +<a name="gnutls-pcert-import-openpgp-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcert</p></td> +<td class="parameter_description"><p>The pcert structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>The raw certificate to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>The format of the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>keyid</p></td> +<td class="parameter_description"><p>The key ID to use (NULL for the master key)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pcert-import-openpgp-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-import-openpgp"></a><h3>gnutls_pcert_import_openpgp ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_import_openpgp (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function is no-op.</p> +<div class="refsect3"> +<a name="gnutls-pcert-import-openpgp.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcert</p></td> +<td class="parameter_description"><p>The pcert structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>The raw certificate to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pcert-import-openpgp.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-export-openpgp"></a><h3>gnutls_pcert_export_openpgp ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_export_openpgp (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> *crt</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-deinit"></a><h3>gnutls_pcert_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pcert_deinit (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>);</pre> +<p>This function will deinitialize a pcert structure.</p> +<div class="refsect3"> +<a name="gnutls-pcert-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pcert</p></td> +<td class="parameter_description"><p>The structure to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-import-rawpk"></a><h3>gnutls_pcert_import_rawpk ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_import_rawpk (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This convenience function will import (i.e. convert) the given raw +public key <em class="parameter"><code>pubkey</code></em> + into a <a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> structure. The structure +must be deinitialized afterwards using <a class="link" href="gnutls-abstract.html#gnutls-pcert-deinit" title="gnutls_pcert_deinit ()"><code class="function">gnutls_pcert_deinit()</code></a>. The +given <em class="parameter"><code>pubkey</code></em> + must not be deinitialized because it will be associated +with the given <em class="parameter"><code>pcert</code></em> + structure and will be deinitialized with it.</p> +<div class="refsect3"> +<a name="gnutls-pcert-import-rawpk.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcert</p></td> +<td class="parameter_description"><p>The pcert structure to import the data into.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pubkey</p></td> +<td class="parameter_description"><p>The raw public-key in <a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> format to be imported</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pcert-import-rawpk.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-import-rawpk-raw"></a><h3>gnutls_pcert_import_rawpk_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pcert_import_rawpk_raw (<em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *rawpubkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_usage</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This convenience function will import (i.e. convert) the given raw +public key <em class="parameter"><code>rawpubkey</code></em> + into a <a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> structure. The structure +must be deinitialized afterwards using <a class="link" href="gnutls-abstract.html#gnutls-pcert-deinit" title="gnutls_pcert_deinit ()"><code class="function">gnutls_pcert_deinit()</code></a>. +Note that the caller is responsible for freeing <em class="parameter"><code>rawpubkey</code></em> +. All necessary +values will be copied into <em class="parameter"><code>pcert</code></em> +.</p> +<p>Key usage (as defined by X.509 extension (2.5.29.15)) can be explicitly +set because there is no certificate structure around the key to define +this value. See for more info <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-key-usage" title="gnutls_x509_crt_get_key_usage ()"><code class="function">gnutls_x509_crt_get_key_usage()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pcert-import-rawpk-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcert</p></td> +<td class="parameter_description"><p>The pcert structure to import the data into.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rawpubkey</p></td> +<td class="parameter_description"><p>The raw public-key in <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> format to be imported.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>The format of the raw public-key. DER or PEM.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>An ORed sequence of <code class="literal">GNUTLS_KEY_</code>* flags.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pcert-import-rawpk-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-retrieve-function2"></a><h3>gnutls_certificate_set_retrieve_function2 ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_retrieve_function2 + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_certificate_retrieve_function2</span> *func</code></em>);</pre> +<p>This function sets a callback to be called in order to retrieve the +certificate to be used in the handshake. The callback will take control +only if a certificate is requested by the peer.</p> +<p>The callback's function prototype is: +int (*callback)(gnutls_session_t, const gnutls_datum_t* req_ca_dn, int nreqs, +const gnutls_pk_algorithm_t* pk_algos, int pk_algos_length, gnutls_pcert_st** pcert, +unsigned int *pcert_length, gnutls_privkey_t * pkey);</p> +<p><em class="parameter"><code>req_ca_dn</code></em> + is only used in X.509 certificates. +Contains a list with the CA names that the server considers trusted. +This is a hint and typically the client should send a certificate that is signed +by one of these CAs. These names, when available, are DER encoded. To get a more +meaningful value use the function <a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get" title="gnutls_x509_rdn_get ()"><code class="function">gnutls_x509_rdn_get()</code></a>.</p> +<p><em class="parameter"><code>pk_algos</code></em> + contains a list with server's acceptable public key algorithms. +The certificate returned should support the server's given algorithms.</p> +<p><em class="parameter"><code>pcert</code></em> + should contain a single certificate and public key or a list of them.</p> +<p><em class="parameter"><code>pcert_length</code></em> + is the size of the previous list.</p> +<p><em class="parameter"><code>pkey</code></em> + is the private key.</p> +<p>If the callback function is provided then gnutls will call it, in the +handshake, after the certificate request message has been received. +All the provided by the callback values will not be released or +modified by gnutls.</p> +<p>In server side pk_algos and req_ca_dn are NULL.</p> +<p>The callback function should set the certificate list to be sent, +and return 0 on success. If no certificate was selected then the +number of certificates should be set to zero. The value (-1) +indicates error and the handshake will be terminated. If both certificates +are set in the credentials and a callback is available, the callback +takes predence.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-retrieve-function2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-retrieve-function3"></a><h3>gnutls_certificate_set_retrieve_function3 ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_retrieve_function3 + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_certificate_retrieve_function3</span> *func</code></em>);</pre> +<p>This function sets a callback to be called in order to retrieve the +certificate and OCSP responses to be used in the handshake. <em class="parameter"><code>func</code></em> + will +be called only if the peer requests a certificate either during handshake +or during post-handshake authentication.</p> +<p>The callback's function prototype is defined in `abstract.h':</p> +<p>int gnutls_certificate_retrieve_function3( +gnutls_session_t, +const struct gnutls_cert_retr_st *info, +gnutls_pcert_st **certs, +unsigned int *certs_length, +gnutls_ocsp_data_st **ocsp, +unsigned int *ocsp_length, +gnutls_privkey_t *privkey, +unsigned int *flags);</p> +<p>The info field of the callback contains: +<em class="parameter"><code>req_ca_dn</code></em> + which is a list with the CA names that the server considers trusted. +This is a hint and typically the client should send a certificate that is signed +by one of these CAs. These names, when available, are DER encoded. To get a more +meaningful value use the function <a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get" title="gnutls_x509_rdn_get ()"><code class="function">gnutls_x509_rdn_get()</code></a>. +<em class="parameter"><code>pk_algos</code></em> + contains a list with server's acceptable public key algorithms. +The certificate returned should support the server's given algorithms.</p> +<p>The callback should fill-in the following values:</p> +<p><em class="parameter"><code>certs</code></em> + should contain an allocated list of certificates and public keys. +<em class="parameter"><code>certs_length</code></em> + is the size of the previous list. +<em class="parameter"><code>ocsp</code></em> + should contain an allocated list of OCSP responses. +<em class="parameter"><code>ocsp_length</code></em> + is the size of the previous list. +<em class="parameter"><code>privkey</code></em> + is the private key.</p> +<p>If flags in the callback are set to <a class="link" href="gnutls-abstract.html#GNUTLS-CERT-RETR-DEINIT-ALL:CAPS" title="GNUTLS_CERT_RETR_DEINIT_ALL"><code class="literal">GNUTLS_CERT_RETR_DEINIT_ALL</code></a> then +all provided values must be allocated using <code class="function">gnutls_malloc()</code>, and will +be released by gnutls; otherwise they will not be touched by gnutls.</p> +<p>The callback function should set the certificate and OCSP response +list to be sent, and return 0 on success. If no certificates are available, +the <em class="parameter"><code>certs_length</code></em> + and <em class="parameter"><code>ocsp_length</code></em> + should be set to zero. The return +value (-1) indicates error and the handshake will be terminated. If both +certificates are set in the credentials and a callback is available, the +callback takes predence.</p> +<p>Raw public-keys: +In case raw public-keys are negotiated as certificate type, certificates +that would normally hold the public-key material are not available. In that case, +<em class="parameter"><code>certs</code></em> + contains an allocated list with only the public key. Since there is no +certificate, there is also no certificate status. Therefore, OCSP information +should not be set.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-retrieve-function3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-key"></a><h3>gnutls_certificate_set_key ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_key (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **names</code></em>, + <em class="parameter"><code><span class="type">int</span> names_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-abstract.html#gnutls-pcert-st" title="gnutls_pcert_st"><span class="type">gnutls_pcert_st</span></a> *pcert_list</code></em>, + <em class="parameter"><code><span class="type">int</span> pcert_list_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key</code></em>);</pre> +<p>This function sets a public/private key pair in the +gnutls_certificate_credentials_t type. The given public key may be encapsulated +in a certificate or can be given as a raw key. This function may be +called more than once, in case multiple key pairs exist for +the server. For clients that want to send more than their own end- +entity certificate (e.g., also an intermediate CA cert), the full +certificate chain must be provided in <em class="parameter"><code>pcert_list</code></em> +.</p> +<p>Note that the <em class="parameter"><code>key</code></em> + will become part of the credentials structure and must +not be deallocated. It will be automatically deallocated when the <em class="parameter"><code>res</code></em> + structure +is deinitialized.</p> +<p>If this function fails, the <em class="parameter"><code>res</code></em> + structure is at an undefined state and it must +not be reused to load other keys or certificates.</p> +<p>Note that, this function by default returns zero on success and a negative value on error. +Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +it returns an index (greater or equal to zero). That index can be used for other functions to refer to the added key-pair.</p> +<p>Since GnuTLS 3.6.6 this function also handles raw public keys.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-key.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>names</p></td> +<td class="parameter_description"><p>is an array of DNS names belonging to the public-key (NULL if none)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>names_size</p></td> +<td class="parameter_description"><p>holds the size of the names list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pcert_list</p></td> +<td class="parameter_description"><p>contains a certificate list (chain) or raw public-key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pcert_list_size</p></td> +<td class="parameter_description"><p>holds the size of the certificate list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t"><span class="type">gnutls_privkey_t</span></a> key corresponding to the first public-key in pcert_list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-key.returns"></a><h4>Returns</h4> +<p> On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-print"></a><h3>gnutls_pubkey_print ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pubkey_print (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> pubkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t"><span class="type">gnutls_certificate_print_formats_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will pretty print public key information, suitable for +display to a human.</p> +<p>Only <a class="link" href="gnutls-gnutls.html#GNUTLS-CRT-PRINT-FULL:CAPS"><code class="literal">GNUTLS_CRT_PRINT_FULL</code></a> and <a class="link" href="gnutls-gnutls.html#GNUTLS-CRT-PRINT-FULL-NUMBERS:CAPS"><code class="literal">GNUTLS_CRT_PRINT_FULL_NUMBERS</code></a> +are implemented.</p> +<p>The output <em class="parameter"><code>out</code></em> + needs to be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pubkey-print.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pubkey</p></td> +<td class="parameter_description"><p>The data to be printed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>Indicate the format to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>Newly allocated datum with null terminated string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pubkey-print.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.5</p> +</div> +</div> +<div class="refsect1"> +<a name="gnutls-abstract.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="GNUTLS-PUBKEY-VERIFY-FLAG-TLS-RSA:CAPS"></a><h3>GNUTLS_PUBKEY_VERIFY_FLAG_TLS_RSA</h3> +<pre class="programlisting">#define GNUTLS_PUBKEY_VERIFY_FLAG_TLS_RSA GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-flags-t"></a><h3>enum gnutls_pubkey_flags_t</h3> +<div class="refsect3"> +<a name="gnutls-pubkey-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PUBKEY-DISABLE-CALLBACKS:CAPS"></a>GNUTLS_PUBKEY_DISABLE_CALLBACKS</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PUBKEY-GET-OPENPGP-FINGERPRINT:CAPS"></a>GNUTLS_PUBKEY_GET_OPENPGP_FINGERPRINT</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-abstract-export-flags-t"></a><h3>enum gnutls_abstract_export_flags_t</h3> +<div class="refsect3"> +<a name="gnutls-abstract-export-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody><tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXPORT-FLAG-NO-LZ:CAPS"></a>GNUTLS_EXPORT_FLAG_NO_LZ</p></td> +<td> </td> +<td> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PUBKEY-VERIFY-FLAG-TLS1-RSA:CAPS"></a><h3>GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA</h3> +<pre class="programlisting">#define GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA GNUTLS_VERIFY_USE_TLS1_RSA +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PRIVKEY-INFO-PK-ALGO:CAPS"></a><h3>GNUTLS_PRIVKEY_INFO_PK_ALGO</h3> +<pre class="programlisting">#define GNUTLS_PRIVKEY_INFO_PK_ALGO 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PRIVKEY-INFO-SIGN-ALGO:CAPS"></a><h3>GNUTLS_PRIVKEY_INFO_SIGN_ALGO</h3> +<pre class="programlisting">#define GNUTLS_PRIVKEY_INFO_SIGN_ALGO (1<<1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PRIVKEY-INFO-HAVE-SIGN-ALGO:CAPS"></a><h3>GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO</h3> +<pre class="programlisting">#define GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO (1<<2) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PRIVKEY-INFO-PK-ALGO-BITS:CAPS"></a><h3>GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS</h3> +<pre class="programlisting">#define GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS (1<<3) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-pk-rsa-raw"></a><h3>gnutls_pubkey_get_pk_rsa_raw</h3> +<pre class="programlisting">#define gnutls_pubkey_get_pk_rsa_raw gnutls_pubkey_export_rsa_raw +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-pk-dsa-raw"></a><h3>gnutls_pubkey_get_pk_dsa_raw</h3> +<pre class="programlisting">#define gnutls_pubkey_get_pk_dsa_raw gnutls_pubkey_export_dsa_raw +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-pk-ecc-raw"></a><h3>gnutls_pubkey_get_pk_ecc_raw</h3> +<pre class="programlisting">#define gnutls_pubkey_get_pk_ecc_raw gnutls_pubkey_export_ecc_raw +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-get-pk-ecc-x962"></a><h3>gnutls_pubkey_get_pk_ecc_x962</h3> +<pre class="programlisting">#define gnutls_pubkey_get_pk_ecc_x962 gnutls_pubkey_export_ecc_x962 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-flags-t"></a><h3>enum gnutls_privkey_flags_t</h3> +<div class="refsect3"> +<a name="gnutls-privkey-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-IMPORT-AUTO-RELEASE:CAPS"></a>GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-IMPORT-COPY:CAPS"></a>GNUTLS_PRIVKEY_IMPORT_COPY</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-DISABLE-CALLBACKS:CAPS"></a>GNUTLS_PRIVKEY_DISABLE_CALLBACKS</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-SIGN-FLAG-TLS1-RSA:CAPS"></a>GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-FLAG-PROVABLE:CAPS"></a>GNUTLS_PRIVKEY_FLAG_PROVABLE</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-FLAG-EXPORT-COMPAT:CAPS"></a>GNUTLS_PRIVKEY_FLAG_EXPORT_COMPAT</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-SIGN-FLAG-RSA-PSS:CAPS"></a>GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-FLAG-REPRODUCIBLE:CAPS"></a>GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-FLAG-CA:CAPS"></a>GNUTLS_PRIVKEY_FLAG_CA</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-FLAG-RSA-PSS-FIXED-SALT-LENGTH:CAPS"></a>GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pcert-st"></a><h3>gnutls_pcert_st</h3> +<pre class="programlisting">typedef struct { + gnutls_pubkey_t pubkey; + gnutls_datum_t cert; + gnutls_certificate_type_t type; +} gnutls_pcert_st; +</pre> +<p>A parsed certificate.</p> +<div class="refsect3"> +<a name="gnutls-pcert-st.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> <em class="structfield"><code><a name="gnutls-pcert-st.pubkey"></a>pubkey</code></em>;</p></td> +<td class="struct_member_description"><p>public key of parsed certificate.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> <em class="structfield"><code><a name="gnutls-pcert-st.cert"></a>cert</code></em>;</p></td> +<td class="struct_member_description"><p>certificate itself of parsed certificate</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> <em class="structfield"><code><a name="gnutls-pcert-st.type"></a>type</code></em>;</p></td> +<td class="struct_member_description"><p>type of certificate, a <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> type.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PCERT-NO-CERT:CAPS"></a><h3>GNUTLS_PCERT_NO_CERT</h3> +<pre class="programlisting">#define GNUTLS_PCERT_NO_CERT 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cert-retr-st"></a><h3>struct gnutls_cert_retr_st</h3> +<pre class="programlisting">struct gnutls_cert_retr_st { + unsigned version; /* set to 1 */ + gnutls_certificate_credentials_t cred; + const gnutls_datum_t *req_ca_rdn; + unsigned nreqs; + const gnutls_pk_algorithm_t *pk_algos; + unsigned pk_algos_length; + + /* other fields may be added if version is > 1 */ + unsigned char padding[64]; +}; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-CERT-RETR-DEINIT-ALL:CAPS"></a><h3>GNUTLS_CERT_RETR_DEINIT_ALL</h3> +<pre class="programlisting">#define GNUTLS_CERT_RETR_DEINIT_ALL 1 +</pre> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-crypto.html b/doc/reference/html/gnutls-crypto.html new file mode 100644 index 0000000..d1bf0d9 --- /dev/null +++ b/doc/reference/html/gnutls-crypto.html @@ -0,0 +1,3263 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>crypto: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-openpgp.html" title="openpgp"> +<link rel="next" href="gnutls-pkcs11.html" title="pkcs11"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-crypto.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="gnutls-openpgp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-pkcs11.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-crypto"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-crypto.top_of_page"></a>crypto</span></h2> +<p>crypto</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-crypto.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-init" title="gnutls_cipher_init ()">gnutls_cipher_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt" title="gnutls_cipher_encrypt ()">gnutls_cipher_encrypt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt" title="gnutls_cipher_decrypt ()">gnutls_cipher_decrypt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt2" title="gnutls_cipher_decrypt2 ()">gnutls_cipher_decrypt2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt2" title="gnutls_cipher_encrypt2 ()">gnutls_cipher_encrypt2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt3" title="gnutls_cipher_encrypt3 ()">gnutls_cipher_encrypt3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt3" title="gnutls_cipher_decrypt3 ()">gnutls_cipher_decrypt3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-set-iv" title="gnutls_cipher_set_iv ()">gnutls_cipher_set_iv</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-tag" title="gnutls_cipher_tag ()">gnutls_cipher_tag</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-add-auth" title="gnutls_cipher_add_auth ()">gnutls_cipher_add_auth</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-deinit" title="gnutls_cipher_deinit ()">gnutls_cipher_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-cipher-get-block-size" title="gnutls_cipher_get_block_size ()">gnutls_cipher_get_block_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-set-key" title="gnutls_aead_cipher_set_key ()">gnutls_aead_cipher_set_key</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-decrypt" title="gnutls_aead_cipher_decrypt ()">gnutls_aead_cipher_decrypt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-encrypt" title="gnutls_aead_cipher_encrypt ()">gnutls_aead_cipher_encrypt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-encryptv" title="gnutls_aead_cipher_encryptv ()">gnutls_aead_cipher_encryptv</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-encryptv2" title="gnutls_aead_cipher_encryptv2 ()">gnutls_aead_cipher_encryptv2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-decryptv2" title="gnutls_aead_cipher_decryptv2 ()">gnutls_aead_cipher_decryptv2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-deinit" title="gnutls_aead_cipher_deinit ()">gnutls_aead_cipher_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">size_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-mac-get-nonce-size" title="gnutls_mac_get_nonce_size ()">gnutls_mac_get_nonce_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-set-nonce" title="gnutls_hmac_set_nonce ()">gnutls_hmac_set_nonce</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hmac" title="gnutls_hmac ()">gnutls_hmac</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-output" title="gnutls_hmac_output ()">gnutls_hmac_output</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-deinit" title="gnutls_hmac_deinit ()">gnutls_hmac_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-get-len" title="gnutls_hmac_get_len ()">gnutls_hmac_get_len</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="returnvalue">gnutls_hmac_hd_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hmac-copy" title="gnutls_hmac_copy ()">gnutls_hmac_copy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hash-init" title="gnutls_hash_init ()">gnutls_hash_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hash" title="gnutls_hash ()">gnutls_hash</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hash-output" title="gnutls_hash_output ()">gnutls_hash_output</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hash-deinit" title="gnutls_hash_deinit ()">gnutls_hash_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hash-get-len" title="gnutls_hash_get_len ()">gnutls_hash_get_len</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="returnvalue">gnutls_hash_hd_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hash-copy" title="gnutls_hash_copy ()">gnutls_hash_copy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hkdf-extract" title="gnutls_hkdf_extract ()">gnutls_hkdf_extract</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-hkdf-expand" title="gnutls_hkdf_expand ()">gnutls_hkdf_expand</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-pbkdf2" title="gnutls_pbkdf2 ()">gnutls_pbkdf2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-rnd" title="gnutls_rnd ()">gnutls_rnd</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-rnd-refresh" title="gnutls_rnd_refresh ()">gnutls_rnd_refresh</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-init-func" title="gnutls_cipher_init_func ()">*gnutls_cipher_init_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-setkey-func" title="gnutls_cipher_setkey_func ()">*gnutls_cipher_setkey_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-setiv-func" title="gnutls_cipher_setiv_func ()">*gnutls_cipher_setiv_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-getiv-func" title="gnutls_cipher_getiv_func ()">*gnutls_cipher_getiv_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt-func" title="gnutls_cipher_encrypt_func ()">*gnutls_cipher_encrypt_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt-func" title="gnutls_cipher_decrypt_func ()">*gnutls_cipher_decrypt_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-auth-func" title="gnutls_cipher_auth_func ()">*gnutls_cipher_auth_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-tag-func" title="gnutls_cipher_tag_func ()">*gnutls_cipher_tag_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-aead-encrypt-func" title="gnutls_cipher_aead_encrypt_func ()">*gnutls_cipher_aead_encrypt_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-aead-decrypt-func" title="gnutls_cipher_aead_decrypt_func ()">*gnutls_cipher_aead_decrypt_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-cipher-deinit-func" title="gnutls_cipher_deinit_func ()">*gnutls_cipher_deinit_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-cipher" title="gnutls_crypto_register_cipher ()">gnutls_crypto_register_cipher</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-aead-cipher" title="gnutls_crypto_register_aead_cipher ()">gnutls_crypto_register_aead_cipher</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-mac-init-func" title="gnutls_mac_init_func ()">*gnutls_mac_init_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-mac-setkey-func" title="gnutls_mac_setkey_func ()">*gnutls_mac_setkey_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-mac-setnonce-func" title="gnutls_mac_setnonce_func ()">*gnutls_mac_setnonce_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-mac-hash-func" title="gnutls_mac_hash_func ()">*gnutls_mac_hash_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-mac-output-func" title="gnutls_mac_output_func ()">*gnutls_mac_output_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-mac-deinit-func" title="gnutls_mac_deinit_func ()">*gnutls_mac_deinit_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-mac-fast-func" title="gnutls_mac_fast_func ()">*gnutls_mac_fast_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-mac-copy-func" title="gnutls_mac_copy_func ()">*gnutls_mac_copy_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-mac" title="gnutls_crypto_register_mac ()">gnutls_crypto_register_mac</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-digest-init-func" title="gnutls_digest_init_func ()">*gnutls_digest_init_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-digest-hash-func" title="gnutls_digest_hash_func ()">*gnutls_digest_hash_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-digest-output-func" title="gnutls_digest_output_func ()">*gnutls_digest_output_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-digest-deinit-func" title="gnutls_digest_deinit_func ()">*gnutls_digest_deinit_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-digest-fast-func" title="gnutls_digest_fast_func ()">*gnutls_digest_fast_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-crypto.html#gnutls-digest-copy-func" title="gnutls_digest_copy_func ()">*gnutls_digest_copy_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-digest" title="gnutls_crypto_register_digest ()">gnutls_crypto_register_digest</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-encode-ber-digest-info" title="gnutls_encode_ber_digest_info ()">gnutls_encode_ber_digest_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-decode-ber-digest-info" title="gnutls_decode_ber_digest_info ()">gnutls_decode_ber_digest_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-decode-rs-value" title="gnutls_decode_rs_value ()">gnutls_decode_rs_value</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-encode-rs-value" title="gnutls_encode_rs_value ()">gnutls_encode_rs_value</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-encode-gost-rs-value" title="gnutls_encode_gost_rs_value ()">gnutls_encode_gost_rs_value</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-crypto.html#gnutls-decode-gost-rs-value" title="gnutls_decode_gost_rs_value ()">gnutls_decode_gost_rs_value</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-crypto.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t">gnutls_cipher_hd_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-crypto.html#gnutls-cipher-flags-t" title="enum gnutls_cipher_flags_t">gnutls_cipher_flags_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t">gnutls_hash_hd_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t">gnutls_hmac_hd_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-crypto.html#gnutls-rnd-level-t" title="enum gnutls_rnd_level_t">gnutls_rnd_level_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-crypto.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-crypto.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gnutls-cipher-init"></a><h3>gnutls_cipher_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_cipher_init (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> *handle</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> cipher</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *iv</code></em>);</pre> +<p>This function will initialize the <em class="parameter"><code>handle</code></em> + context to be usable +for encryption/decryption of data. This will effectively use the +current crypto backend in use by gnutls or the cryptographic +accelerator in use.</p> +<div class="refsect3"> +<a name="gnutls-cipher-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cipher</p></td> +<td class="parameter_description"><p>the encryption algorithm to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the key to be used for encryption/decryption</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iv</p></td> +<td class="parameter_description"><p>the IV to use (if not applicable set NULL)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-init.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-encrypt"></a><h3>gnutls_cipher_encrypt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_cipher_encrypt (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>, + <em class="parameter"><code><span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre> +<p>This function will encrypt the given data using the algorithm +specified by the context.</p> +<div class="refsect3"> +<a name="gnutls-cipher-encrypt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the data to encrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_len</p></td> +<td class="parameter_description"><p>the length of data to encrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-encrypt.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-decrypt"></a><h3>gnutls_cipher_decrypt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_cipher_decrypt (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>, + <em class="parameter"><code><span class="type">void</span> *ciphertext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>);</pre> +<p>This function will decrypt the given data using the algorithm +specified by the context.</p> +<p>Note that in AEAD ciphers, this will not check the tag. You will +need to compare the tag sent with the value returned from <a class="link" href="gnutls-crypto.html#gnutls-cipher-tag" title="gnutls_cipher_tag ()"><code class="function">gnutls_cipher_tag()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-cipher-decrypt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext</p></td> +<td class="parameter_description"><p>the data to decrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext_len</p></td> +<td class="parameter_description"><p>the length of data to decrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-decrypt.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-decrypt2"></a><h3>gnutls_cipher_decrypt2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_cipher_decrypt2 (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *ciphertext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>, + <em class="parameter"><code><span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre> +<p>This function will decrypt the given data using the algorithm +specified by the context. For block ciphers the <em class="parameter"><code>ctext_len</code></em> + must be +a multiple of the block size. For the supported ciphers the plaintext +data length will equal the ciphertext size.</p> +<p>Note that in AEAD ciphers, this will not check the tag. You will +need to compare the tag sent with the value returned from <a class="link" href="gnutls-crypto.html#gnutls-cipher-tag" title="gnutls_cipher_tag ()"><code class="function">gnutls_cipher_tag()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-cipher-decrypt2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext</p></td> +<td class="parameter_description"><p>the data to decrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext_len</p></td> +<td class="parameter_description"><p>the length of data to decrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the decrypted data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_len</p></td> +<td class="parameter_description"><p>the available length for decrypted data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-decrypt2.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-encrypt2"></a><h3>gnutls_cipher_encrypt2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_cipher_encrypt2 (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>, + <em class="parameter"><code><span class="type">void</span> *ciphertext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>);</pre> +<p>This function will encrypt the given data using the algorithm +specified by the context. For block ciphers the <em class="parameter"><code>ptext_len</code></em> + must be +a multiple of the block size. For the supported ciphers the encrypted +data length will equal the plaintext size.</p> +<div class="refsect3"> +<a name="gnutls-cipher-encrypt2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the data to encrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_len</p></td> +<td class="parameter_description"><p>the length of data to encrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext</p></td> +<td class="parameter_description"><p>the encrypted data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext_len</p></td> +<td class="parameter_description"><p>the available length for encrypted data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-encrypt2.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-encrypt3"></a><h3>gnutls_cipher_encrypt3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_cipher_encrypt3 (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *ptext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ptext_len</code></em>, + <em class="parameter"><code><span class="type">void</span> *ctext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ctext_len</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will encrypt the given data using the algorithm +specified by the context. For block ciphers, <em class="parameter"><code>ptext_len</code></em> + is +typically a multiple of the block size. If not, the caller can +instruct the function to pad the last block according to <em class="parameter"><code>flags</code></em> +. +Currently, the only available padding scheme is +<a class="link" href="gnutls-crypto.html#GNUTLS-CIPHER-PADDING-PKCS7:CAPS"><code class="literal">GNUTLS_CIPHER_PADDING_PKCS7</code></a>.</p> +<p>If <em class="parameter"><code>ctext</code></em> + is not <code class="literal">NULL</code>, it must hold enough space to store +resulting cipher text. To check the required size, this function +can be called with <em class="parameter"><code>ctext</code></em> + set to <code class="literal">NULL</code>. Then <em class="parameter"><code>ctext_len</code></em> + will be +updated without performing actual encryption.</p> +<div class="refsect3"> +<a name="gnutls-cipher-encrypt3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the data to encrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_len</p></td> +<td class="parameter_description"><p>the length of data to encrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext</p></td> +<td class="parameter_description"><p>the encrypted data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext_len</p></td> +<td class="parameter_description"><p>the length of encrypted data (initially must hold the maximum available size)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags for padding</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-encrypt3.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.7.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-decrypt3"></a><h3>gnutls_cipher_decrypt3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_cipher_decrypt3 (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *ctext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ctext_len</code></em>, + <em class="parameter"><code><span class="type">void</span> *ptext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ptext_len</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will decrypt the given data using the algorithm +specified by the context. If <em class="parameter"><code>flags</code></em> + is specified, padding for the +decrypted data will be removed accordingly and <em class="parameter"><code>ptext_len</code></em> + will be +updated.</p> +<div class="refsect3"> +<a name="gnutls-cipher-decrypt3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext</p></td> +<td class="parameter_description"><p>the data to decrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext_len</p></td> +<td class="parameter_description"><p>the length of data to decrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the decrypted data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_len</p></td> +<td class="parameter_description"><p>the available length for decrypted data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags for padding</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-decrypt3.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.7.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-set-iv"></a><h3>gnutls_cipher_set_iv ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_cipher_set_iv (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>, + <em class="parameter"><code><span class="type">void</span> *iv</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ivlen</code></em>);</pre> +<p>This function will set the IV to be used for the next +encryption block.</p> +<div class="refsect3"> +<a name="gnutls-cipher-set-iv.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iv</p></td> +<td class="parameter_description"><p>the IV to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ivlen</p></td> +<td class="parameter_description"><p>the length of the IV</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-tag"></a><h3>gnutls_cipher_tag ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_cipher_tag (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>, + <em class="parameter"><code><span class="type">void</span> *tag</code></em>, + <em class="parameter"><code><span class="type">size_t</span> tag_size</code></em>);</pre> +<p>This function operates on authenticated encryption with +associated data (AEAD) ciphers and will return the +output tag.</p> +<div class="refsect3"> +<a name="gnutls-cipher-tag.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag</p></td> +<td class="parameter_description"><p>will hold the tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag_size</p></td> +<td class="parameter_description"><p>the length of the tag to return</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-tag.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-add-auth"></a><h3>gnutls_cipher_add_auth ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_cipher_add_auth (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> text_size</code></em>);</pre> +<p>This function operates on authenticated encryption with +associated data (AEAD) ciphers and authenticate the +input data. This function can only be called once +and before any encryption operations.</p> +<div class="refsect3"> +<a name="gnutls-cipher-add-auth.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the data to be authenticated</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_size</p></td> +<td class="parameter_description"><p>the length of the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-add-auth.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-deinit"></a><h3>gnutls_cipher_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_cipher_deinit (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>);</pre> +<p>This function will deinitialize all resources occupied by the given +encryption context.</p> +<div class="refsect3"> +<a name="gnutls-cipher-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-get-block-size"></a><h3>gnutls_cipher_get_block_size ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_cipher_get_block_size ();</pre> +<div class="refsect3"> +<a name="gnutls-cipher-get-block-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>is an encryption algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-get-block-size.returns"></a><h4>Returns</h4> +<p> the block size of the encryption algorithm.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-aead-cipher-set-key"></a><h3>gnutls_aead_cipher_set_key ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_aead_cipher_set_key (<em class="parameter"><code><span class="type">gnutls_aead_cipher_hd_t</span> handle</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>);</pre> +<p>This function will set a new key without re-initializing the +context.</p> +<div class="refsect3"> +<a name="gnutls-aead-cipher-set-key.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_aead_cipher_hd_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The key to be used for encryption</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-aead-cipher-set-key.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.7.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-aead-cipher-decrypt"></a><h3>gnutls_aead_cipher_decrypt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_aead_cipher_decrypt (<em class="parameter"><code><span class="type">gnutls_aead_cipher_hd_t</span> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> nonce_len</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *auth</code></em>, + <em class="parameter"><code><span class="type">size_t</span> auth_len</code></em>, + <em class="parameter"><code><span class="type">size_t</span> tag_size</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *ctext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ctext_len</code></em>, + <em class="parameter"><code><span class="type">void</span> *ptext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ptext_len</code></em>);</pre> +<p>This function will decrypt the given data using the algorithm +specified by the context. This function must be provided the complete +data to be decrypted, including the authentication tag. On several +AEAD ciphers, the authentication tag is appended to the ciphertext, +though this is not a general rule. This function will fail if +the tag verification fails.</p> +<div class="refsect3"> +<a name="gnutls-aead-cipher-decrypt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_aead_cipher_hd_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce</p></td> +<td class="parameter_description"><p>the nonce to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce_len</p></td> +<td class="parameter_description"><p>The length of the nonce</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth</p></td> +<td class="parameter_description"><p>additional data to be authenticated</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth_len</p></td> +<td class="parameter_description"><p>The length of the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag_size</p></td> +<td class="parameter_description"><p>The size of the tag to use (use zero for the default)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext</p></td> +<td class="parameter_description"><p>the data to decrypt (including the authentication tag)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext_len</p></td> +<td class="parameter_description"><p>the length of data to decrypt (includes tag size)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the decrypted data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_len</p></td> +<td class="parameter_description"><p>the length of decrypted data (initially must hold the maximum available size)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-aead-cipher-decrypt.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on verification failure or other error.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-aead-cipher-encrypt"></a><h3>gnutls_aead_cipher_encrypt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_aead_cipher_encrypt (<em class="parameter"><code><span class="type">gnutls_aead_cipher_hd_t</span> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> nonce_len</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *auth</code></em>, + <em class="parameter"><code><span class="type">size_t</span> auth_len</code></em>, + <em class="parameter"><code><span class="type">size_t</span> tag_size</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *ptext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ptext_len</code></em>, + <em class="parameter"><code><span class="type">void</span> *ctext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ctext_len</code></em>);</pre> +<p>This function will encrypt the given data using the algorithm +specified by the context. The output data will contain the +authentication tag.</p> +<div class="refsect3"> +<a name="gnutls-aead-cipher-encrypt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_aead_cipher_hd_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce</p></td> +<td class="parameter_description"><p>the nonce to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce_len</p></td> +<td class="parameter_description"><p>The length of the nonce</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth</p></td> +<td class="parameter_description"><p>additional data to be authenticated</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth_len</p></td> +<td class="parameter_description"><p>The length of the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag_size</p></td> +<td class="parameter_description"><p>The size of the tag to use (use zero for the default)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the data to encrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_len</p></td> +<td class="parameter_description"><p>The length of data to encrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext</p></td> +<td class="parameter_description"><p>the encrypted data including authentication tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext_len</p></td> +<td class="parameter_description"><p>the length of encrypted data (initially must hold the maximum available size, including space for tag)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-aead-cipher-encrypt.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-aead-cipher-encryptv"></a><h3>gnutls_aead_cipher_encryptv ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_aead_cipher_encryptv (<em class="parameter"><code><span class="type">gnutls_aead_cipher_hd_t</span> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> nonce_len</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#giovec-t" title="giovec_t"><span class="type">giovec_t</span></a> *auth_iov</code></em>, + <em class="parameter"><code><span class="type">int</span> auth_iovcnt</code></em>, + <em class="parameter"><code><span class="type">size_t</span> tag_size</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#giovec-t" title="giovec_t"><span class="type">giovec_t</span></a> *iov</code></em>, + <em class="parameter"><code><span class="type">int</span> iovcnt</code></em>, + <em class="parameter"><code><span class="type">void</span> *ctext</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ctext_len</code></em>);</pre> +<p>This function will encrypt the provided data buffers using the algorithm +specified by the context. The output data will contain the +authentication tag.</p> +<div class="refsect3"> +<a name="gnutls-aead-cipher-encryptv.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_aead_cipher_hd_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce</p></td> +<td class="parameter_description"><p>the nonce to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce_len</p></td> +<td class="parameter_description"><p>The length of the nonce</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth_iov</p></td> +<td class="parameter_description"><p>additional data to be authenticated</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth_iovcnt</p></td> +<td class="parameter_description"><p>The number of buffers in <em class="parameter"><code>auth_iov</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag_size</p></td> +<td class="parameter_description"><p>The size of the tag to use (use zero for the default)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iov</p></td> +<td class="parameter_description"><p>the data to be encrypted</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iovcnt</p></td> +<td class="parameter_description"><p>The number of buffers in <em class="parameter"><code>iov</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext</p></td> +<td class="parameter_description"><p>the encrypted data including authentication tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctext_len</p></td> +<td class="parameter_description"><p>the length of encrypted data (initially must hold the maximum available size, including space for tag)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-aead-cipher-encryptv.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-aead-cipher-encryptv2"></a><h3>gnutls_aead_cipher_encryptv2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_aead_cipher_encryptv2 (<em class="parameter"><code><span class="type">gnutls_aead_cipher_hd_t</span> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> nonce_len</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#giovec-t" title="giovec_t"><span class="type">giovec_t</span></a> *auth_iov</code></em>, + <em class="parameter"><code><span class="type">int</span> auth_iovcnt</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#giovec-t" title="giovec_t"><span class="type">giovec_t</span></a> *iov</code></em>, + <em class="parameter"><code><span class="type">int</span> iovcnt</code></em>, + <em class="parameter"><code><span class="type">void</span> *tag</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *tag_size</code></em>);</pre> +<p>This is similar to <a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-encrypt" title="gnutls_aead_cipher_encrypt ()"><code class="function">gnutls_aead_cipher_encrypt()</code></a>, but it performs +in-place encryption on the provided data buffers.</p> +<div class="refsect3"> +<a name="gnutls-aead-cipher-encryptv2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_aead_cipher_hd_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce</p></td> +<td class="parameter_description"><p>the nonce to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce_len</p></td> +<td class="parameter_description"><p>The length of the nonce</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth_iov</p></td> +<td class="parameter_description"><p>additional data to be authenticated</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth_iovcnt</p></td> +<td class="parameter_description"><p>The number of buffers in <em class="parameter"><code>auth_iov</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iov</p></td> +<td class="parameter_description"><p>the data to be encrypted</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iovcnt</p></td> +<td class="parameter_description"><p>The number of buffers in <em class="parameter"><code>iov</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag</p></td> +<td class="parameter_description"><p>The authentication tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag_size</p></td> +<td class="parameter_description"><p>The size of the tag to use (use zero for the default)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-aead-cipher-encryptv2.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.6.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-aead-cipher-decryptv2"></a><h3>gnutls_aead_cipher_decryptv2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_aead_cipher_decryptv2 (<em class="parameter"><code><span class="type">gnutls_aead_cipher_hd_t</span> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> nonce_len</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#giovec-t" title="giovec_t"><span class="type">giovec_t</span></a> *auth_iov</code></em>, + <em class="parameter"><code><span class="type">int</span> auth_iovcnt</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#giovec-t" title="giovec_t"><span class="type">giovec_t</span></a> *iov</code></em>, + <em class="parameter"><code><span class="type">int</span> iovcnt</code></em>, + <em class="parameter"><code><span class="type">void</span> *tag</code></em>, + <em class="parameter"><code><span class="type">size_t</span> tag_size</code></em>);</pre> +<p>This is similar to <a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-decrypt" title="gnutls_aead_cipher_decrypt ()"><code class="function">gnutls_aead_cipher_decrypt()</code></a>, but it performs +in-place encryption on the provided data buffers.</p> +<div class="refsect3"> +<a name="gnutls-aead-cipher-decryptv2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_aead_cipher_hd_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce</p></td> +<td class="parameter_description"><p>the nonce to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce_len</p></td> +<td class="parameter_description"><p>The length of the nonce</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth_iov</p></td> +<td class="parameter_description"><p>additional data to be authenticated</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>auth_iovcnt</p></td> +<td class="parameter_description"><p>The number of buffers in <em class="parameter"><code>auth_iov</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iov</p></td> +<td class="parameter_description"><p>the data to decrypt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iovcnt</p></td> +<td class="parameter_description"><p>The number of buffers in <em class="parameter"><code>iov</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag</p></td> +<td class="parameter_description"><p>The authentication tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag_size</p></td> +<td class="parameter_description"><p>The size of the tag to use (use zero for the default)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-aead-cipher-decryptv2.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.6.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-aead-cipher-deinit"></a><h3>gnutls_aead_cipher_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_aead_cipher_deinit (<em class="parameter"><code><span class="type">gnutls_aead_cipher_hd_t</span> handle</code></em>);</pre> +<p>This function will deinitialize all resources occupied by the given +authenticated-encryption context.</p> +<div class="refsect3"> +<a name="gnutls-aead-cipher-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_aead_cipher_hd_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-get-nonce-size"></a><h3>gnutls_mac_get_nonce_size ()</h3> +<pre class="programlisting"><span class="returnvalue">size_t</span> +gnutls_mac_get_nonce_size ();</pre> +<p>Returns the size of the nonce used by the MAC in TLS.</p> +<div class="refsect3"> +<a name="gnutls-mac-get-nonce-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>is an encryption algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-mac-get-nonce-size.returns"></a><h4>Returns</h4> +<p> length (in bytes) of the given MAC nonce size, or 0.</p> +</div> +<p class="since">Since: 3.2.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hmac-set-nonce"></a><h3>gnutls_hmac_set_nonce ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_hmac_set_nonce (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> nonce_len</code></em>);</pre> +<p>This function will set the nonce in the MAC algorithm.</p> +<div class="refsect3"> +<a name="gnutls-hmac-set-nonce.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce</p></td> +<td class="parameter_description"><p>the data to set as nonce</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nonce_len</p></td> +<td class="parameter_description"><p>the length of data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.2.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hmac"></a><h3>gnutls_hmac ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hmac (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre> +<p>This function will hash the given data using the algorithm +specified by the context.</p> +<div class="refsect3"> +<a name="gnutls-hmac.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the data to hash</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_len</p></td> +<td class="parameter_description"><p>the length of data to hash</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hmac.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hmac-output"></a><h3>gnutls_hmac_output ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_hmac_output (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>, + <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre> +<p>This function will output the current MAC value +and reset the state of the MAC.</p> +<div class="refsect3"> +<a name="gnutls-hmac-output.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>is the output value of the MAC</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hmac-deinit"></a><h3>gnutls_hmac_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_hmac_deinit (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>, + <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre> +<p>This function will deinitialize all resources occupied by +the given hmac context.</p> +<div class="refsect3"> +<a name="gnutls-hmac-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>is the output value of the MAC</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hmac-get-len"></a><h3>gnutls_hmac_get_len ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_hmac_get_len ();</pre> +<p>This function will return the length of the output data +of the given hmac algorithm.</p> +<div class="refsect3"> +<a name="gnutls-hmac-get-len.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>the hmac algorithm to use</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hmac-get-len.returns"></a><h4>Returns</h4> +<p> The length or zero on error.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hmac-copy"></a><h3>gnutls_hmac_copy ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="returnvalue">gnutls_hmac_hd_t</span></a> +gnutls_hmac_copy (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>);</pre> +<p>This function will create a copy of MAC context, containing all its current +state. Copying contexts for MACs registered using +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-mac" title="gnutls_crypto_register_mac ()"><code class="function">gnutls_crypto_register_mac()</code></a> is not supported and will always result in an +error. In addition to that, some of the MAC implementations do not support +this operation. Applications should check the return value and provide a +proper fallback.</p> +<div class="refsect3"> +<a name="gnutls-hmac-copy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hmac-copy.returns"></a><h4>Returns</h4> +<p> new MAC context or NULL in case of an error.</p> +</div> +<p class="since">Since: 3.6.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hash-init"></a><h3>gnutls_hash_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hash_init (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> *dig</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>);</pre> +<p>This function will initialize an context that can be used to +produce a Message Digest of data. This will effectively use the +current crypto backend in use by gnutls or the cryptographic +accelerator in use.</p> +<div class="refsect3"> +<a name="gnutls-hash-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>the hash algorithm to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hash-init.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hash"></a><h3>gnutls_hash ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hash (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre> +<p>This function will hash the given data using the algorithm +specified by the context.</p> +<div class="refsect3"> +<a name="gnutls-hash.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext</p></td> +<td class="parameter_description"><p>the data to hash</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptext_len</p></td> +<td class="parameter_description"><p>the length of data to hash</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hash.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hash-output"></a><h3>gnutls_hash_output ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_hash_output (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>, + <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre> +<p>This function will output the current hash value +and reset the state of the hash.</p> +<div class="refsect3"> +<a name="gnutls-hash-output.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>is the output value of the hash</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hash-deinit"></a><h3>gnutls_hash_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_hash_deinit (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>, + <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre> +<p>This function will deinitialize all resources occupied by +the given hash context.</p> +<div class="refsect3"> +<a name="gnutls-hash-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>is the output value of the hash</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hash-get-len"></a><h3>gnutls_hash_get_len ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_hash_get_len ();</pre> +<p>This function will return the length of the output data +of the given hash algorithm.</p> +<div class="refsect3"> +<a name="gnutls-hash-get-len.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>the hash algorithm to use</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hash-get-len.returns"></a><h4>Returns</h4> +<p> The length or zero on error.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hash-copy"></a><h3>gnutls_hash_copy ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="returnvalue">gnutls_hash_hd_t</span></a> +gnutls_hash_copy (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>);</pre> +<p>This function will create a copy of Message Digest context, containing all +its current state. Copying contexts for Message Digests registered using +<a class="link" href="gnutls-crypto.html#gnutls-crypto-register-digest" title="gnutls_crypto_register_digest ()"><code class="function">gnutls_crypto_register_digest()</code></a> is not supported and will always result in +an error. In addition to that, some of the Message Digest implementations do +not support this operation. Applications should check the return value and +provide a proper fallback.</p> +<div class="refsect3"> +<a name="gnutls-hash-copy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>handle</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hash-copy.returns"></a><h4>Returns</h4> +<p> new Message Digest context or NULL in case of an error.</p> +</div> +<p class="since">Since: 3.6.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hkdf-extract"></a><h3>gnutls_hkdf_extract ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hkdf_extract (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> mac</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *salt</code></em>, + <em class="parameter"><code><span class="type">void</span> *output</code></em>);</pre> +<p>This function will derive a fixed-size key using the HKDF-Extract +function as defined in RFC 5869.</p> +<div class="refsect3"> +<a name="gnutls-hkdf-extract.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>mac</p></td> +<td class="parameter_description"><p>the mac algorithm used internally</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the initial keying material</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt</p></td> +<td class="parameter_description"><p>the optional salt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>the output value of the extract operation</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hkdf-extract.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.6.13</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hkdf-expand"></a><h3>gnutls_hkdf_expand ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hkdf_expand (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> mac</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *info</code></em>, + <em class="parameter"><code><span class="type">void</span> *output</code></em>, + <em class="parameter"><code><span class="type">size_t</span> length</code></em>);</pre> +<p>This function will derive a variable length keying material from +the pseudorandom key using the HKDF-Expand function as defined in +RFC 5869.</p> +<div class="refsect3"> +<a name="gnutls-hkdf-expand.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>mac</p></td> +<td class="parameter_description"><p>the mac algorithm used internally</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the pseudorandom key created with HKDF-Extract</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>info</p></td> +<td class="parameter_description"><p>the optional informational data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>the output value of the expand operation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>length</p></td> +<td class="parameter_description"><p>the desired length of the output key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hkdf-expand.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.6.13</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pbkdf2"></a><h3>gnutls_pbkdf2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pbkdf2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> mac</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *salt</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> iter_count</code></em>, + <em class="parameter"><code><span class="type">void</span> *output</code></em>, + <em class="parameter"><code><span class="type">size_t</span> length</code></em>);</pre> +<p>This function will derive a variable length keying material from +a password according to PKCS #5 PBKDF2.</p> +<div class="refsect3"> +<a name="gnutls-pbkdf2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>mac</p></td> +<td class="parameter_description"><p>the mac algorithm used internally</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the initial keying material</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt</p></td> +<td class="parameter_description"><p>the salt</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iter_count</p></td> +<td class="parameter_description"><p>the iteration count</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>the output value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>length</p></td> +<td class="parameter_description"><p>the desired length of the output key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pbkdf2.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.6.13</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-rnd"></a><h3>gnutls_rnd ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_rnd (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-rnd-level-t" title="enum gnutls_rnd_level_t"><span class="type">gnutls_rnd_level_t</span></a> level</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> +<p>This function will generate random data and store it to output +buffer. The value of <em class="parameter"><code>level</code></em> + should be one of <a class="link" href="gnutls-crypto.html#GNUTLS-RND-NONCE:CAPS"><code class="literal">GNUTLS_RND_NONCE</code></a>, +<a class="link" href="gnutls-crypto.html#GNUTLS-RND-RANDOM:CAPS"><code class="literal">GNUTLS_RND_RANDOM</code></a> and <a class="link" href="gnutls-crypto.html#GNUTLS-RND-KEY:CAPS"><code class="literal">GNUTLS_RND_KEY</code></a>. See the manual and +<a class="link" href="gnutls-crypto.html#gnutls-rnd-level-t" title="enum gnutls_rnd_level_t"><code class="literal">gnutls_rnd_level_t</code></a> for detailed information.</p> +<p>This function is thread-safe and also fork-safe.</p> +<div class="refsect3"> +<a name="gnutls-rnd.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>level</p></td> +<td class="parameter_description"><p>a security level</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>place to store random bytes</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>len</p></td> +<td class="parameter_description"><p>The requested size</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-rnd.returns"></a><h4>Returns</h4> +<p> Zero on success, or a negative error code on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-rnd-refresh"></a><h3>gnutls_rnd_refresh ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_rnd_refresh (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>This function refreshes the random generator state. +That is the current precise time, CPU usage, and +other values are input into its state.</p> +<p>On a slower rate input from /dev/urandom is mixed too.</p> +<p class="since">Since: 3.1.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-init-func"></a><h3>gnutls_cipher_init_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_cipher_init_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> Param1</code></em>, + <em class="parameter"><code><span class="type">void</span> **ctx</code></em>, + <em class="parameter"><code><span class="type">int</span> enc</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-setkey-func"></a><h3>gnutls_cipher_setkey_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_cipher_setkey_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *key</code></em>, + <em class="parameter"><code><span class="type">size_t</span> keysize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-setiv-func"></a><h3>gnutls_cipher_setiv_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_cipher_setiv_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *iv</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ivsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-getiv-func"></a><h3>gnutls_cipher_getiv_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_cipher_getiv_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code><span class="type">void</span> *iv</code></em>, + <em class="parameter"><code><span class="type">size_t</span> ivsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-encrypt-func"></a><h3>gnutls_cipher_encrypt_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_cipher_encrypt_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *plain</code></em>, + <em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>, + <em class="parameter"><code><span class="type">void</span> *encr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-decrypt-func"></a><h3>gnutls_cipher_decrypt_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_cipher_decrypt_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *encr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>, + <em class="parameter"><code><span class="type">void</span> *plain</code></em>, + <em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-auth-func"></a><h3>gnutls_cipher_auth_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_cipher_auth_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> datasize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-tag-func"></a><h3>gnutls_cipher_tag_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*gnutls_cipher_tag_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code><span class="type">void</span> *tag</code></em>, + <em class="parameter"><code><span class="type">size_t</span> tagsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-aead-encrypt-func"></a><h3>gnutls_cipher_aead_encrypt_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_cipher_aead_encrypt_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> noncesize</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *auth</code></em>, + <em class="parameter"><code><span class="type">size_t</span> authsize</code></em>, + <em class="parameter"><code><span class="type">size_t</span> tag_size</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *plain</code></em>, + <em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>, + <em class="parameter"><code><span class="type">void</span> *encr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-aead-decrypt-func"></a><h3>gnutls_cipher_aead_decrypt_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_cipher_aead_decrypt_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> noncesize</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *auth</code></em>, + <em class="parameter"><code><span class="type">size_t</span> authsize</code></em>, + <em class="parameter"><code><span class="type">size_t</span> tag_size</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *encr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>, + <em class="parameter"><code><span class="type">void</span> *plain</code></em>, + <em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-deinit-func"></a><h3>gnutls_cipher_deinit_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*gnutls_cipher_deinit_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-crypto-register-cipher"></a><h3>gnutls_crypto_register_cipher ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_crypto_register_cipher (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> algorithm</code></em>, + <em class="parameter"><code><span class="type">int</span> priority</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-init-func" title="gnutls_cipher_init_func ()"><span class="type">gnutls_cipher_init_func</span></a> init</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-setkey-func" title="gnutls_cipher_setkey_func ()"><span class="type">gnutls_cipher_setkey_func</span></a> setkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-setiv-func" title="gnutls_cipher_setiv_func ()"><span class="type">gnutls_cipher_setiv_func</span></a> setiv</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt-func" title="gnutls_cipher_encrypt_func ()"><span class="type">gnutls_cipher_encrypt_func</span></a> encrypt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt-func" title="gnutls_cipher_decrypt_func ()"><span class="type">gnutls_cipher_decrypt_func</span></a> decrypt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-deinit-func" title="gnutls_cipher_deinit_func ()"><span class="type">gnutls_cipher_deinit_func</span></a> deinit</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_crypto_register_cipher</code> is deprecated and should not be used in newly-written code.</p> +<p>since 3.7.0 it is no longer possible to override cipher implementation</p> +</div> +<p>This function will register a cipher algorithm to be used by +gnutls. Any algorithm registered will override the included +algorithms and by convention kernel implemented algorithms have +priority of 90 and CPU-assisted of 80. The algorithm with the lowest priority will be +used by gnutls.</p> +<p>In the case the registered init or setkey functions return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NEED-FALLBACK:CAPS" title="GNUTLS_E_NEED_FALLBACK"><code class="literal">GNUTLS_E_NEED_FALLBACK</code></a>, +GnuTLS will attempt to use the next in priority registered cipher.</p> +<p>The functions which are marked as non-AEAD they are not required when +registering a cipher to be used with the new AEAD API introduced in +GnuTLS 3.4.0. Internally GnuTLS uses the new AEAD API.</p> +<div class="refsect3"> +<a name="gnutls-crypto-register-cipher.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>is the gnutls algorithm identifier</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>priority</p></td> +<td class="parameter_description"><p>is the priority of the algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>init</p></td> +<td class="parameter_description"><p>A function which initializes the cipher</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>setkey</p></td> +<td class="parameter_description"><p>A function which sets the key of the cipher</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>setiv</p></td> +<td class="parameter_description"><p>A function which sets the nonce/IV of the cipher (non-AEAD)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>encrypt</p></td> +<td class="parameter_description"><p>A function which performs encryption (non-AEAD)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>decrypt</p></td> +<td class="parameter_description"><p>A function which performs decryption (non-AEAD)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit</p></td> +<td class="parameter_description"><p>A function which deinitializes the cipher</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-crypto-register-cipher.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-crypto-register-aead-cipher"></a><h3>gnutls_crypto_register_aead_cipher ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_crypto_register_aead_cipher (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> algorithm</code></em>, + <em class="parameter"><code><span class="type">int</span> priority</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-init-func" title="gnutls_cipher_init_func ()"><span class="type">gnutls_cipher_init_func</span></a> init</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-setkey-func" title="gnutls_cipher_setkey_func ()"><span class="type">gnutls_cipher_setkey_func</span></a> setkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-aead-encrypt-func" title="gnutls_cipher_aead_encrypt_func ()"><span class="type">gnutls_cipher_aead_encrypt_func</span></a> aead_encrypt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-aead-decrypt-func" title="gnutls_cipher_aead_decrypt_func ()"><span class="type">gnutls_cipher_aead_decrypt_func</span></a> aead_decrypt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-deinit-func" title="gnutls_cipher_deinit_func ()"><span class="type">gnutls_cipher_deinit_func</span></a> deinit</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_crypto_register_aead_cipher</code> is deprecated and should not be used in newly-written code.</p> +<p>since 3.7.0 it is no longer possible to override cipher implementation</p> +</div> +<p>This function will register a cipher algorithm to be used by +gnutls. Any algorithm registered will override the included +algorithms and by convention kernel implemented algorithms have +priority of 90 and CPU-assisted of 80. The algorithm with the lowest priority will be +used by gnutls.</p> +<p>In the case the registered init or setkey functions return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NEED-FALLBACK:CAPS" title="GNUTLS_E_NEED_FALLBACK"><code class="literal">GNUTLS_E_NEED_FALLBACK</code></a>, +GnuTLS will attempt to use the next in priority registered cipher.</p> +<p>The functions registered will be used with the new AEAD API introduced in +GnuTLS 3.4.0. Internally GnuTLS uses the new AEAD API.</p> +<div class="refsect3"> +<a name="gnutls-crypto-register-aead-cipher.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>is the gnutls AEAD cipher identifier</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>priority</p></td> +<td class="parameter_description"><p>is the priority of the algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>init</p></td> +<td class="parameter_description"><p>A function which initializes the cipher</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>setkey</p></td> +<td class="parameter_description"><p>A function which sets the key of the cipher</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>aead_encrypt</p></td> +<td class="parameter_description"><p>Perform the AEAD encryption</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>aead_decrypt</p></td> +<td class="parameter_description"><p>Perform the AEAD decryption</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit</p></td> +<td class="parameter_description"><p>A function which deinitializes the cipher</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-crypto-register-aead-cipher.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-init-func"></a><h3>gnutls_mac_init_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_mac_init_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> Param1</code></em>, + <em class="parameter"><code><span class="type">void</span> **ctx</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-setkey-func"></a><h3>gnutls_mac_setkey_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_mac_setkey_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *key</code></em>, + <em class="parameter"><code><span class="type">size_t</span> keysize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-setnonce-func"></a><h3>gnutls_mac_setnonce_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_mac_setnonce_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> noncesize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-hash-func"></a><h3>gnutls_mac_hash_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_mac_hash_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> textsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-output-func"></a><h3>gnutls_mac_output_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_mac_output_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *src_ctx</code></em>, + <em class="parameter"><code><span class="type">void</span> *digest</code></em>, + <em class="parameter"><code><span class="type">size_t</span> digestsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-deinit-func"></a><h3>gnutls_mac_deinit_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*gnutls_mac_deinit_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-fast-func"></a><h3>gnutls_mac_fast_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_mac_fast_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> Param1</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nonce</code></em>, + <em class="parameter"><code><span class="type">size_t</span> nonce_size</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *key</code></em>, + <em class="parameter"><code><span class="type">size_t</span> keysize</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> textsize</code></em>, + <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-copy-func"></a><h3>gnutls_mac_copy_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +<span class="c_punctuation">(</span>*gnutls_mac_copy_func<span class="c_punctuation">)</span> (<em class="parameter"><code>const <span class="type">void</span> *ctx</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-crypto-register-mac"></a><h3>gnutls_crypto_register_mac ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_crypto_register_mac (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> mac</code></em>, + <em class="parameter"><code><span class="type">int</span> priority</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-mac-init-func" title="gnutls_mac_init_func ()"><span class="type">gnutls_mac_init_func</span></a> init</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-mac-setkey-func" title="gnutls_mac_setkey_func ()"><span class="type">gnutls_mac_setkey_func</span></a> setkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-mac-setnonce-func" title="gnutls_mac_setnonce_func ()"><span class="type">gnutls_mac_setnonce_func</span></a> setnonce</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-mac-hash-func" title="gnutls_mac_hash_func ()"><span class="type">gnutls_mac_hash_func</span></a> hash</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-mac-output-func" title="gnutls_mac_output_func ()"><span class="type">gnutls_mac_output_func</span></a> output</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-mac-deinit-func" title="gnutls_mac_deinit_func ()"><span class="type">gnutls_mac_deinit_func</span></a> deinit</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-mac-fast-func" title="gnutls_mac_fast_func ()"><span class="type">gnutls_mac_fast_func</span></a> hash_fast</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_crypto_register_mac</code> is deprecated and should not be used in newly-written code.</p> +<p>since 3.7.0 it is no longer possible to override cipher implementation</p> +</div> +<p>This function will register a MAC algorithm to be used by gnutls. +Any algorithm registered will override the included algorithms and +by convention kernel implemented algorithms have priority of 90 + and CPU-assisted of 80. +The algorithm with the lowest priority will be used by gnutls.</p> +<div class="refsect3"> +<a name="gnutls-crypto-register-mac.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>is the gnutls MAC identifier</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>priority</p></td> +<td class="parameter_description"><p>is the priority of the algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>init</p></td> +<td class="parameter_description"><p>A function which initializes the MAC</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>setkey</p></td> +<td class="parameter_description"><p>A function which sets the key of the MAC</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>setnonce</p></td> +<td class="parameter_description"><p>A function which sets the nonce for the mac (may be <code class="literal">NULL</code> for common MAC algorithms)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash</p></td> +<td class="parameter_description"><p>Perform the hash operation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>Provide the output of the MAC</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit</p></td> +<td class="parameter_description"><p>A function which deinitializes the MAC</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash_fast</p></td> +<td class="parameter_description"><p>Perform the MAC operation in one go</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-crypto-register-mac.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-digest-init-func"></a><h3>gnutls_digest_init_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_digest_init_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> Param1</code></em>, + <em class="parameter"><code><span class="type">void</span> **ctx</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-digest-hash-func"></a><h3>gnutls_digest_hash_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_digest_hash_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> textsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-digest-output-func"></a><h3>gnutls_digest_output_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_digest_output_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *src_ctx</code></em>, + <em class="parameter"><code><span class="type">void</span> *digest</code></em>, + <em class="parameter"><code><span class="type">size_t</span> digestsize</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-digest-deinit-func"></a><h3>gnutls_digest_deinit_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*gnutls_digest_deinit_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-digest-fast-func"></a><h3>gnutls_digest_fast_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_digest_fast_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> Param1</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *text</code></em>, + <em class="parameter"><code><span class="type">size_t</span> textsize</code></em>, + <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-digest-copy-func"></a><h3>gnutls_digest_copy_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +<span class="c_punctuation">(</span>*gnutls_digest_copy_func<span class="c_punctuation">)</span> (<em class="parameter"><code>const <span class="type">void</span> *ctx</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-crypto-register-digest"></a><h3>gnutls_crypto_register_digest ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_crypto_register_digest (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> digest</code></em>, + <em class="parameter"><code><span class="type">int</span> priority</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-digest-init-func" title="gnutls_digest_init_func ()"><span class="type">gnutls_digest_init_func</span></a> init</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-digest-hash-func" title="gnutls_digest_hash_func ()"><span class="type">gnutls_digest_hash_func</span></a> hash</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-digest-output-func" title="gnutls_digest_output_func ()"><span class="type">gnutls_digest_output_func</span></a> output</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-digest-deinit-func" title="gnutls_digest_deinit_func ()"><span class="type">gnutls_digest_deinit_func</span></a> deinit</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-digest-fast-func" title="gnutls_digest_fast_func ()"><span class="type">gnutls_digest_fast_func</span></a> hash_fast</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_crypto_register_digest</code> is deprecated and should not be used in newly-written code.</p> +<p>since 3.7.0 it is no longer possible to override cipher implementation</p> +</div> +<p>This function will register a digest algorithm to be used by gnutls. +Any algorithm registered will override the included algorithms and +by convention kernel implemented algorithms have priority of 90 + and CPU-assisted of 80. +The algorithm with the lowest priority will be used by gnutls.</p> +<div class="refsect3"> +<a name="gnutls-crypto-register-digest.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>is the gnutls digest identifier</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>priority</p></td> +<td class="parameter_description"><p>is the priority of the algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>init</p></td> +<td class="parameter_description"><p>A function which initializes the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash</p></td> +<td class="parameter_description"><p>Perform the hash operation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>Provide the output of the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit</p></td> +<td class="parameter_description"><p>A function which deinitializes the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash_fast</p></td> +<td class="parameter_description"><p>Perform the digest operation in one go</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-crypto-register-digest.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-encode-ber-digest-info"></a><h3>gnutls_encode_ber_digest_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_encode_ber_digest_info (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> hash</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *digest</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *output</code></em>);</pre> +<p>This function will encode the provided digest data, and its +algorithm into an RSA PKCS#1 1.5 DigestInfo structure.</p> +<div class="refsect3"> +<a name="gnutls-encode-ber-digest-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>info</p></td> +<td class="parameter_description"><p>an RSA BER encoded DigestInfo structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash</p></td> +<td class="parameter_description"><p>the hash algorithm that was used to get the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>must contain the digest data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>will contain the allocated DigestInfo BER encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-encode-ber-digest-info.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-decode-ber-digest-info"></a><h3>gnutls_decode_ber_digest_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_decode_ber_digest_info (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *info</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> *hash</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *digest</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *digest_size</code></em>);</pre> +<p>This function will parse an RSA PKCS#1 1.5 DigestInfo structure +and report the hash algorithm used as well as the digest data.</p> +<div class="refsect3"> +<a name="gnutls-decode-ber-digest-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>info</p></td> +<td class="parameter_description"><p>an RSA BER encoded DigestInfo structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash</p></td> +<td class="parameter_description"><p>will contain the hash algorithm of the structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>will contain the hash output of the structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest_size</p></td> +<td class="parameter_description"><p>will contain the hash size of the structure; initially must hold the maximum size of <em class="parameter"><code>digest</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-decode-ber-digest-info.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-decode-rs-value"></a><h3>gnutls_decode_rs_value ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_decode_rs_value (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *sig_value</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *r</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *s</code></em>);</pre> +<p>This function will decode the provided <em class="parameter"><code>sig_value</code></em> +, +into <em class="parameter"><code>r</code></em> + and <em class="parameter"><code>s</code></em> + elements. The Dss-Sig-Value is used for DSA and ECDSA +signatures.</p> +<p>The output values may be padded with a zero byte to prevent them +from being interpreted as negative values. The value +should be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-decode-rs-value.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sig_value</p></td> +<td class="parameter_description"><p>holds a Dss-Sig-Value DER or BER encoded structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>r</p></td> +<td class="parameter_description"><p>will contain the r value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>s</p></td> +<td class="parameter_description"><p>will contain the s value</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-decode-rs-value.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-encode-rs-value"></a><h3>gnutls_encode_rs_value ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_encode_rs_value (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *sig_value</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *r</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *s</code></em>);</pre> +<p>This function will encode the provided r and s values, +into a Dss-Sig-Value structure, used for DSA and ECDSA +signatures.</p> +<p>The output value should be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-encode-rs-value.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sig_value</p></td> +<td class="parameter_description"><p>will hold a Dss-Sig-Value DER encoded structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>r</p></td> +<td class="parameter_description"><p>must contain the r value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>s</p></td> +<td class="parameter_description"><p>must contain the s value</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-encode-rs-value.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-encode-gost-rs-value"></a><h3>gnutls_encode_gost_rs_value ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_encode_gost_rs_value (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *sig_value</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *r</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *s</code></em>);</pre> +<p>This function will encode the provided r and s values, into binary +representation according to RFC 4491 section 2.2.2, used for GOST R +34.10-2001 (and thus also for GOST R 34.10-2012) signatures.</p> +<p>The output value should be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-encode-gost-rs-value.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sig_value</p></td> +<td class="parameter_description"><p>will hold a GOST signature according to RFC 4491 section 2.2.2</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>r</p></td> +<td class="parameter_description"><p>must contain the r value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>s</p></td> +<td class="parameter_description"><p>must contain the s value</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-encode-gost-rs-value.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-decode-gost-rs-value"></a><h3>gnutls_decode_gost_rs_value ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_decode_gost_rs_value (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *sig_value</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *r</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *s</code></em>);</pre> +<p>This function will decode the provided <em class="parameter"><code>sig_value</code></em> +, into <em class="parameter"><code>r</code></em> + and <em class="parameter"><code>s</code></em> + elements. +See RFC 4491 section 2.2.2 for the format of signature value.</p> +<p>The output values may be padded with a zero byte to prevent them +from being interpreted as negative values. The value +should be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-decode-gost-rs-value.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sig_value</p></td> +<td class="parameter_description"><p>will holds a GOST signature according to RFC 4491 section 2.2.2</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>r</p></td> +<td class="parameter_description"><p>will contain the r value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>s</p></td> +<td class="parameter_description"><p>will contain the s value</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-decode-gost-rs-value.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +</div> +<div class="refsect1"> +<a name="gnutls-crypto.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="gnutls-cipher-hd-t"></a><h3>gnutls_cipher_hd_t</h3> +<pre class="programlisting">typedef struct api_cipher_hd_st *gnutls_cipher_hd_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-flags-t"></a><h3>enum gnutls_cipher_flags_t</h3> +<p>Enumeration of flags to control block cipher padding, used by +<a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt3" title="gnutls_cipher_encrypt3 ()"><code class="function">gnutls_cipher_encrypt3()</code></a> and <a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt3" title="gnutls_cipher_decrypt3 ()"><code class="function">gnutls_cipher_decrypt3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-cipher-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody><tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-PADDING-PKCS7:CAPS"></a>GNUTLS_CIPHER_PADDING_PKCS7</p></td> +<td class="enum_member_description"> +<p>Flag to indicate PKCS#7 padding</p> +</td> +<td class="enum_member_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.7.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hash-hd-t"></a><h3>gnutls_hash_hd_t</h3> +<pre class="programlisting">typedef struct hash_hd_st *gnutls_hash_hd_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hmac-hd-t"></a><h3>gnutls_hmac_hd_t</h3> +<pre class="programlisting">typedef struct hmac_hd_st *gnutls_hmac_hd_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-rnd-level-t"></a><h3>enum gnutls_rnd_level_t</h3> +<p>Enumeration of random quality levels.</p> +<div class="refsect3"> +<a name="gnutls-rnd-level-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-RND-NONCE:CAPS"></a>GNUTLS_RND_NONCE</p></td> +<td class="enum_member_description"> +<p>Non-predictable random number. Fatal in parts +of session if broken, i.e., vulnerable to statistical analysis.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-RND-RANDOM:CAPS"></a>GNUTLS_RND_RANDOM</p></td> +<td class="enum_member_description"> +<p>Pseudo-random cryptographic random number. +Fatal in session if broken. Example use: temporal keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-RND-KEY:CAPS"></a>GNUTLS_RND_KEY</p></td> +<td class="enum_member_description"> +<p>Fatal in many sessions if broken. Example use: +Long-term keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-dtls.html b/doc/reference/html/gnutls-dtls.html new file mode 100644 index 0000000..2b0073a --- /dev/null +++ b/doc/reference/html/gnutls-dtls.html @@ -0,0 +1,606 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>dtls: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-ocsp.html" title="ocsp"> +<link rel="next" href="gnutls-tpm.html" title="tpm"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-dtls.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="gnutls-ocsp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-tpm.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-dtls"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-dtls.top_of_page"></a>dtls</span></h2> +<p>dtls</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-dtls.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-set-timeouts" title="gnutls_dtls_set_timeouts ()">gnutls_dtls_set_timeouts</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-get-mtu" title="gnutls_dtls_get_mtu ()">gnutls_dtls_get_mtu</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-get-data-mtu" title="gnutls_dtls_get_data_mtu ()">gnutls_dtls_get_data_mtu</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-set-mtu" title="gnutls_dtls_set_mtu ()">gnutls_dtls_set_mtu</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-set-data-mtu" title="gnutls_dtls_set_data_mtu ()">gnutls_dtls_set_data_mtu</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-get-timeout" title="gnutls_dtls_get_timeout ()">gnutls_dtls_get_timeout</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-send" title="gnutls_dtls_cookie_send ()">gnutls_dtls_cookie_send</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-verify" title="gnutls_dtls_cookie_verify ()">gnutls_dtls_cookie_verify</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-dtls-prestate-set" title="gnutls_dtls_prestate_set ()">gnutls_dtls_prestate_set</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-dtls.html#gnutls-record-get-discarded" title="gnutls_record_get_discarded ()">gnutls_record_get_discarded</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-dtls.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-dtls.html#GNUTLS-COOKIE-KEY-SIZE:CAPS" title="GNUTLS_COOKIE_KEY_SIZE">GNUTLS_COOKIE_KEY_SIZE</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-dtls.html#gnutls-dtls-prestate-st" title="gnutls_dtls_prestate_st">gnutls_dtls_prestate_st</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-dtls.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-dtls.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gnutls-dtls-set-timeouts"></a><h3>gnutls_dtls_set_timeouts ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_dtls_set_timeouts (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> retrans_timeout</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> total_timeout</code></em>);</pre> +<p>This function will set the timeouts required for the DTLS handshake +protocol. The retransmission timeout is the time after which a +message from the peer is not received, the previous messages will +be retransmitted. The total timeout is the time after which the +handshake will be aborted with <a class="link" href="gnutls-gnutls.html#GNUTLS-E-TIMEDOUT:CAPS" title="GNUTLS_E_TIMEDOUT"><code class="literal">GNUTLS_E_TIMEDOUT</code></a>.</p> +<p>The DTLS protocol recommends the values of 1 sec and 60 seconds +respectively, and these are the default values.</p> +<p>To disable retransmissions set a <em class="parameter"><code>retrans_timeout</code></em> + larger than the <em class="parameter"><code>total_timeout</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-dtls-set-timeouts.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>retrans_timeout</p></td> +<td class="parameter_description"><p>The time at which a retransmission will occur in milliseconds</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>total_timeout</p></td> +<td class="parameter_description"><p>The time at which the connection will be aborted, in milliseconds.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dtls-get-mtu"></a><h3>gnutls_dtls_get_mtu ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +gnutls_dtls_get_mtu (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the MTU size as set with +<a class="link" href="gnutls-dtls.html#gnutls-dtls-set-mtu" title="gnutls_dtls_set_mtu ()"><code class="function">gnutls_dtls_set_mtu()</code></a>. This is not the actual MTU +of data you can transmit. Use <a class="link" href="gnutls-dtls.html#gnutls-dtls-get-data-mtu" title="gnutls_dtls_get_data_mtu ()"><code class="function">gnutls_dtls_get_data_mtu()</code></a> +for that reason.</p> +<div class="refsect3"> +<a name="gnutls-dtls-get-mtu.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dtls-get-mtu.returns"></a><h4>Returns</h4> +<p> the set maximum transfer unit.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dtls-get-data-mtu"></a><h3>gnutls_dtls_get_data_mtu ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +gnutls_dtls_get_data_mtu (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the actual maximum transfer unit for +application data. I.e. DTLS headers are subtracted from the +actual MTU which is set using <a class="link" href="gnutls-dtls.html#gnutls-dtls-set-mtu" title="gnutls_dtls_set_mtu ()"><code class="function">gnutls_dtls_set_mtu()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-dtls-get-data-mtu.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dtls-get-data-mtu.returns"></a><h4>Returns</h4> +<p> the maximum allowed transfer unit.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dtls-set-mtu"></a><h3>gnutls_dtls_set_mtu ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_dtls_set_mtu (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> mtu</code></em>);</pre> +<p>This function will set the maximum transfer unit of the transport +that DTLS packets are sent over. Note that this should exclude +the IP (or IPv6) and UDP headers. So for DTLS over IPv6 on an +Ethernet device with MTU 1500, the DTLS MTU set with this function +would be 1500 - 40 (IPV6 header) - 8 (UDP header) = 1452.</p> +<div class="refsect3"> +<a name="gnutls-dtls-set-mtu.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mtu</p></td> +<td class="parameter_description"><p>The maximum transfer unit of the transport</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dtls-set-data-mtu"></a><h3>gnutls_dtls_set_data_mtu ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dtls_set_data_mtu (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> mtu</code></em>);</pre> +<p>This function will set the maximum size of the *unencrypted* records +which will be sent over a DTLS session. It is equivalent to calculating +the DTLS packet overhead with the current encryption parameters, and +calling <a class="link" href="gnutls-dtls.html#gnutls-dtls-set-mtu" title="gnutls_dtls_set_mtu ()"><code class="function">gnutls_dtls_set_mtu()</code></a> with that value. In particular, this means +that you may need to call this function again after any negotiation or +renegotiation, in order to ensure that the MTU is still sufficient to +account for the new protocol overhead.</p> +<p>In most cases you only need to call <a class="link" href="gnutls-dtls.html#gnutls-dtls-set-mtu" title="gnutls_dtls_set_mtu ()"><code class="function">gnutls_dtls_set_mtu()</code></a> with +the maximum MTU of your transport layer.</p> +<div class="refsect3"> +<a name="gnutls-dtls-set-data-mtu.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mtu</p></td> +<td class="parameter_description"><p>The maximum unencrypted transfer unit of the session</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dtls-set-data-mtu.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success, or a negative error code.</p> +</div> +<p class="since">Since: 3.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dtls-get-timeout"></a><h3>gnutls_dtls_get_timeout ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +gnutls_dtls_get_timeout (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the milliseconds remaining +for a retransmission of the previously sent handshake +message. This function is useful when DTLS is used in +non-blocking mode, to estimate when to call <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a> +if no packets have been received.</p> +<div class="refsect3"> +<a name="gnutls-dtls-get-timeout.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dtls-get-timeout.returns"></a><h4>Returns</h4> +<p> the remaining time in milliseconds.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dtls-cookie-send"></a><h3>gnutls_dtls_cookie_send ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dtls_cookie_send (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code><span class="type">void</span> *client_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> client_data_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-dtls.html#gnutls-dtls-prestate-st" title="gnutls_dtls_prestate_st"><span class="type">gnutls_dtls_prestate_st</span></a> *prestate</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> ptr</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()"><span class="type">gnutls_push_func</span></a> push_func</code></em>);</pre> +<p>This function can be used to prevent denial of service +attacks to a DTLS server by requiring the client to +reply using a cookie sent by this function. That way +it can be ensured that a client we allocated resources +for (i.e. <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a>) is the one that the +original incoming packet was originated from.</p> +<p>This function must be called at the first incoming packet, +prior to allocating any resources and must be succeeded +by <a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-verify" title="gnutls_dtls_cookie_verify ()"><code class="function">gnutls_dtls_cookie_verify()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-dtls-cookie-send.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is a random key to be used at cookie generation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>client_data</p></td> +<td class="parameter_description"><p>contains data identifying the client (i.e. address)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>client_data_size</p></td> +<td class="parameter_description"><p>The size of client's data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>prestate</p></td> +<td class="parameter_description"><p>The previous cookie returned by <a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-verify" title="gnutls_dtls_cookie_verify ()"><code class="function">gnutls_dtls_cookie_verify()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>A transport pointer to be used by <em class="parameter"><code>push_func</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>push_func</p></td> +<td class="parameter_description"><p>A function that will be used to reply</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dtls-cookie-send.returns"></a><h4>Returns</h4> +<p> the number of bytes sent, or a negative error code. </p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dtls-cookie-verify"></a><h3>gnutls_dtls_cookie_verify ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dtls_cookie_verify (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code><span class="type">void</span> *client_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> client_data_size</code></em>, + <em class="parameter"><code><span class="type">void</span> *_msg</code></em>, + <em class="parameter"><code><span class="type">size_t</span> msg_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-dtls.html#gnutls-dtls-prestate-st" title="gnutls_dtls_prestate_st"><span class="type">gnutls_dtls_prestate_st</span></a> *prestate</code></em>);</pre> +<p>This function will verify the received message for +a valid cookie. If a valid cookie is returned then +it should be associated with the session using +<a class="link" href="gnutls-dtls.html#gnutls-dtls-prestate-set" title="gnutls_dtls_prestate_set ()"><code class="function">gnutls_dtls_prestate_set()</code></a>;</p> +<p>This function must be called after <a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-send" title="gnutls_dtls_cookie_send ()"><code class="function">gnutls_dtls_cookie_send()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-dtls-cookie-verify.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is a random key to be used at cookie generation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>client_data</p></td> +<td class="parameter_description"><p>contains data identifying the client (i.e. address)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>client_data_size</p></td> +<td class="parameter_description"><p>The size of client's data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>_msg</p></td> +<td class="parameter_description"><p>An incoming message that initiates a connection.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>msg_size</p></td> +<td class="parameter_description"><p>The size of the message.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>prestate</p></td> +<td class="parameter_description"><p>The cookie of this client.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dtls-cookie-verify.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success, or a negative error code. </p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dtls-prestate-set"></a><h3>gnutls_dtls_prestate_set ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_dtls_prestate_set (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-dtls.html#gnutls-dtls-prestate-st" title="gnutls_dtls_prestate_st"><span class="type">gnutls_dtls_prestate_st</span></a> *prestate</code></em>);</pre> +<p>This function will associate the prestate acquired by +the cookie authentication with the client, with the newly +established session.</p> +<p>This functions must be called after a successful <a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-verify" title="gnutls_dtls_cookie_verify ()"><code class="function">gnutls_dtls_cookie_verify()</code></a> +and should be succeeded by the actual DTLS handshake using <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-dtls-prestate-set.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>a new session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>prestate</p></td> +<td class="parameter_description"><p>contains the client's prestate</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-get-discarded"></a><h3>gnutls_record_get_discarded ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +gnutls_record_get_discarded (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Returns the number of discarded packets in a +DTLS connection.</p> +<div class="refsect3"> +<a name="gnutls-record-get-discarded.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-get-discarded.returns"></a><h4>Returns</h4> +<p> The number of discarded packets.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +</div> +<div class="refsect1"> +<a name="gnutls-dtls.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="GNUTLS-COOKIE-KEY-SIZE:CAPS"></a><h3>GNUTLS_COOKIE_KEY_SIZE</h3> +<pre class="programlisting">#define GNUTLS_COOKIE_KEY_SIZE 16 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dtls-prestate-st"></a><h3>gnutls_dtls_prestate_st</h3> +<pre class="programlisting">typedef struct { + unsigned int record_seq; + unsigned int hsk_read_seq; + unsigned int hsk_write_seq; +} gnutls_dtls_prestate_st; +</pre> +<p>DTLS cookie prestate struct. This is usually never modified by +the application, it is used to carry the cookie data between +<a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-send" title="gnutls_dtls_cookie_send ()"><code class="function">gnutls_dtls_cookie_send()</code></a>, <a class="link" href="gnutls-dtls.html#gnutls-dtls-cookie-verify" title="gnutls_dtls_cookie_verify ()"><code class="function">gnutls_dtls_cookie_verify()</code></a> and +<a class="link" href="gnutls-dtls.html#gnutls-dtls-prestate-set" title="gnutls_dtls_prestate_set ()"><code class="function">gnutls_dtls_prestate_set()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-dtls-prestate-st.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p>unsigned <span class="type">int</span> <em class="structfield"><code><a name="gnutls-dtls-prestate-st.record-seq"></a>record_seq</code></em>;</p></td> +<td class="struct_member_description"><p>record sequence number</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p>unsigned <span class="type">int</span> <em class="structfield"><code><a name="gnutls-dtls-prestate-st.hsk-read-seq"></a>hsk_read_seq</code></em>;</p></td> +<td class="struct_member_description"><p>handshake read sequence number</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p>unsigned <span class="type">int</span> <em class="structfield"><code><a name="gnutls-dtls-prestate-st.hsk-write-seq"></a>hsk_write_seq</code></em>;</p></td> +<td class="struct_member_description"><p>handshake write sequence number</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-gnutls.html b/doc/reference/html/gnutls-gnutls.html new file mode 100644 index 0000000..eed7057 --- /dev/null +++ b/doc/reference/html/gnutls-gnutls.html @@ -0,0 +1,27114 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>gnutls: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="next" href="gnutls-abstract.html" title="abstract"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-gnutls.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="intro.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-abstract.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-gnutls"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-gnutls.top_of_page"></a>gnutls</span></h2> +<p>gnutls</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-gnutls.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-get-name" title="gnutls_pk_algorithm_get_name ()">gnutls_pk_algorithm_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#GNUTLS-CURVE-TO-BITS:CAPS" title="GNUTLS_CURVE_TO_BITS()">GNUTLS_CURVE_TO_BITS</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#GNUTLS-BITS-TO-CURVE:CAPS" title="GNUTLS_BITS_TO_CURVE()">GNUTLS_BITS_TO_CURVE</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#GNUTLS-BITS-ARE-CURVE:CAPS" title="GNUTLS_BITS_ARE_CURVE()">GNUTLS_BITS_ARE_CURVE</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-init" title="gnutls_init ()">gnutls_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()">gnutls_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-bye" title="gnutls_bye ()">gnutls_bye</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">gnutls_handshake</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-reauth" title="gnutls_reauth ()">gnutls_reauth</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-timeout" title="gnutls_handshake_set_timeout ()">gnutls_handshake_set_timeout</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-rehandshake" title="gnutls_rehandshake ()">gnutls_rehandshake</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-key-update" title="gnutls_session_key_update ()">gnutls_session_key_update</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="returnvalue">gnutls_alert_description_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-get" title="gnutls_alert_get ()">gnutls_alert_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-send" title="gnutls_alert_send ()">gnutls_alert_send</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-send-appropriate" title="gnutls_alert_send_appropriate ()">gnutls_alert_send_appropriate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-get-name" title="gnutls_alert_get_name ()">gnutls_alert_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-get-strname" title="gnutls_alert_get_strname ()">gnutls_alert_get_strname</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="returnvalue">gnutls_sec_param_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-pk-bits-to-sec-param" title="gnutls_pk_bits_to_sec_param ()">gnutls_pk_bits_to_sec_param</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-get-name" title="gnutls_sec_param_get_name ()">gnutls_sec_param_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-pk-bits" title="gnutls_sec_param_to_pk_bits ()">gnutls_sec_param_to_pk_bits</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-symmetric-bits" title="gnutls_sec_param_to_symmetric_bits ()">gnutls_sec_param_to_symmetric_bits</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-group-t" title="enum gnutls_group_t"><span class="returnvalue">gnutls_group_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-group-get" title="gnutls_group_get ()">gnutls_group_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-get" title="gnutls_cipher_get ()">gnutls_cipher_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-early-cipher-get" title="gnutls_early_cipher_get ()">gnutls_early_cipher_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="returnvalue">gnutls_kx_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-kx-get" title="gnutls_kx_get ()">gnutls_kx_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="returnvalue">gnutls_mac_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-mac-get" title="gnutls_mac_get ()">gnutls_mac_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="returnvalue">gnutls_digest_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-prf-hash-get" title="gnutls_prf_hash_get ()">gnutls_prf_hash_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="returnvalue">gnutls_digest_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-early-prf-hash-get" title="gnutls_early_prf_hash_get ()">gnutls_early_prf_hash_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get" title="gnutls_certificate_type_get ()">gnutls_certificate_type_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get2" title="gnutls_certificate_type_get2 ()">gnutls_certificate_type_get2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-get" title="gnutls_sign_algorithm_get ()">gnutls_sign_algorithm_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-get-client" title="gnutls_sign_algorithm_get_client ()">gnutls_sign_algorithm_get_client</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-get-requested" title="gnutls_sign_algorithm_get_requested ()">gnutls_sign_algorithm_get_requested</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-get-name" title="gnutls_cipher_get_name ()">gnutls_cipher_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="returnvalue">gnutls_digest_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-oid-to-digest" title="gnutls_oid_to_digest ()">gnutls_oid_to_digest</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-set-enabled" title="gnutls_ecc_curve_set_enabled ()">gnutls_ecc_curve_set_enabled</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-set-secure" title="gnutls_sign_set_secure ()">gnutls_sign_set_secure</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-sign-set-secure-for-certs" title="gnutls_sign_set_secure_for_certs ()">gnutls_sign_set_secure_for_certs</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-digest-set-secure" title="gnutls_digest_set_secure ()">gnutls_digest_set_secure</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-protocol-set-enabled" title="gnutls_protocol_set_enabled ()">gnutls_protocol_set_enabled</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-error-is-fatal" title="gnutls_error_is_fatal ()">gnutls_error_is_fatal</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-perror" title="gnutls_perror ()">gnutls_perror</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-strerror" title="gnutls_strerror ()">gnutls_strerror</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-random" title="gnutls_handshake_set_random ()">gnutls_handshake_set_random</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="returnvalue">gnutls_handshake_description_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-get-last-out" title="gnutls_handshake_get_last_out ()">gnutls_handshake_get_last_out</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="returnvalue">gnutls_handshake_description_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-get-last-in" title="gnutls_handshake_get_last_in ()">gnutls_handshake_get_last_in</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-ping" title="gnutls_heartbeat_ping ()">gnutls_heartbeat_ping</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-pong" title="gnutls_heartbeat_pong ()">gnutls_heartbeat_pong</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-timeout" title="gnutls_record_set_timeout ()">gnutls_record_set_timeout</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-disable-padding" title="gnutls_record_disable_padding ()">gnutls_record_disable_padding</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-cork" title="gnutls_record_cork ()">gnutls_record_cork</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-uncork" title="gnutls_record_uncork ()">gnutls_record_uncork</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">size_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-discard-queued" title="gnutls_record_discard_queued ()">gnutls_record_discard_queued</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-state" title="gnutls_record_get_state ()">gnutls_record_get_state</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-state" title="gnutls_record_set_state ()">gnutls_record_set_state</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-range-split" title="gnutls_range_split ()">gnutls_range_split</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()">gnutls_record_send</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send2" title="gnutls_record_send2 ()">gnutls_record_send2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send-range" title="gnutls_record_send_range ()">gnutls_record_send_range</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send-file" title="gnutls_record_send_file ()">gnutls_record_send_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()">gnutls_record_recv</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-recv-packet" title="gnutls_record_recv_packet ()">gnutls_record_recv_packet</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-packet-get" title="gnutls_packet_get ()">gnutls_packet_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-packet-deinit" title="gnutls_packet_deinit ()">gnutls_packet_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-recv-seq" title="gnutls_record_recv_seq ()">gnutls_record_recv_seq</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">size_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-overhead-size" title="gnutls_record_overhead_size ()">gnutls_record_overhead_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">size_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-est-record-overhead-size" title="gnutls_est_record_overhead_size ()">gnutls_est_record_overhead_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-empty-records" title="gnutls_record_set_max_empty_records()">gnutls_record_set_max_empty_records</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-can-use-length-hiding" title="gnutls_record_can_use_length_hiding ()">gnutls_record_can_use_length_hiding</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()">gnutls_record_get_direction</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">size_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-max-size" title="gnutls_record_get_max_size ()">gnutls_record_get_max_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-size" title="gnutls_record_set_max_size ()">gnutls_record_set_max_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-recv-size" title="gnutls_record_set_max_recv_size ()">gnutls_record_set_max_recv_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">size_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-check-pending" title="gnutls_record_check_pending ()">gnutls_record_check_pending</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">size_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-check-corked" title="gnutls_record_check_corked ()">gnutls_record_check_corked</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">size_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-max-early-data-size" title="gnutls_record_get_max_early_data_size ()">gnutls_record_get_max_early_data_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-early-data-size" title="gnutls_record_set_max_early_data_size ()">gnutls_record_set_max_early_data_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-send-early-data" title="gnutls_record_send_early_data ()">gnutls_record_send_early_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-record-recv-early-data" title="gnutls_record_recv_early_data ()">gnutls_record_recv_early_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-force-valid" title="gnutls_session_force_valid ()">gnutls_session_force_valid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-prf" title="gnutls_prf ()">gnutls_prf</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-prf-rfc5705" title="gnutls_prf_rfc5705 ()">gnutls_prf_rfc5705</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-prf-early" title="gnutls_prf_early ()">gnutls_prf_early</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-prf-raw" title="gnutls_prf_raw ()">gnutls_prf_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-server-name-set" title="gnutls_server_name_set ()">gnutls_server_name_set</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-server-name-get" title="gnutls_server_name_get ()">gnutls_server_name_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-get-timeout" title="gnutls_heartbeat_get_timeout ()">gnutls_heartbeat_get_timeout</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-set-timeouts" title="gnutls_heartbeat_set_timeouts ()">gnutls_heartbeat_set_timeouts</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-enable" title="gnutls_heartbeat_enable ()">gnutls_heartbeat_enable</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-allowed" title="gnutls_heartbeat_allowed ()">gnutls_heartbeat_allowed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-safe-renegotiation-status" title="gnutls_safe_renegotiation_status ()">gnutls_safe_renegotiation_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ext-master-secret-status" title="gnutls_session_ext_master_secret_status ()">gnutls_session_ext_master_secret_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-etm-status" title="gnutls_session_etm_status ()">gnutls_session_etm_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-flags" title="gnutls_session_get_flags ()">gnutls_session_get_flags</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ticket-key-generate" title="gnutls_session_ticket_key_generate ()">gnutls_session_ticket_key_generate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ticket-enable-client" title="gnutls_session_ticket_enable_client ()">gnutls_session_ticket_enable_client</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ticket-enable-server" title="gnutls_session_ticket_enable_server ()">gnutls_session_ticket_enable_server</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ticket-send" title="gnutls_session_ticket_send ()">gnutls_session_ticket_send</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-set-profile" title="gnutls_srtp_set_profile ()">gnutls_srtp_set_profile</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-set-profile-direct" title="gnutls_srtp_set_profile_direct ()">gnutls_srtp_set_profile_direct</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-selected-profile" title="gnutls_srtp_get_selected_profile ()">gnutls_srtp_get_selected_profile</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-profile-name" title="gnutls_srtp_get_profile_name ()">gnutls_srtp_get_profile_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-profile-id" title="gnutls_srtp_get_profile_id ()">gnutls_srtp_get_profile_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-keys" title="gnutls_srtp_get_keys ()">gnutls_srtp_get_keys</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-set-mki" title="gnutls_srtp_set_mki ()">gnutls_srtp_set_mki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srtp-get-mki" title="gnutls_srtp_get_mki ()">gnutls_srtp_get_mki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="returnvalue">gnutls_compression_method_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-compress-certificate-get-selected-method" title="gnutls_compress_certificate_get_selected_method ()">gnutls_compress_certificate_get_selected_method</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-compress-certificate-set-methods" title="gnutls_compress_certificate_set_methods ()">gnutls_compress_certificate_set_methods</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-alpn-get-selected-protocol" title="gnutls_alpn_get_selected_protocol ()">gnutls_alpn_get_selected_protocol</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-alpn-set-protocols" title="gnutls_alpn_set_protocols ()">gnutls_alpn_set_protocols</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-key-generate" title="gnutls_key_generate ()">gnutls_key_generate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-init" title="gnutls_priority_init ()">gnutls_priority_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-init2" title="gnutls_priority_init2 ()">gnutls_priority_init2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-deinit" title="gnutls_priority_deinit ()">gnutls_priority_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-get-cipher-suite-index" title="gnutls_priority_get_cipher_suite_index ()">gnutls_priority_get_cipher_suite_index</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-string-list" title="gnutls_priority_string_list ()">gnutls_priority_string_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-set" title="gnutls_priority_set ()">gnutls_priority_set</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-set-direct" title="gnutls_priority_set_direct ()">gnutls_priority_set_direct</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-certificate-type-list" title="gnutls_priority_certificate_type_list ()">gnutls_priority_certificate_type_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-certificate-type-list2" title="gnutls_priority_certificate_type_list2 ()">gnutls_priority_certificate_type_list2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-sign-list" title="gnutls_priority_sign_list ()">gnutls_priority_sign_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-protocol-list" title="gnutls_priority_protocol_list ()">gnutls_priority_protocol_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-ecc-curve-list" title="gnutls_priority_ecc_curve_list ()">gnutls_priority_ecc_curve_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-group-list" title="gnutls_priority_group_list ()">gnutls_priority_group_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-kx-list" title="gnutls_priority_kx_list ()">gnutls_priority_kx_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-cipher-list" title="gnutls_priority_cipher_list ()">gnutls_priority_cipher_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-priority-mac-list" title="gnutls_priority_mac_list ()">gnutls_priority_mac_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-get-system-config-file" title="gnutls_get_system_config_file ()">gnutls_get_system_config_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-set-default-priority" title="gnutls_set_default_priority ()">gnutls_set_default_priority</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-set-default-priority-append" title="gnutls_set_default_priority_append ()">gnutls_set_default_priority_append</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-suite-get-name" title="gnutls_cipher_suite_get_name ()">gnutls_cipher_suite_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-protocol-get-name" title="gnutls_protocol_get_name ()">gnutls_protocol_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-data" title="gnutls_session_get_data ()">gnutls_session_get_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-data2" title="gnutls_session_get_data2 ()">gnutls_session_get_data2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-random" title="gnutls_session_get_random ()">gnutls_session_get_random</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-master-secret" title="gnutls_session_get_master_secret ()">gnutls_session_get_master_secret</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-desc" title="gnutls_session_get_desc ()">gnutls_session_get_desc</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-function" title="gnutls_session_set_verify_function ()">gnutls_session_set_verify_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-cert" title="gnutls_session_set_verify_cert ()">gnutls_session_set_verify_cert</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-cert2" title="gnutls_session_set_verify_cert2 ()">gnutls_session_set_verify_cert2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-verify-cert-status" title="gnutls_session_get_verify_cert_status ()">gnutls_session_get_verify_cert_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-premaster" title="gnutls_session_set_premaster ()">gnutls_session_set_premaster</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-id" title="gnutls_session_get_id ()">gnutls_session_get_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-id2" title="gnutls_session_get_id2 ()">gnutls_session_get_id2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-id" title="gnutls_session_set_id ()">gnutls_session_set_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-channel-binding" title="gnutls_session_channel_binding ()">gnutls_session_channel_binding</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-is-resumed" title="gnutls_session_is_resumed ()">gnutls_session_is_resumed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-resumption-requested" title="gnutls_session_resumption_requested ()">gnutls_session_resumption_requested</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-db-store-func" title="gnutls_db_store_func ()">*gnutls_db_store_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-db-remove-func" title="gnutls_db_remove_func ()">*gnutls_db_remove_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="returnvalue">gnutls_datum_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-db-retr-func" title="gnutls_db_retr_func ()">*gnutls_db_retr_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-cache-expiration" title="gnutls_db_set_cache_expiration ()">gnutls_db_set_cache_expiration</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-get-default-cache-expiration" title="gnutls_db_get_default_cache_expiration ()">gnutls_db_get_default_cache_expiration</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-remove-session" title="gnutls_db_remove_session ()">gnutls_db_remove_session</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-retrieve-function" title="gnutls_db_set_retrieve_function ()">gnutls_db_set_retrieve_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-remove-function" title="gnutls_db_set_remove_function ()">gnutls_db_set_remove_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-store-function" title="gnutls_db_set_store_function ()">gnutls_db_set_store_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()">gnutls_db_set_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-get-ptr" title="gnutls_db_get_ptr ()">gnutls_db_get_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry" title="gnutls_db_check_entry ()">gnutls_db_check_entry</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry-time" title="gnutls_db_check_entry_time ()">gnutls_db_check_entry_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry-expire-time" title="gnutls_db_check_entry_expire_time ()">gnutls_db_check_entry_expire_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-handshake-hook-func" title="gnutls_handshake_hook_func ()">*gnutls_handshake_hook_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-hook-function" title="gnutls_handshake_set_hook_function ()">gnutls_handshake_set_hook_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-handshake-simple-hook-func" title="gnutls_handshake_simple_hook_func ()">*gnutls_handshake_simple_hook_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-post-client-hello-function" title="gnutls_handshake_set_post_client_hello_function ()">gnutls_handshake_set_post_client_hello_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-max-packet-length" title="gnutls_handshake_set_max_packet_length ()">gnutls_handshake_set_max_packet_length</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-check-version" title="gnutls_check_version ()">gnutls_check_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-credentials-set" title="gnutls_credentials_set ()">gnutls_credentials_set</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-credentials-get" title="gnutls_credentials_get ()">gnutls_credentials_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-free-server-credentials" title="gnutls_anon_free_server_credentials ()">gnutls_anon_free_server_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-allocate-server-credentials" title="gnutls_anon_allocate_server_credentials ()">gnutls_anon_allocate_server_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-dh-params" title="gnutls_anon_set_server_dh_params ()">gnutls_anon_set_server_dh_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-known-dh-params" title="gnutls_anon_set_server_known_dh_params ()">gnutls_anon_set_server_known_dh_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-params-function" title="gnutls_anon_set_server_params_function ()">gnutls_anon_set_server_params_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-free-client-credentials" title="gnutls_anon_free_client_credentials ()">gnutls_anon_free_client_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-allocate-client-credentials" title="gnutls_anon_allocate_client_credentials ()">gnutls_anon_allocate_client_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-credentials" title="gnutls_certificate_free_credentials ()">gnutls_certificate_free_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-allocate-credentials" title="gnutls_certificate_allocate_credentials ()">gnutls_certificate_allocate_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-issuer" title="gnutls_certificate_get_issuer ()">gnutls_certificate_get_issuer</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-crt-raw" title="gnutls_certificate_get_crt_raw ()">gnutls_certificate_get_crt_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-keys" title="gnutls_certificate_free_keys ()">gnutls_certificate_free_keys</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-cas" title="gnutls_certificate_free_cas ()">gnutls_certificate_free_cas</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-ca-names" title="gnutls_certificate_free_ca_names ()">gnutls_certificate_free_ca_names</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-crls" title="gnutls_certificate_free_crls ()">gnutls_certificate_free_crls</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-dh-params" title="gnutls_certificate_set_dh_params ()">gnutls_certificate_set_dh_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-known-dh-params" title="gnutls_certificate_set_known_dh_params ()">gnutls_certificate_set_known_dh_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-flags" title="gnutls_certificate_set_verify_flags ()">gnutls_certificate_set_verify_flags</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-verify-flags" title="gnutls_certificate_get_verify_flags ()">gnutls_certificate_get_verify_flags</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()">gnutls_certificate_set_flags</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-limits" title="gnutls_certificate_set_verify_limits ()">gnutls_certificate_set_verify_limits</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-system-trust" title="gnutls_certificate_set_x509_system_trust ()">gnutls_certificate_set_x509_system_trust</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-file" title="gnutls_certificate_set_x509_trust_file ()">gnutls_certificate_set_x509_trust_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-dir" title="gnutls_certificate_set_x509_trust_dir ()">gnutls_certificate_set_x509_trust_dir</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-mem" title="gnutls_certificate_set_x509_trust_mem ()">gnutls_certificate_set_x509_trust_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-file" title="gnutls_certificate_set_x509_crl_file ()">gnutls_certificate_set_x509_crl_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-mem" title="gnutls_certificate_set_x509_crl_mem ()">gnutls_certificate_set_x509_crl_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file" title="gnutls_certificate_set_x509_key_file ()">gnutls_certificate_set_x509_key_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file2" title="gnutls_certificate_set_x509_key_file2 ()">gnutls_certificate_set_x509_key_file2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem" title="gnutls_certificate_set_x509_key_mem ()">gnutls_certificate_set_x509_key_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem2" title="gnutls_certificate_set_x509_key_mem2 ()">gnutls_certificate_set_x509_key_mem2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()">gnutls_certificate_send_x509_rdn_sequence</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-file" title="gnutls_certificate_set_x509_simple_pkcs12_file ()">gnutls_certificate_set_x509_simple_pkcs12_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-mem" title="gnutls_certificate_set_x509_simple_pkcs12_mem ()">gnutls_certificate_set_x509_simple_pkcs12_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key" title="gnutls_certificate_set_x509_key ()">gnutls_certificate_set_x509_key</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust" title="gnutls_certificate_set_x509_trust ()">gnutls_certificate_set_x509_trust</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl" title="gnutls_certificate_set_x509_crl ()">gnutls_certificate_set_x509_crl</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-x509-key" title="gnutls_certificate_get_x509_key ()">gnutls_certificate_get_x509_key</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-x509-crt" title="gnutls_certificate_get_x509_crt ()">gnutls_certificate_get_x509_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-function" title="gnutls_certificate_set_ocsp_status_request_function ()">gnutls_certificate_set_ocsp_status_request_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-function2" title="gnutls_certificate_set_ocsp_status_request_function2 ()">gnutls_certificate_set_ocsp_status_request_function2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-file" title="gnutls_certificate_set_ocsp_status_request_file ()">gnutls_certificate_set_ocsp_status_request_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-file2" title="gnutls_certificate_set_ocsp_status_request_file2 ()">gnutls_certificate_set_ocsp_status_request_file2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-mem" title="gnutls_certificate_set_ocsp_status_request_mem ()">gnutls_certificate_set_ocsp_status_request_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-ocsp-expiration" title="gnutls_certificate_get_ocsp_expiration ()">gnutls_certificate_get_ocsp_expiration</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ocsp-status-request-enable-client" title="gnutls_ocsp_status_request_enable_client ()">gnutls_ocsp_status_request_enable_client</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ocsp-status-request-get" title="gnutls_ocsp_status_request_get ()">gnutls_ocsp_status_request_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ocsp-status-request-is-checked" title="gnutls_ocsp_status_request_is_checked ()">gnutls_ocsp_status_request_is_checked</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ocsp-status-request-get2" title="gnutls_ocsp_status_request_get2 ()">gnutls_ocsp_status_request_get2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-rawpk-key-mem" title="gnutls_certificate_set_rawpk_key_mem ()">gnutls_certificate_set_rawpk_key_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-rawpk-key-file" title="gnutls_certificate_set_rawpk_key_file ()">gnutls_certificate_set_rawpk_key_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()">gnutls_global_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()">gnutls_global_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <a class="link" href="gnutls-gnutls.html#gnutls-library-config-st" title="gnutls_library_config_st"><span class="returnvalue">gnutls_library_config_st</span></a> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-get-library-config" title="gnutls_get_library_config ()">gnutls_get_library_config</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-time-func" title="gnutls_time_func ()">*gnutls_time_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#mutex-init-func" title="mutex_init_func ()">*mutex_init_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#mutex-lock-func" title="mutex_lock_func ()">*mutex_lock_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#mutex-unlock-func" title="mutex_unlock_func ()">*mutex_unlock_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#mutex-deinit-func" title="mutex_deinit_func ()">*mutex_deinit_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-mutex" title="gnutls_global_set_mutex ()">gnutls_global_set_mutex</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()">*gnutls_alloc_function</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-calloc-function" title="gnutls_calloc_function ()">*gnutls_calloc_function</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-is-secure-function" title="gnutls_is_secure_function ()">*gnutls_is_secure_function</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-free-function" title="gnutls_free_function ()">*gnutls_free_function</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-realloc-function" title="gnutls_realloc_function ()">*gnutls_realloc_function</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-time-function" title="gnutls_global_set_time_function ()">gnutls_global_set_time_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()">gnutls_free</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-memset" title="gnutls_memset ()">gnutls_memset</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">if</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-memcmp" title="gnutls_memcmp ()">gnutls_memcmp</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-log-func" title="gnutls_log_func ()">*gnutls_log_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-audit-log-func" title="gnutls_audit_log_func ()">*gnutls_audit_log_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-log-function" title="gnutls_global_set_log_function ()">gnutls_global_set_log_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-audit-log-function" title="gnutls_global_set_audit_log_function ()">gnutls_global_set_audit_log_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-log-level" title="gnutls_global_set_log_level ()">gnutls_global_set_log_level</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-keylog-func" title="gnutls_keylog_func ()">*gnutls_keylog_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-keylog-func" title="gnutls_keylog_func ()"><span class="returnvalue">gnutls_keylog_func</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-keylog-function" title="gnutls_session_get_keylog_function ()">gnutls_session_get_keylog_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-keylog-function" title="gnutls_session_set_keylog_function ()">gnutls_session_set_keylog_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-init" title="gnutls_dh_params_init ()">gnutls_dh_params_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-deinit" title="gnutls_dh_params_deinit ()">gnutls_dh_params_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-raw" title="gnutls_dh_params_import_raw ()">gnutls_dh_params_import_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-dsa" title="gnutls_dh_params_import_dsa ()">gnutls_dh_params_import_dsa</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-raw2" title="gnutls_dh_params_import_raw2 ()">gnutls_dh_params_import_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-raw3" title="gnutls_dh_params_import_raw3 ()">gnutls_dh_params_import_raw3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-pkcs3" title="gnutls_dh_params_import_pkcs3 ()">gnutls_dh_params_import_pkcs3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-generate2" title="gnutls_dh_params_generate2 ()">gnutls_dh_params_generate2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export-pkcs3" title="gnutls_dh_params_export_pkcs3 ()">gnutls_dh_params_export_pkcs3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export2-pkcs3" title="gnutls_dh_params_export2_pkcs3 ()">gnutls_dh_params_export2_pkcs3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export-raw" title="gnutls_dh_params_export_raw ()">gnutls_dh_params_export_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-cpy" title="gnutls_dh_params_cpy ()">gnutls_dh_params_cpy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-pull-func" title="gnutls_pull_func ()">*gnutls_pull_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()">*gnutls_push_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-system-recv-timeout" title="gnutls_system_recv_timeout ()">gnutls_system_recv_timeout</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-pull-timeout-func" title="gnutls_pull_timeout_func ()">*gnutls_pull_timeout_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">ssize_t</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-vec-push-func" title="gnutls_vec_push_func ()">*gnutls_vec_push_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-errno-func" title="gnutls_errno_func ()">*gnutls_errno_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-int" title="gnutls_transport_set_int ()">gnutls_transport_set_int</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-int2" title="gnutls_transport_set_int2 ()">gnutls_transport_set_int2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-get-int2" title="gnutls_transport_get_int2 ()">gnutls_transport_get_int2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-get-int" title="gnutls_transport_get_int ()">gnutls_transport_get_int</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr" title="gnutls_transport_set_ptr ()">gnutls_transport_set_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr2" title="gnutls_transport_set_ptr2 ()">gnutls_transport_set_ptr2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="returnvalue">gnutls_transport_ptr_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-get-ptr" title="gnutls_transport_get_ptr ()">gnutls_transport_get_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-get-ptr2" title="gnutls_transport_get_ptr2 ()">gnutls_transport_get_ptr2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-vec-push-function" title="gnutls_transport_set_vec_push_function ()">gnutls_transport_set_vec_push_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-push-function" title="gnutls_transport_set_push_function ()">gnutls_transport_set_push_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-function" title="gnutls_transport_set_pull_function ()">gnutls_transport_set_pull_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-timeout-function" title="gnutls_transport_set_pull_timeout_function ()">gnutls_transport_set_pull_timeout_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-errno-function" title="gnutls_transport_set_errno_function ()">gnutls_transport_set_errno_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-errno" title="gnutls_transport_set_errno ()">gnutls_transport_set_errno</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-ptr" title="gnutls_session_set_ptr ()">gnutls_session_set_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-ptr" title="gnutls_session_get_ptr ()">gnutls_session_get_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-openpgp-send-cert" title="gnutls_openpgp_send_cert ()">gnutls_openpgp_send_cert</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-fingerprint" title="gnutls_fingerprint ()">gnutls_fingerprint</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-random-art" title="gnutls_random_art ()">gnutls_random_art</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-idna-map" title="gnutls_idna_map ()">gnutls_idna_map</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-idna-reverse-map" title="gnutls_idna_reverse_map ()">gnutls_idna_reverse_map</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-free-client-credentials" title="gnutls_srp_free_client_credentials ()">gnutls_srp_free_client_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-allocate-client-credentials" title="gnutls_srp_allocate_client_credentials ()">gnutls_srp_allocate_client_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-client-credentials" title="gnutls_srp_set_client_credentials ()">gnutls_srp_set_client_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-free-server-credentials" title="gnutls_srp_free_server_credentials ()">gnutls_srp_free_server_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-allocate-server-credentials" title="gnutls_srp_allocate_server_credentials ()">gnutls_srp_allocate_server_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-credentials-file" title="gnutls_srp_set_server_credentials_file ()">gnutls_srp_set_server_credentials_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-server-get-username" title="gnutls_srp_server_get_username ()">gnutls_srp_server_get_username</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-prime-bits" title="gnutls_srp_set_prime_bits ()">gnutls_srp_set_prime_bits</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-verifier" title="gnutls_srp_verifier ()">gnutls_srp_verifier</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-credentials-function" title="gnutls_srp_set_server_credentials_function ()">gnutls_srp_set_server_credentials_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-client-credentials-function" title="gnutls_srp_set_client_credentials_function ()">gnutls_srp_set_client_credentials_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode" title="gnutls_srp_base64_encode ()">gnutls_srp_base64_encode</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode2" title="gnutls_srp_base64_encode2 ()">gnutls_srp_base64_encode2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode" title="gnutls_srp_base64_decode ()">gnutls_srp_base64_decode</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode2" title="gnutls_srp_base64_decode2 ()">gnutls_srp_base64_decode2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-fake-salt-seed" title="gnutls_srp_set_server_fake_salt_seed ()">gnutls_srp_set_server_fake_salt_seed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-free-client-credentials" title="gnutls_psk_free_client_credentials ()">gnutls_psk_free_client_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-allocate-client-credentials" title="gnutls_psk_allocate_client_credentials ()">gnutls_psk_allocate_client_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials" title="gnutls_psk_set_client_credentials ()">gnutls_psk_set_client_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials2" title="gnutls_psk_set_client_credentials2 ()">gnutls_psk_set_client_credentials2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-free-server-credentials" title="gnutls_psk_free_server_credentials ()">gnutls_psk_free_server_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-allocate-server-credentials" title="gnutls_psk_allocate_server_credentials ()">gnutls_psk_allocate_server_credentials</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-file" title="gnutls_psk_set_server_credentials_file ()">gnutls_psk_set_server_credentials_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-hint" title="gnutls_psk_set_server_credentials_hint ()">gnutls_psk_set_server_credentials_hint</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-server-get-username" title="gnutls_psk_server_get_username ()">gnutls_psk_server_get_username</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-server-get-username2" title="gnutls_psk_server_get_username2 ()">gnutls_psk_server_get_username2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-client-get-hint" title="gnutls_psk_client_get_hint ()">gnutls_psk_client_get_hint</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-function" title="gnutls_psk_set_server_credentials_function ()">gnutls_psk_set_server_credentials_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-function2" title="gnutls_psk_set_server_credentials_function2 ()">gnutls_psk_set_server_credentials_function2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials-function" title="gnutls_psk_set_client_credentials_function ()">gnutls_psk_set_client_credentials_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials-function2" title="gnutls_psk_set_client_credentials_function2 ()">gnutls_psk_set_client_credentials_function2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-hex-encode" title="gnutls_hex_encode ()">gnutls_hex_encode</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-hex-decode" title="gnutls_hex_decode ()">gnutls_hex_decode</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-hex-encode2" title="gnutls_hex_encode2 ()">gnutls_hex_encode2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-hex-decode2" title="gnutls_hex_decode2 ()">gnutls_hex_decode2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-dh-params" title="gnutls_psk_set_server_dh_params ()">gnutls_psk_set_server_dh_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-known-dh-params" title="gnutls_psk_set_server_known_dh_params ()">gnutls_psk_set_server_known_dh_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-params-function" title="gnutls_psk_set_server_params_function ()">gnutls_psk_set_server_params_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-set-prime-bits" title="gnutls_dh_set_prime_bits ()">gnutls_dh_set_prime_bits</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-secret-bits" title="gnutls_dh_get_secret_bits ()">gnutls_dh_get_secret_bits</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-peers-public-bits" title="gnutls_dh_get_peers_public_bits ()">gnutls_dh_get_peers_public_bits</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-prime-bits" title="gnutls_dh_get_prime_bits ()">gnutls_dh_get_prime_bits</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-group" title="gnutls_dh_get_group ()">gnutls_dh_get_group</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-dh-get-pubkey" title="gnutls_dh_get_pubkey ()">gnutls_dh_get_pubkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-retrieve-function" title="gnutls_certificate_set_retrieve_function ()">gnutls_certificate_set_retrieve_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-function" title="gnutls_certificate_set_verify_function ()">gnutls_certificate_set_verify_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-server-set-request" title="gnutls_certificate_server_set_request ()">gnutls_certificate_server_set_request</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="returnvalue">gnutls_datum_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers" title="gnutls_certificate_get_peers ()">gnutls_certificate_get_peers</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="returnvalue">gnutls_datum_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-ours" title="gnutls_certificate_get_ours ()">gnutls_certificate_get_ours</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers-subkey-id" title="gnutls_certificate_get_peers_subkey_id ()">gnutls_certificate_get_peers_subkey_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-activation-time-peers" title="gnutls_certificate_activation_time_peers ()">gnutls_certificate_activation_time_peers</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-expiration-time-peers" title="gnutls_certificate_expiration_time_peers ()">gnutls_certificate_expiration_time_peers</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-client-get-request-status" title="gnutls_certificate_client_get_request_status ()">gnutls_certificate_client_get_request_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()">gnutls_certificate_verify_peers2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers3" title="gnutls_certificate_verify_peers3 ()">gnutls_certificate_verify_peers3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers" title="gnutls_certificate_verify_peers ()">gnutls_certificate_verify_peers</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verification-status-print" title="gnutls_certificate_verification_status_print ()">gnutls_certificate_verification_status_print</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode" title="gnutls_pem_base64_encode ()">gnutls_pem_base64_encode</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode" title="gnutls_pem_base64_decode ()">gnutls_pem_base64_decode</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode2" title="gnutls_pem_base64_encode2 ()">gnutls_pem_base64_encode2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode2" title="gnutls_pem_base64_decode2 ()">gnutls_pem_base64_decode2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-base64-encode2" title="gnutls_base64_encode2 ()">gnutls_base64_encode2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-base64-decode2" title="gnutls_base64_decode2 ()">gnutls_base64_decode2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-params-function" title="gnutls_certificate_set_params_function ()">gnutls_certificate_set_params_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anon-set-params-function" title="gnutls_anon_set_params_function ()">gnutls_anon_set_params_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-psk-set-params-function" title="gnutls_psk_set_params_function ()">gnutls_psk_set_params_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-hex2bin" title="gnutls_hex2bin ()">gnutls_hex2bin</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-tdb-store-func" title="gnutls_tdb_store_func ()">*gnutls_tdb_store_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-tdb-store-commitment-func" title="gnutls_tdb_store_commitment_func ()">*gnutls_tdb_store_commitment_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-tdb-verify-func" title="gnutls_tdb_verify_func ()">*gnutls_tdb_verify_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-init" title="gnutls_tdb_init ()">gnutls_tdb_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-set-store-func" title="gnutls_tdb_set_store_func ()">gnutls_tdb_set_store_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-set-store-commitment-func" title="gnutls_tdb_set_store_commitment_func ()">gnutls_tdb_set_store_commitment_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-set-verify-func" title="gnutls_tdb_set_verify_func ()">gnutls_tdb_set_verify_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-tdb-deinit" title="gnutls_tdb_deinit ()">gnutls_tdb_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-verify-stored-pubkey" title="gnutls_verify_stored_pubkey ()">gnutls_verify_stored_pubkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-store-commitment" title="gnutls_store_commitment ()">gnutls_store_commitment</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-store-pubkey" title="gnutls_store_pubkey ()">gnutls_store_pubkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-load-file" title="gnutls_load_file ()">gnutls_load_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-url-is-supported" title="gnutls_url_is_supported ()">gnutls_url_is_supported</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()">*gnutls_pin_callback_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-pin-function" title="gnutls_certificate_set_pin_function ()">gnutls_certificate_set_pin_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-buffer-append-data" title="gnutls_buffer_append_data ()">gnutls_buffer_append_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-utf8-password-normalize" title="gnutls_utf8_password_normalize ()">gnutls_utf8_password_normalize</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-set-data" title="gnutls_ext_set_data ()">gnutls_ext_set_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-data" title="gnutls_ext_get_data ()">gnutls_ext_get_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-current-msg" title="gnutls_ext_get_current_msg ()">gnutls_ext_get_current_msg</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()">*gnutls_ext_recv_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()">*gnutls_ext_send_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-ext-deinit-data-func" title="gnutls_ext_deinit_data_func ()">*gnutls_ext_deinit_data_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-ext-pack-func" title="gnutls_ext_pack_func ()">*gnutls_ext_pack_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-ext-unpack-func" title="gnutls_ext_unpack_func ()">*gnutls_ext_unpack_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-ext-raw-process-func" title="gnutls_ext_raw_process_func ()">*gnutls_ext_raw_process_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-raw-parse" title="gnutls_ext_raw_parse ()">gnutls_ext_raw_parse</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-register" title="gnutls_ext_register ()">gnutls_ext_register</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-ext-register" title="gnutls_session_ext_register ()">gnutls_session_ext_register</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-name" title="gnutls_ext_get_name ()">gnutls_ext_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-name2" title="gnutls_ext_get_name2 ()">gnutls_ext_get_name2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-supp-recv-func" title="gnutls_supp_recv_func ()">*gnutls_supp_recv_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-supp-send-func" title="gnutls_supp_send_func ()">*gnutls_supp_send_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-register" title="gnutls_supplemental_register ()">gnutls_supplemental_register</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-session-supplemental-register" title="gnutls_session_supplemental_register ()">gnutls_session_supplemental_register</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-recv" title="gnutls_supplemental_recv ()">gnutls_supplemental_recv</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-send" title="gnutls_supplemental_send ()">gnutls_supplemental_send</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-init" title="gnutls_anti_replay_init ()">gnutls_anti_replay_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-deinit" title="gnutls_anti_replay_deinit ()">gnutls_anti_replay_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-set-window" title="gnutls_anti_replay_set_window ()">gnutls_anti_replay_set_window</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-enable" title="gnutls_anti_replay_enable ()">gnutls_anti_replay_enable</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-db-add-func" title="gnutls_db_add_func ()">*gnutls_db_add_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-set-add-function" title="gnutls_anti_replay_set_add_function ()">gnutls_anti_replay_set_add_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-set-ptr" title="gnutls_anti_replay_set_ptr ()">gnutls_anti_replay_set_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-handshake-read-func" title="gnutls_handshake_read_func ()">*gnutls_handshake_read_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-read-function" title="gnutls_handshake_set_read_function ()">gnutls_handshake_set_read_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-write" title="gnutls_handshake_write ()">gnutls_handshake_write</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-handshake-secret-func" title="gnutls_handshake_secret_func ()">*gnutls_handshake_secret_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-secret-function" title="gnutls_handshake_set_secret_function ()">gnutls_handshake_set_secret_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-gnutls.html#gnutls-alert-read-func" title="gnutls_alert_read_func ()">*gnutls_alert_read_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-alert-set-read-function" title="gnutls_alert_set_read_function ()">gnutls_alert_set_read_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-mode-enabled" title="gnutls_fips140_mode_enabled ()">gnutls_fips140_mode_enabled</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-set-mode" title="gnutls_fips140_set_mode ()">gnutls_fips140_set_mode</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SET-LAX-MODE:CAPS" title="GNUTLS_FIPS140_SET_LAX_MODE">GNUTLS_FIPS140_SET_LAX_MODE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SET-STRICT-MODE:CAPS" title="GNUTLS_FIPS140_SET_STRICT_MODE">GNUTLS_FIPS140_SET_STRICT_MODE</a></td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-init" title="gnutls_fips140_context_init ()">gnutls_fips140_context_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-deinit" title="gnutls_fips140_context_deinit ()">gnutls_fips140_context_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-operation-state-t" title="enum gnutls_fips140_operation_state_t"><span class="returnvalue">gnutls_fips140_operation_state_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-get-operation-state" title="gnutls_fips140_get_operation_state ()">gnutls_fips140_get_operation_state</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-push-context" title="gnutls_fips140_push_context ()">gnutls_fips140_push_context</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-pop-context" title="gnutls_fips140_pop_context ()">gnutls_fips140_pop_context</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-run-self-tests" title="gnutls_fips140_run_self_tests ()">gnutls_fips140_run_self_tests</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-gnutls.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION:CAPS" title="GNUTLS_VERSION">GNUTLS_VERSION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-MAJOR:CAPS" title="GNUTLS_VERSION_MAJOR">GNUTLS_VERSION_MAJOR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-MINOR:CAPS" title="GNUTLS_VERSION_MINOR">GNUTLS_VERSION_MINOR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-PATCH:CAPS" title="GNUTLS_VERSION_PATCH">GNUTLS_VERSION_PATCH</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-NUMBER:CAPS" title="GNUTLS_VERSION_NUMBER">GNUTLS_VERSION_NUMBER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-128-CBC:CAPS" title="GNUTLS_CIPHER_RIJNDAEL_128_CBC">GNUTLS_CIPHER_RIJNDAEL_128_CBC</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-256-CBC:CAPS" title="GNUTLS_CIPHER_RIJNDAEL_256_CBC">GNUTLS_CIPHER_RIJNDAEL_256_CBC</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-CBC:CAPS" title="GNUTLS_CIPHER_RIJNDAEL_CBC">GNUTLS_CIPHER_RIJNDAEL_CBC</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-ARCFOUR:CAPS" title="GNUTLS_CIPHER_ARCFOUR">GNUTLS_CIPHER_ARCFOUR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-SKIP-GLOBAL-INIT:CAPS" title="GNUTLS_SKIP_GLOBAL_INIT">GNUTLS_SKIP_GLOBAL_INIT</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-params-type-t" title="enum gnutls_params_type_t">gnutls_params_type_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-MAC-SHA:CAPS" title="GNUTLS_MAC_SHA">GNUTLS_MAC_SHA</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-SHA:CAPS" title="GNUTLS_DIG_SHA">GNUTLS_DIG_SHA</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t">gnutls_digest_algorithm_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-ALGORITHM-NUM:CAPS" title="GNUTLS_MAX_ALGORITHM_NUM">GNUTLS_MAX_ALGORITHM_NUM</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID-SIZE:CAPS" title="GNUTLS_MAX_SESSION_ID_SIZE">GNUTLS_MAX_SESSION_ID_SIZE</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-init-flags-t" title="enum gnutls_init_flags_t">gnutls_init_flags_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-SERVER:CAPS">GNUTLS_SERVER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-CLIENT:CAPS">GNUTLS_CLIENT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-DATAGRAM:CAPS">GNUTLS_DATAGRAM</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-NONBLOCK:CAPS">GNUTLS_NONBLOCK</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-NO-EXTENSIONS:CAPS">GNUTLS_NO_EXTENSIONS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-NO-REPLAY-PROTECTION:CAPS">GNUTLS_NO_REPLAY_PROTECTION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-NO-SIGNAL:CAPS">GNUTLS_NO_SIGNAL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-ALLOW-ID-CHANGE:CAPS">GNUTLS_ALLOW_ID_CHANGE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-ENABLE-FALSE-START:CAPS">GNUTLS_ENABLE_FALSE_START</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-FORCE-CLIENT-CERT:CAPS">GNUTLS_FORCE_CLIENT_CERT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-NO-TICKETS:CAPS">GNUTLS_NO_TICKETS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-ENABLE-CERT-TYPE-NEG:CAPS" title="GNUTLS_ENABLE_CERT_TYPE_NEG">GNUTLS_ENABLE_CERT_TYPE_NEG</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-alert-level-t" title="enum gnutls_alert_level_t">gnutls_alert_level_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t">gnutls_alert_description_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t">gnutls_handshake_description_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-HANDSHAKE-ANY:CAPS" title="GNUTLS_HANDSHAKE_ANY">GNUTLS_HANDSHAKE_ANY</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-status-t" title="enum gnutls_certificate_status_t">gnutls_certificate_status_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-request-t" title="enum gnutls_certificate_request_t">gnutls_certificate_request_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-status-t" title="enum gnutls_openpgp_crt_status_t">gnutls_openpgp_crt_status_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-close-request-t" title="enum gnutls_close_request_t">gnutls_close_request_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-CRT-RAW:CAPS" title="GNUTLS_CRT_RAW">GNUTLS_CRT_RAW</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t">gnutls_certificate_print_formats_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PK-ECC:CAPS" title="GNUTLS_PK_ECC">GNUTLS_PK_ECC</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PK-EC:CAPS" title="GNUTLS_PK_EC">GNUTLS_PK_EC</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PK-ECDHX:CAPS" title="GNUTLS_PK_ECDHX">GNUTLS_PK_ECDHX</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t">gnutls_ecc_curve_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-group-t" title="enum gnutls_group_t">gnutls_group_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t">gnutls_sec_param_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-SEC-PARAM-NORMAL:CAPS" title="GNUTLS_SEC_PARAM_NORMAL">GNUTLS_SEC_PARAM_NORMAL</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-channel-binding-t" title="enum gnutls_channel_binding_t">gnutls_channel_binding_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-gost-paramset-t" title="enum gnutls_gost_paramset_t">gnutls_gost_paramset_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-ctype-target-t" title="enum gnutls_ctype_target_t">gnutls_ctype_target_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t">gnutls_priority_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t">gnutls_datum_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-library-config-st" title="gnutls_library_config_st">gnutls_library_config_st</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-params-st" title="gnutls_params_st">gnutls_params_st</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-DEFAULT-HANDSHAKE-TIMEOUT:CAPS" title="GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT">GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-INDEFINITE-TIMEOUT:CAPS" title="GNUTLS_INDEFINITE_TIMEOUT">GNUTLS_INDEFINITE_TIMEOUT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KU-PEER:CAPS" title="GNUTLS_KU_PEER">GNUTLS_KU_PEER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-HEARTBEAT-WAIT:CAPS" title="GNUTLS_HEARTBEAT_WAIT">GNUTLS_HEARTBEAT_WAIT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-RECORD-WAIT:CAPS" title="GNUTLS_RECORD_WAIT">GNUTLS_RECORD_WAIT</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-range-st" title="gnutls_range_st">gnutls_range_st</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-packet-t" title="gnutls_packet_t">gnutls_packet_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-read" title="gnutls_read">gnutls_read</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-write" title="gnutls_write">gnutls_write</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-server-name-type-t" title="enum gnutls_server_name_type_t">gnutls_server_name_type_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-HB-PEER-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_PEER_ALLOWED_TO_SEND">GNUTLS_HB_PEER_ALLOWED_TO_SEND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-HB-PEER-NOT-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND">GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-HB-LOCAL-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_LOCAL_ALLOWED_TO_SEND">GNUTLS_HB_LOCAL_ALLOWED_TO_SEND</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-session-flags-t" title="enum gnutls_session_flags_t">gnutls_session_flags_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t">gnutls_supplemental_data_format_type_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-srtp-profile-t" title="enum gnutls_srtp_profile_t">gnutls_srtp_profile_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-alpn-flags-t" title="enum gnutls_alpn_flags_t">gnutls_alpn_flags_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-ALPN-MAND:CAPS" title="GNUTLS_ALPN_MAND">GNUTLS_ALPN_MAND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-INIT-DEF-APPEND:CAPS" title="GNUTLS_PRIORITY_INIT_DEF_APPEND">GNUTLS_PRIORITY_INIT_DEF_APPEND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-LIST-INIT-KEYWORDS:CAPS" title="GNUTLS_PRIORITY_LIST_INIT_KEYWORDS">GNUTLS_PRIORITY_LIST_INIT_KEYWORDS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-LIST-SPECIAL:CAPS" title="GNUTLS_PRIORITY_LIST_SPECIAL">GNUTLS_PRIORITY_LIST_SPECIAL</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-vdata-types-t" title="enum gnutls_vdata_types_t">gnutls_vdata_types_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-typed-vdata-st" title="gnutls_typed_vdata_st">gnutls_typed_vdata_st</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID:CAPS" title="GNUTLS_MAX_SESSION_ID">GNUTLS_MAX_SESSION_ID</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-HOOK-POST:CAPS" title="GNUTLS_HOOK_POST">GNUTLS_HOOK_POST</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-HOOK-PRE:CAPS" title="GNUTLS_HOOK_PRE">GNUTLS_HOOK_PRE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-HOOK-BOTH:CAPS" title="GNUTLS_HOOK_BOTH">GNUTLS_HOOK_BOTH</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-handshake-post-client-hello-func" title="gnutls_handshake_post_client_hello_func">gnutls_handshake_post_client_hello_func</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-cred-set" title="gnutls_cred_set">gnutls_cred_set</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t">gnutls_pubkey_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-privkey-t" title="gnutls_privkey_t">gnutls_privkey_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t">gnutls_x509_privkey_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t">gnutls_x509_crl_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t">gnutls_x509_crt_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t">gnutls_x509_crq_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t">gnutls_openpgp_keyring_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-flags" title="enum gnutls_certificate_flags">gnutls_certificate_flags</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-ocsp-data-st" title="gnutls_ocsp_data_st">gnutls_ocsp_data_st</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#giovec-t" title="giovec_t">giovec_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-random-art-t" title="enum gnutls_random_art_t">gnutls_random_art_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-IDNA-FORCE-2008:CAPS" title="GNUTLS_IDNA_FORCE_2008">GNUTLS_IDNA_FORCE_2008</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode-alloc" title="gnutls_srp_base64_encode_alloc">gnutls_srp_base64_encode_alloc</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode-alloc" title="gnutls_srp_base64_decode_alloc">gnutls_srp_base64_decode_alloc</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-psk-key-flags" title="enum gnutls_psk_key_flags">gnutls_psk_key_flags</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t">gnutls_x509_subject_alt_name_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t">gnutls_openpgp_crt_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t">gnutls_openpgp_privkey_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t">gnutls_pkcs11_privkey_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-privkey-type-t" title="enum gnutls_privkey_type_t">gnutls_privkey_type_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-retr2-st" title="gnutls_retr2_st">gnutls_retr2_st</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode-alloc" title="gnutls_pem_base64_encode_alloc">gnutls_pem_base64_encode_alloc</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode-alloc" title="gnutls_pem_base64_decode_alloc">gnutls_pem_base64_decode_alloc</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS" title="GNUTLS_KEY_DIGITAL_SIGNATURE">GNUTLS_KEY_DIGITAL_SIGNATURE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-NON-REPUDIATION:CAPS" title="GNUTLS_KEY_NON_REPUDIATION">GNUTLS_KEY_NON_REPUDIATION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_KEY_ENCIPHERMENT">GNUTLS_KEY_KEY_ENCIPHERMENT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DATA-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_DATA_ENCIPHERMENT">GNUTLS_KEY_DATA_ENCIPHERMENT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-AGREEMENT:CAPS" title="GNUTLS_KEY_KEY_AGREEMENT">GNUTLS_KEY_KEY_AGREEMENT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-CERT-SIGN:CAPS" title="GNUTLS_KEY_KEY_CERT_SIGN">GNUTLS_KEY_KEY_CERT_SIGN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-CRL-SIGN:CAPS" title="GNUTLS_KEY_CRL_SIGN">GNUTLS_KEY_CRL_SIGN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-ENCIPHER-ONLY:CAPS" title="GNUTLS_KEY_ENCIPHER_ONLY">GNUTLS_KEY_ENCIPHER_ONLY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DECIPHER-ONLY:CAPS" title="GNUTLS_KEY_DECIPHER_ONLY">GNUTLS_KEY_DECIPHER_ONLY</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t">gnutls_tdb_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-SCOMMIT-FLAG-ALLOW-BROKEN:CAPS" title="GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN">GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-pin-flag-t" title="enum gnutls_pin_flag_t">gnutls_pin_flag_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-USER:CAPS" title="GNUTLS_PKCS11_PIN_USER">GNUTLS_PKCS11_PIN_USER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-SO:CAPS" title="GNUTLS_PKCS11_PIN_SO">GNUTLS_PKCS11_PIN_SO</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-FINAL-TRY:CAPS" title="GNUTLS_PKCS11_PIN_FINAL_TRY">GNUTLS_PKCS11_PIN_FINAL_TRY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-COUNT-LOW:CAPS" title="GNUTLS_PKCS11_PIN_COUNT_LOW">GNUTLS_PKCS11_PIN_COUNT_LOW</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-CONTEXT-SPECIFIC:CAPS" title="GNUTLS_PKCS11_PIN_CONTEXT_SPECIFIC">GNUTLS_PKCS11_PIN_CONTEXT_SPECIFIC</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-WRONG:CAPS" title="GNUTLS_PKCS11_PIN_WRONG">GNUTLS_PKCS11_PIN_WRONG</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-buffer-t" title="gnutls_buffer_t">gnutls_buffer_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-UTF8-IGNORE-ERRS:CAPS" title="GNUTLS_UTF8_IGNORE_ERRS">GNUTLS_UTF8_IGNORE_ERRS</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-ext-priv-data-t" title="gnutls_ext_priv_data_t">gnutls_ext_priv_data_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-RAW-FLAG-TLS-CLIENT-HELLO:CAPS" title="GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO">GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-RAW-FLAG-DTLS-CLIENT-HELLO:CAPS" title="GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO">GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t">gnutls_ext_parse_type_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-ext-flags-t" title="enum gnutls_ext_flags_t">gnutls_ext_flags_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t">gnutls_anti_replay_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-record-encryption-level-t" title="enum gnutls_record_encryption_level_t">gnutls_record_encryption_level_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-fips-mode-t" title="enum gnutls_fips_mode_t">gnutls_fips_mode_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SET-MODE-THREAD:CAPS" title="GNUTLS_FIPS140_SET_MODE_THREAD">GNUTLS_FIPS140_SET_MODE_THREAD</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-t" title="gnutls_fips140_context_t">gnutls_fips140_context_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-fips140-operation-state-t" title="enum gnutls_fips140_operation_state_t">gnutls_fips140_operation_state_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS">GNUTLS_E_SUCCESS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-COMPRESSION-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM">GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_TYPE">GNUTLS_E_UNKNOWN_CIPHER_TYPE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-LARGE-PACKET:CAPS" title="GNUTLS_E_LARGE_PACKET">GNUTLS_E_LARGE_PACKET</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-VERSION-PACKET:CAPS" title="GNUTLS_E_UNSUPPORTED_VERSION_PACKET">GNUTLS_E_UNSUPPORTED_VERSION_PACKET</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TLS-PACKET-DECODING-ERROR:CAPS" title="GNUTLS_E_TLS_PACKET_DECODING_ERROR">GNUTLS_E_TLS_PACKET_DECODING_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET-LENGTH:CAPS" title="GNUTLS_E_UNEXPECTED_PACKET_LENGTH">GNUTLS_E_UNEXPECTED_PACKET_LENGTH</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-SESSION:CAPS" title="GNUTLS_E_INVALID_SESSION">GNUTLS_E_INVALID_SESSION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-FATAL-ALERT-RECEIVED:CAPS" title="GNUTLS_E_FATAL_ALERT_RECEIVED">GNUTLS_E_FATAL_ALERT_RECEIVED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET:CAPS" title="GNUTLS_E_UNEXPECTED_PACKET">GNUTLS_E_UNEXPECTED_PACKET</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED:CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED">GNUTLS_E_WARNING_ALERT_RECEIVED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ERROR-IN-FINISHED-PACKET:CAPS" title="GNUTLS_E_ERROR_IN_FINISHED_PACKET">GNUTLS_E_ERROR_IN_FINISHED_PACKET</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-HANDSHAKE-PACKET:CAPS" title="GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET">GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-SUITE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_SUITE">GNUTLS_E_UNKNOWN_CIPHER_SUITE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNWANTED-ALGORITHM:CAPS" title="GNUTLS_E_UNWANTED_ALGORITHM">GNUTLS_E_UNWANTED_ALGORITHM</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-MPI-SCAN-FAILED:CAPS" title="GNUTLS_E_MPI_SCAN_FAILED">GNUTLS_E_MPI_SCAN_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_DECRYPTION_FAILED">GNUTLS_E_DECRYPTION_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-MEMORY-ERROR:CAPS" title="GNUTLS_E_MEMORY_ERROR">GNUTLS_E_MEMORY_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECOMPRESSION-FAILED:CAPS" title="GNUTLS_E_DECOMPRESSION_FAILED">GNUTLS_E_DECOMPRESSION_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-COMPRESSION-FAILED:CAPS" title="GNUTLS_E_COMPRESSION_FAILED">GNUTLS_E_COMPRESSION_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN">GNUTLS_E_AGAIN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED:CAPS" title="GNUTLS_E_EXPIRED">GNUTLS_E_EXPIRED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-DB-ERROR:CAPS" title="GNUTLS_E_DB_ERROR">GNUTLS_E_DB_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-ERROR:CAPS" title="GNUTLS_E_SRP_PWD_ERROR">GNUTLS_E_SRP_PWD_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEYFILE-ERROR:CAPS" title="GNUTLS_E_KEYFILE_ERROR">GNUTLS_E_KEYFILE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CREDENTIALS:CAPS" title="GNUTLS_E_INSUFFICIENT_CREDENTIALS">GNUTLS_E_INSUFFICIENT_CREDENTIALS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CREDENTIALS:CAPS" title="GNUTLS_E_INSUFICIENT_CREDENTIALS">GNUTLS_E_INSUFICIENT_CREDENTIALS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CRED:CAPS" title="GNUTLS_E_INSUFFICIENT_CRED">GNUTLS_E_INSUFFICIENT_CRED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CRED:CAPS" title="GNUTLS_E_INSUFICIENT_CRED">GNUTLS_E_INSUFICIENT_CRED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-HASH-FAILED:CAPS" title="GNUTLS_E_HASH_FAILED">GNUTLS_E_HASH_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-DECODING-ERROR:CAPS" title="GNUTLS_E_BASE64_DECODING_ERROR">GNUTLS_E_BASE64_DECODING_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-MPI-PRINT-FAILED:CAPS" title="GNUTLS_E_MPI_PRINT_FAILED">GNUTLS_E_MPI_PRINT_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS" title="GNUTLS_E_REHANDSHAKE">GNUTLS_E_REHANDSHAKE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-GOT-APPLICATION-DATA:CAPS" title="GNUTLS_E_GOT_APPLICATION_DATA">GNUTLS_E_GOT_APPLICATION_DATA</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECORD-LIMIT-REACHED:CAPS" title="GNUTLS_E_RECORD_LIMIT_REACHED">GNUTLS_E_RECORD_LIMIT_REACHED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ENCRYPTION-FAILED:CAPS" title="GNUTLS_E_ENCRYPTION_FAILED">GNUTLS_E_ENCRYPTION_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-ENCRYPTION-FAILED:CAPS" title="GNUTLS_E_PK_ENCRYPTION_FAILED">GNUTLS_E_PK_ENCRYPTION_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_PK_DECRYPTION_FAILED">GNUTLS_E_PK_DECRYPTION_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIGN-FAILED:CAPS" title="GNUTLS_E_PK_SIGN_FAILED">GNUTLS_E_PK_SIGN_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-CRITICAL-EXTENSION:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION">GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEY-USAGE-VIOLATION:CAPS" title="GNUTLS_E_KEY_USAGE_VIOLATION">GNUTLS_E_KEY_USAGE_VIOLATION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-FOUND:CAPS" title="GNUTLS_E_NO_CERTIFICATE_FOUND">GNUTLS_E_NO_CERTIFICATE_FOUND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST">GNUTLS_E_INVALID_REQUEST</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER">GNUTLS_E_SHORT_MEMORY_BUFFER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED">GNUTLS_E_INTERRUPTED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PUSH-ERROR:CAPS" title="GNUTLS_E_PUSH_ERROR">GNUTLS_E_PUSH_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PULL-ERROR:CAPS" title="GNUTLS_E_PULL_ERROR">GNUTLS_E_PULL_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER:CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER">GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS1-WRONG-PAD:CAPS" title="GNUTLS_E_PKCS1_WRONG_PAD">GNUTLS_E_PKCS1_WRONG_PAD</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-EXTENSION:CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION">GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERNAL-ERROR:CAPS" title="GNUTLS_E_INTERNAL_ERROR">GNUTLS_E_INTERNAL_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-DH-PRIME-UNACCEPTABLE:CAPS" title="GNUTLS_E_DH_PRIME_UNACCEPTABLE">GNUTLS_E_DH_PRIME_UNACCEPTABLE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-FILE-ERROR:CAPS" title="GNUTLS_E_FILE_ERROR">GNUTLS_E_FILE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-EMPTY-PACKETS:CAPS" title="GNUTLS_E_TOO_MANY_EMPTY_PACKETS">GNUTLS_E_TOO_MANY_EMPTY_PACKETS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PK-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_PK_ALGORITHM">GNUTLS_E_UNKNOWN_PK_ALGORITHM</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-HANDSHAKE-PACKETS:CAPS" title="GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS">GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-DISALLOWED-NAME:CAPS" title="GNUTLS_E_RECEIVED_DISALLOWED_NAME">GNUTLS_E_RECEIVED_DISALLOWED_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-REQUIRED:CAPS" title="GNUTLS_E_CERTIFICATE_REQUIRED">GNUTLS_E_CERTIFICATE_REQUIRED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-RSA-PARAMS:CAPS" title="GNUTLS_E_NO_TEMPORARY_RSA_PARAMS">GNUTLS_E_NO_TEMPORARY_RSA_PARAMS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-COMPRESSION-ALGORITHMS:CAPS" title="GNUTLS_E_NO_COMPRESSION_ALGORITHMS">GNUTLS_E_NO_COMPRESSION_ALGORITHMS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CIPHER-SUITES:CAPS" title="GNUTLS_E_NO_CIPHER_SUITES">GNUTLS_E_NO_CIPHER_SUITES</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-GETKEY-FAILED:CAPS" title="GNUTLS_E_OPENPGP_GETKEY_FAILED">GNUTLS_E_OPENPGP_GETKEY_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS" title="GNUTLS_E_PK_SIG_VERIFY_FAILED">GNUTLS_E_PK_SIG_VERIFY_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ILLEGAL-SRP-USERNAME:CAPS" title="GNUTLS_E_ILLEGAL_SRP_USERNAME">GNUTLS_E_ILLEGAL_SRP_USERNAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-PARSING-ERROR:CAPS" title="GNUTLS_E_SRP_PWD_PARSING_ERROR">GNUTLS_E_SRP_PWD_PARSING_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEYFILE-PARSING-ERROR:CAPS" title="GNUTLS_E_KEYFILE_PARSING_ERROR">GNUTLS_E_KEYFILE_PARSING_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-DH-PARAMS:CAPS" title="GNUTLS_E_NO_TEMPORARY_DH_PARAMS">GNUTLS_E_NO_TEMPORARY_DH_PARAMS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-ELEMENT-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_ELEMENT_NOT_FOUND">GNUTLS_E_ASN1_ELEMENT_NOT_FOUND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-IDENTIFIER-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND">GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-ERROR:CAPS" title="GNUTLS_E_ASN1_DER_ERROR">GNUTLS_E_ASN1_DER_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_FOUND">GNUTLS_E_ASN1_VALUE_NOT_FOUND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-GENERIC-ERROR:CAPS" title="GNUTLS_E_ASN1_GENERIC_ERROR">GNUTLS_E_ASN1_GENERIC_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-VALID:CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_VALID">GNUTLS_E_ASN1_VALUE_NOT_VALID</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-ERROR:CAPS" title="GNUTLS_E_ASN1_TAG_ERROR">GNUTLS_E_ASN1_TAG_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-IMPLICIT:CAPS" title="GNUTLS_E_ASN1_TAG_IMPLICIT">GNUTLS_E_ASN1_TAG_IMPLICIT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TYPE-ANY-ERROR:CAPS" title="GNUTLS_E_ASN1_TYPE_ANY_ERROR">GNUTLS_E_ASN1_TYPE_ANY_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-SYNTAX-ERROR:CAPS" title="GNUTLS_E_ASN1_SYNTAX_ERROR">GNUTLS_E_ASN1_SYNTAX_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-OVERFLOW:CAPS" title="GNUTLS_E_ASN1_DER_OVERFLOW">GNUTLS_E_ASN1_DER_OVERFLOW</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-UID-REVOKED:CAPS" title="GNUTLS_E_OPENPGP_UID_REVOKED">GNUTLS_E_OPENPGP_UID_REVOKED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-ERROR:CAPS" title="GNUTLS_E_CERTIFICATE_ERROR">GNUTLS_E_CERTIFICATE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-CERTIFICATE-ERROR:CAPS" title="GNUTLS_E_X509_CERTIFICATE_ERROR">GNUTLS_E_X509_CERTIFICATE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-CERTIFICATE-TYPE:CAPS" title="GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE">GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNKNOWN-SAN:CAPS" title="GNUTLS_E_X509_UNKNOWN_SAN">GNUTLS_E_X509_UNKNOWN_SAN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-FINGERPRINT-UNSUPPORTED:CAPS" title="GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED">GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-ATTRIBUTE:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE">GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-HASH-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_HASH_ALGORITHM">GNUTLS_E_UNKNOWN_HASH_ALGORITHM</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-CONTENT-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE">GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-BAG-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE">GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-PASSWORD:CAPS" title="GNUTLS_E_INVALID_PASSWORD">GNUTLS_E_INVALID_PASSWORD</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-MAC-VERIFY-FAILED:CAPS" title="GNUTLS_E_MAC_VERIFY_FAILED">GNUTLS_E_MAC_VERIFY_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CONSTRAINT-ERROR:CAPS" title="GNUTLS_E_CONSTRAINT_ERROR">GNUTLS_E_CONSTRAINT_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-IPHF-RECEIVED:CAPS" title="GNUTLS_E_WARNING_IA_IPHF_RECEIVED">GNUTLS_E_WARNING_IA_IPHF_RECEIVED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-FPHF-RECEIVED:CAPS" title="GNUTLS_E_WARNING_IA_FPHF_RECEIVED">GNUTLS_E_WARNING_IA_FPHF_RECEIVED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-IA-VERIFY-FAILED:CAPS" title="GNUTLS_E_IA_VERIFY_FAILED">GNUTLS_E_IA_VERIFY_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_ALGORITHM">GNUTLS_E_UNKNOWN_ALGORITHM</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-SIGNATURE-ALGORITHM:CAPS" title="GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM">GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-SAFE-RENEGOTIATION-FAILED:CAPS" title="GNUTLS_E_SAFE_RENEGOTIATION_FAILED">GNUTLS_E_SAFE_RENEGOTIATION_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSAFE-RENEGOTIATION-DENIED:CAPS" title="GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED">GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-SRP-USERNAME:CAPS" title="GNUTLS_E_UNKNOWN_SRP_USERNAME">GNUTLS_E_UNKNOWN_SRP_USERNAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PREMATURE-TERMINATION:CAPS" title="GNUTLS_E_PREMATURE_TERMINATION">GNUTLS_E_PREMATURE_TERMINATION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-MALFORMED-CIDR:CAPS" title="GNUTLS_E_MALFORMED_CIDR">GNUTLS_E_MALFORMED_CIDR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-ENCODING-ERROR:CAPS" title="GNUTLS_E_BASE64_ENCODING_ERROR">GNUTLS_E_BASE64_ENCODING_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-GCRYPT-LIBRARY:CAPS" title="GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY">GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-CRYPTO-LIBRARY:CAPS" title="GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY">GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-LIBTASN1-LIBRARY:CAPS" title="GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY">GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-KEYRING-ERROR:CAPS" title="GNUTLS_E_OPENPGP_KEYRING_ERROR">GNUTLS_E_OPENPGP_KEYRING_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-OID:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_OID">GNUTLS_E_X509_UNSUPPORTED_OID</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-RANDOM-FAILED:CAPS" title="GNUTLS_E_RANDOM_FAILED">GNUTLS_E_RANDOM_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-UNEXPECTED-HEADER-ERROR:CAPS" title="GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR">GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-SUBKEY-ERROR:CAPS" title="GNUTLS_E_OPENPGP_SUBKEY_ERROR">GNUTLS_E_OPENPGP_SUBKEY_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTO-ALREADY-REGISTERED:CAPS" title="GNUTLS_E_CRYPTO_ALREADY_REGISTERED">GNUTLS_E_CRYPTO_ALREADY_REGISTERED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ALREADY-REGISTERED:CAPS" title="GNUTLS_E_ALREADY_REGISTERED">GNUTLS_E_ALREADY_REGISTERED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-TOO-LARGE:CAPS" title="GNUTLS_E_HANDSHAKE_TOO_LARGE">GNUTLS_E_HANDSHAKE_TOO_LARGE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTODEV-IOCTL-ERROR:CAPS" title="GNUTLS_E_CRYPTODEV_IOCTL_ERROR">GNUTLS_E_CRYPTODEV_IOCTL_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTODEV-DEVICE-ERROR:CAPS" title="GNUTLS_E_CRYPTODEV_DEVICE_ERROR">GNUTLS_E_CRYPTODEV_DEVICE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CHANNEL-BINDING-NOT-AVAILABLE:CAPS" title="GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE">GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-BAD-COOKIE:CAPS" title="GNUTLS_E_BAD_COOKIE">GNUTLS_E_BAD_COOKIE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-PREFERRED-KEY-ERROR:CAPS" title="GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR">GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPAT-DSA-KEY-WITH-TLS-PROTOCOL:CAPS" title="GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL">GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-SECURITY:CAPS" title="GNUTLS_E_INSUFFICIENT_SECURITY">GNUTLS_E_INSUFFICIENT_SECURITY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-HEARTBEAT-PONG-RECEIVED:CAPS" title="GNUTLS_E_HEARTBEAT_PONG_RECEIVED">GNUTLS_E_HEARTBEAT_PONG_RECEIVED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-HEARTBEAT-PING-RECEIVED:CAPS" title="GNUTLS_E_HEARTBEAT_PING_RECEIVED">GNUTLS_E_HEARTBEAT_PING_RECEIVED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNRECOGNIZED-NAME:CAPS" title="GNUTLS_E_UNRECOGNIZED_NAME">GNUTLS_E_UNRECOGNIZED_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-ERROR:CAPS" title="GNUTLS_E_PKCS11_ERROR">GNUTLS_E_PKCS11_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-LOAD-ERROR:CAPS" title="GNUTLS_E_PKCS11_LOAD_ERROR">GNUTLS_E_PKCS11_LOAD_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PARSING-ERROR:CAPS" title="GNUTLS_E_PARSING_ERROR">GNUTLS_E_PARSING_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-PIN-ERROR:CAPS" title="GNUTLS_E_PKCS11_PIN_ERROR">GNUTLS_E_PKCS11_PIN_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-SLOT-ERROR:CAPS" title="GNUTLS_E_PKCS11_SLOT_ERROR">GNUTLS_E_PKCS11_SLOT_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-LOCKING-ERROR:CAPS" title="GNUTLS_E_LOCKING_ERROR">GNUTLS_E_LOCKING_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-ATTRIBUTE-ERROR:CAPS" title="GNUTLS_E_PKCS11_ATTRIBUTE_ERROR">GNUTLS_E_PKCS11_ATTRIBUTE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-DEVICE-ERROR:CAPS" title="GNUTLS_E_PKCS11_DEVICE_ERROR">GNUTLS_E_PKCS11_DEVICE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-DATA-ERROR:CAPS" title="GNUTLS_E_PKCS11_DATA_ERROR">GNUTLS_E_PKCS11_DATA_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-UNSUPPORTED-FEATURE-ERROR:CAPS" title="GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR">GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-KEY-ERROR:CAPS" title="GNUTLS_E_PKCS11_KEY_ERROR">GNUTLS_E_PKCS11_KEY_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-PIN-EXPIRED:CAPS" title="GNUTLS_E_PKCS11_PIN_EXPIRED">GNUTLS_E_PKCS11_PIN_EXPIRED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-PIN-LOCKED:CAPS" title="GNUTLS_E_PKCS11_PIN_LOCKED">GNUTLS_E_PKCS11_PIN_LOCKED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-SESSION-ERROR:CAPS" title="GNUTLS_E_PKCS11_SESSION_ERROR">GNUTLS_E_PKCS11_SESSION_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-SIGNATURE-ERROR:CAPS" title="GNUTLS_E_PKCS11_SIGNATURE_ERROR">GNUTLS_E_PKCS11_SIGNATURE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-TOKEN-ERROR:CAPS" title="GNUTLS_E_PKCS11_TOKEN_ERROR">GNUTLS_E_PKCS11_TOKEN_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-USER-ERROR:CAPS" title="GNUTLS_E_PKCS11_USER_ERROR">GNUTLS_E_PKCS11_USER_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTO-INIT-FAILED:CAPS" title="GNUTLS_E_CRYPTO_INIT_FAILED">GNUTLS_E_CRYPTO_INIT_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TIMEDOUT:CAPS" title="GNUTLS_E_TIMEDOUT">GNUTLS_E_TIMEDOUT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-USER-ERROR:CAPS" title="GNUTLS_E_USER_ERROR">GNUTLS_E_USER_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ECC-NO-SUPPORTED-CURVES:CAPS" title="GNUTLS_E_ECC_NO_SUPPORTED_CURVES">GNUTLS_E_ECC_NO_SUPPORTED_CURVES</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ECC-UNSUPPORTED-CURVE:CAPS" title="GNUTLS_E_ECC_UNSUPPORTED_CURVE">GNUTLS_E_ECC_UNSUPPORTED_CURVE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS11-REQUESTED-OBJECT-NOT-AVAILBLE:CAPS" title="GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE">GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-LIST-UNSORTED:CAPS" title="GNUTLS_E_CERTIFICATE_LIST_UNSORTED">GNUTLS_E_CERTIFICATE_LIST_UNSORTED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ILLEGAL-PARAMETER:CAPS" title="GNUTLS_E_ILLEGAL_PARAMETER">GNUTLS_E_ILLEGAL_PARAMETER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-PRIORITIES-WERE-SET:CAPS" title="GNUTLS_E_NO_PRIORITIES_WERE_SET">GNUTLS_E_NO_PRIORITIES_WERE_SET</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-EXTENSION:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_EXTENSION">GNUTLS_E_X509_UNSUPPORTED_EXTENSION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-SESSION-EOF:CAPS" title="GNUTLS_E_SESSION_EOF">GNUTLS_E_SESSION_EOF</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-ERROR:CAPS" title="GNUTLS_E_TPM_ERROR">GNUTLS_E_TPM_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-KEY-PASSWORD-ERROR:CAPS" title="GNUTLS_E_TPM_KEY_PASSWORD_ERROR">GNUTLS_E_TPM_KEY_PASSWORD_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-SRK-PASSWORD-ERROR:CAPS" title="GNUTLS_E_TPM_SRK_PASSWORD_ERROR">GNUTLS_E_TPM_SRK_PASSWORD_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-SESSION-ERROR:CAPS" title="GNUTLS_E_TPM_SESSION_ERROR">GNUTLS_E_TPM_SESSION_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-KEY-NOT-FOUND:CAPS" title="GNUTLS_E_TPM_KEY_NOT_FOUND">GNUTLS_E_TPM_KEY_NOT_FOUND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-UNINITIALIZED:CAPS" title="GNUTLS_E_TPM_UNINITIALIZED">GNUTLS_E_TPM_UNINITIALIZED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TPM-NO-LIB:CAPS" title="GNUTLS_E_TPM_NO_LIB">GNUTLS_E_TPM_NO_LIB</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-STATUS:CAPS" title="GNUTLS_E_NO_CERTIFICATE_STATUS">GNUTLS_E_NO_CERTIFICATE_STATUS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-OCSP-RESPONSE-ERROR:CAPS" title="GNUTLS_E_OCSP_RESPONSE_ERROR">GNUTLS_E_OCSP_RESPONSE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-RANDOM-DEVICE-ERROR:CAPS" title="GNUTLS_E_RANDOM_DEVICE_ERROR">GNUTLS_E_RANDOM_DEVICE_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-AUTH-ERROR:CAPS" title="GNUTLS_E_AUTH_ERROR">GNUTLS_E_AUTH_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-APPLICATION-PROTOCOL:CAPS" title="GNUTLS_E_NO_APPLICATION_PROTOCOL">GNUTLS_E_NO_APPLICATION_PROTOCOL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-SOCKETS-INIT-ERROR:CAPS" title="GNUTLS_E_SOCKETS_INIT_ERROR">GNUTLS_E_SOCKETS_INIT_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEY-IMPORT-FAILED:CAPS" title="GNUTLS_E_KEY_IMPORT_FAILED">GNUTLS_E_KEY_IMPORT_FAILED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INAPPROPRIATE-FALLBACK:CAPS" title="GNUTLS_E_INAPPROPRIATE_FALLBACK">GNUTLS_E_INAPPROPRIATE_FALLBACK</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR">GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PRIVKEY-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_PRIVKEY_VERIFICATION_ERROR">GNUTLS_E_PRIVKEY_VERIFICATION_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-EXTENSIONS-LENGTH:CAPS" title="GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH">GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-EMBEDDED-NULL-IN-STRING:CAPS" title="GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING">GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-SELF-TEST-ERROR:CAPS" title="GNUTLS_E_SELF_TEST_ERROR">GNUTLS_E_SELF_TEST_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-SELF-TEST:CAPS" title="GNUTLS_E_NO_SELF_TEST">GNUTLS_E_NO_SELF_TEST</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-LIB-IN-ERROR-STATE:CAPS" title="GNUTLS_E_LIB_IN_ERROR_STATE">GNUTLS_E_LIB_IN_ERROR_STATE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-GENERATION-ERROR:CAPS" title="GNUTLS_E_PK_GENERATION_ERROR">GNUTLS_E_PK_GENERATION_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-IDNA-ERROR:CAPS" title="GNUTLS_E_IDNA_ERROR">GNUTLS_E_IDNA_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NEED-FALLBACK:CAPS" title="GNUTLS_E_NEED_FALLBACK">GNUTLS_E_NEED_FALLBACK</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-SESSION-USER-ID-CHANGED:CAPS" title="GNUTLS_E_SESSION_USER_ID_CHANGED">GNUTLS_E_SESSION_USER_ID_CHANGED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-DURING-FALSE-START:CAPS" title="GNUTLS_E_HANDSHAKE_DURING_FALSE_START">GNUTLS_E_HANDSHAKE_DURING_FALSE_START</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNAVAILABLE-DURING-HANDSHAKE:CAPS" title="GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE">GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-INVALID-PUBKEY:CAPS" title="GNUTLS_E_PK_INVALID_PUBKEY">GNUTLS_E_PK_INVALID_PUBKEY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-INVALID-PRIVKEY:CAPS" title="GNUTLS_E_PK_INVALID_PRIVKEY">GNUTLS_E_PK_INVALID_PRIVKEY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NOT-YET-ACTIVATED:CAPS" title="GNUTLS_E_NOT_YET_ACTIVATED">GNUTLS_E_NOT_YET_ACTIVATED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-UTF8-STRING:CAPS" title="GNUTLS_E_INVALID_UTF8_STRING">GNUTLS_E_INVALID_UTF8_STRING</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-EMBEDDED-DATA:CAPS" title="GNUTLS_E_NO_EMBEDDED_DATA">GNUTLS_E_NO_EMBEDDED_DATA</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-UTF8-EMAIL:CAPS" title="GNUTLS_E_INVALID_UTF8_EMAIL">GNUTLS_E_INVALID_UTF8_EMAIL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-PASSWORD-STRING:CAPS" title="GNUTLS_E_INVALID_PASSWORD_STRING">GNUTLS_E_INVALID_PASSWORD_STRING</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-TIME-ERROR:CAPS" title="GNUTLS_E_CERTIFICATE_TIME_ERROR">GNUTLS_E_CERTIFICATE_TIME_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECORD-OVERFLOW:CAPS" title="GNUTLS_E_RECORD_OVERFLOW">GNUTLS_E_RECORD_OVERFLOW</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TIME-ERROR:CAPS" title="GNUTLS_E_ASN1_TIME_ERROR">GNUTLS_E_ASN1_TIME_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-SIG-WITH-KEY:CAPS" title="GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY">GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-INVALID-PUBKEY-PARAMS:CAPS" title="GNUTLS_E_PK_INVALID_PUBKEY_PARAMS">GNUTLS_E_PK_INVALID_PUBKEY_PARAMS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-NO-VALIDATION-PARAMS:CAPS" title="GNUTLS_E_PK_NO_VALIDATION_PARAMS">GNUTLS_E_PK_NO_VALIDATION_PARAMS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-OCSP-MISMATCH-WITH-CERTS:CAPS" title="GNUTLS_E_OCSP_MISMATCH_WITH_CERTS">GNUTLS_E_OCSP_MISMATCH_WITH_CERTS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-COMMON-KEY-SHARE:CAPS" title="GNUTLS_E_NO_COMMON_KEY_SHARE">GNUTLS_E_NO_COMMON_KEY_SHARE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-REAUTH-REQUEST:CAPS" title="GNUTLS_E_REAUTH_REQUEST">GNUTLS_E_REAUTH_REQUEST</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-MATCHES:CAPS" title="GNUTLS_E_TOO_MANY_MATCHES">GNUTLS_E_TOO_MANY_MATCHES</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRL-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_CRL_VERIFICATION_ERROR">GNUTLS_E_CRL_VERIFICATION_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-MISSING-EXTENSION:CAPS" title="GNUTLS_E_MISSING_EXTENSION">GNUTLS_E_MISSING_EXTENSION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-DB-ENTRY-EXISTS:CAPS" title="GNUTLS_E_DB_ENTRY_EXISTS">GNUTLS_E_DB_ENTRY_EXISTS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-EARLY-DATA-REJECTED:CAPS" title="GNUTLS_E_EARLY_DATA_REJECTED">GNUTLS_E_EARLY_DATA_REJECTED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-DUPLICATE-EXTENSION:CAPS" title="GNUTLS_E_X509_DUPLICATE_EXTENSION">GNUTLS_E_X509_DUPLICATE_EXTENSION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE">GNUTLS_E_UNIMPLEMENTED_FEATURE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INT-RET-0:CAPS" title="GNUTLS_E_INT_RET_0">GNUTLS_E_INT_RET_0</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-INT-CHECK-AGAIN:CAPS" title="GNUTLS_E_INT_CHECK_AGAIN">GNUTLS_E_INT_CHECK_AGAIN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MAX:CAPS" title="GNUTLS_E_APPLICATION_ERROR_MAX">GNUTLS_E_APPLICATION_ERROR_MAX</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MIN:CAPS" title="GNUTLS_E_APPLICATION_ERROR_MIN">GNUTLS_E_APPLICATION_ERROR_MIN</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-credentials-st" title="struct gnutls_certificate_credentials_st">gnutls_certificate_credentials_st</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-int" title="struct gnutls_dh_params_int">gnutls_dh_params_int</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-int" title="struct gnutls_openpgp_crt_int">gnutls_openpgp_crt_int</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-int" title="struct gnutls_openpgp_keyring_int">gnutls_openpgp_keyring_int</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-int" title="struct gnutls_openpgp_privkey_int">gnutls_openpgp_privkey_int</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-st" title="struct gnutls_pkcs11_privkey_st">gnutls_pkcs11_privkey_st</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-priority-st" title="struct gnutls_priority_st">gnutls_priority_st</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-privkey-st" title="struct gnutls_privkey_st">gnutls_privkey_st</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-st" title="struct gnutls_pubkey_st">gnutls_pubkey_st</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-session-int" title="struct gnutls_session_int">gnutls_session_int</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-tdb-int" title="struct gnutls_tdb_int">gnutls_tdb_int</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-int" title="gnutls_x509_crl_int">gnutls_x509_crl_int</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-int" title="gnutls_x509_crq_int">gnutls_x509_crq_int</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-int" title="gnutls_x509_crt_int">gnutls_x509_crt_int</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-int" title="gnutls_x509_privkey_int">gnutls_x509_privkey_int</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-gnutls.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-gnutls.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gnutls-pk-algorithm-get-name"></a><h3>gnutls_pk_algorithm_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_pk_algorithm_get_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> algorithm</code></em>);</pre> +<p>Convert a <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> value to a string.</p> +<div class="refsect3"> +<a name="gnutls-pk-algorithm-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>is a pk algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pk-algorithm-get-name.returns"></a><h4>Returns</h4> +<p> a string that contains the name of the specified public +key algorithm, or <code class="literal">NULL</code>.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-CURVE-TO-BITS:CAPS"></a><h3>GNUTLS_CURVE_TO_BITS()</h3> +<pre class="programlisting">#define GNUTLS_CURVE_TO_BITS(curve) (unsigned int)(((unsigned int)1<<31)|((unsigned int)(curve))) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-BITS-TO-CURVE:CAPS"></a><h3>GNUTLS_BITS_TO_CURVE()</h3> +<pre class="programlisting">#define GNUTLS_BITS_TO_CURVE(bits) (((unsigned int)(bits)) & 0x7FFFFFFF) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-BITS-ARE-CURVE:CAPS"></a><h3>GNUTLS_BITS_ARE_CURVE()</h3> +<pre class="programlisting">#define GNUTLS_BITS_ARE_CURVE(bits) (((unsigned int)(bits)) & 0x80000000) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-init"></a><h3>gnutls_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> *session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function initializes the provided session. Every +session must be initialized before use, and must be deinitialized +after used by calling <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()"><code class="function">gnutls_deinit()</code></a>.</p> +<p><em class="parameter"><code>flags</code></em> + can be any combination of flags from <a class="link" href="gnutls-gnutls.html#gnutls-init-flags-t" title="enum gnutls_init_flags_t"><code class="literal">gnutls_init_flags_t</code></a>.</p> +<p>Note that since version 3.1.2 this function enables some common +TLS extensions such as session tickets and OCSP certificate status +request in client side by default. To prevent that use the <a class="link" href="gnutls-gnutls.html#GNUTLS-NO-EXTENSIONS:CAPS"><code class="literal">GNUTLS_NO_EXTENSIONS</code></a> +flag.</p> +<div class="refsect3"> +<a name="gnutls-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>indicate if this session is to be used for server or client.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-init.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-deinit"></a><h3>gnutls_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function clears all buffers associated with the <em class="parameter"><code>session</code></em> +. +This function will also remove session data from the session +database if the session was terminated abnormally.</p> +<div class="refsect3"> +<a name="gnutls-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-bye"></a><h3>gnutls_bye ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_bye (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-close-request-t" title="enum gnutls_close_request_t"><span class="type">gnutls_close_request_t</span></a> how</code></em>);</pre> +<p>Terminates the current TLS/SSL connection. The connection should +have been initiated using <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a>. <em class="parameter"><code>how</code></em> + should be one +of <a class="link" href="gnutls-gnutls.html#GNUTLS-SHUT-RDWR:CAPS"><code class="literal">GNUTLS_SHUT_RDWR</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SHUT-WR:CAPS"><code class="literal">GNUTLS_SHUT_WR</code></a>.</p> +<p>In case of <a class="link" href="gnutls-gnutls.html#GNUTLS-SHUT-RDWR:CAPS"><code class="literal">GNUTLS_SHUT_RDWR</code></a> the TLS session gets +terminated and further receives and sends will be disallowed. If +the return value is zero you may continue using the underlying +transport layer. <a class="link" href="gnutls-gnutls.html#GNUTLS-SHUT-RDWR:CAPS"><code class="literal">GNUTLS_SHUT_RDWR</code></a> sends an alert containing a close +request and waits for the peer to reply with the same message.</p> +<p>In case of <a class="link" href="gnutls-gnutls.html#GNUTLS-SHUT-WR:CAPS"><code class="literal">GNUTLS_SHUT_WR</code></a> the TLS session gets terminated +and further sends will be disallowed. In order to reuse the +connection you should wait for an EOF from the peer. +<a class="link" href="gnutls-gnutls.html#GNUTLS-SHUT-WR:CAPS"><code class="literal">GNUTLS_SHUT_WR</code></a> sends an alert containing a close request.</p> +<p>Note that not all implementations will properly terminate a TLS +connection. Some of them, usually for performance reasons, will +terminate only the underlying transport layer, and thus not +distinguishing between a malicious party prematurely terminating +the connection and normal termination.</p> +<p>This function may also return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> or +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a>; cf. <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-bye.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>how</p></td> +<td class="parameter_description"><p>is an integer</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-bye.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code, see +function documentation for entire semantics.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake"></a><h3>gnutls_handshake ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_handshake (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function performs the handshake of the TLS/SSL protocol, and +initializes the TLS session parameters.</p> +<p>The non-fatal errors expected by this function are: +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED:CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED"><code class="literal">GNUTLS_E_WARNING_ALERT_RECEIVED</code></a>. When this function is called +for re-handshake under TLS 1.2 or earlier, the non-fatal error code +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-GOT-APPLICATION-DATA:CAPS" title="GNUTLS_E_GOT_APPLICATION_DATA"><code class="literal">GNUTLS_E_GOT_APPLICATION_DATA</code></a> may also be returned.</p> +<p>The former two interrupt the handshake procedure due to the transport +layer being interrupted, and the latter because of a "warning" alert that +was sent by the peer (it is always a good idea to check any +received alerts). On these non-fatal errors call this function again, +until it returns 0; cf. <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a> and +<a class="link" href="gnutls-gnutls.html#gnutls-error-is-fatal" title="gnutls_error_is_fatal ()"><code class="function">gnutls_error_is_fatal()</code></a>. In DTLS sessions the non-fatal error +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-LARGE-PACKET:CAPS" title="GNUTLS_E_LARGE_PACKET"><code class="literal">GNUTLS_E_LARGE_PACKET</code></a> is also possible, and indicates that +the MTU should be adjusted.</p> +<p>When this function is called by a server after a rehandshake request +under TLS 1.2 or earlier the <a class="link" href="gnutls-gnutls.html#GNUTLS-E-GOT-APPLICATION-DATA:CAPS" title="GNUTLS_E_GOT_APPLICATION_DATA"><code class="literal">GNUTLS_E_GOT_APPLICATION_DATA</code></a> error code indicates +that some data were pending prior to peer initiating the handshake. +Under TLS 1.3 this function when called after a successful handshake, is a no-op +and always succeeds in server side; in client side this function is +equivalent to <a class="link" href="gnutls-gnutls.html#gnutls-session-key-update" title="gnutls_session_key_update ()"><code class="function">gnutls_session_key_update()</code></a> with <a class="link" href="gnutls-gnutls.html#GNUTLS-KU-PEER:CAPS" title="GNUTLS_KU_PEER"><code class="literal">GNUTLS_KU_PEER</code></a> flag.</p> +<p>This function handles both full and abbreviated TLS handshakes (resumption). +For abbreviated handshakes, in client side, the <code class="function">gnutls_session_set_data()</code> +should be called prior to this function to set parameters from a previous session. +In server side, resumption is handled by either setting a DB back-end, or setting +up keys for session tickets.</p> +<div class="refsect3"> +<a name="gnutls-handshake.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-handshake.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on a successful handshake, otherwise a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-reauth"></a><h3>gnutls_reauth ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_reauth (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function performs the post-handshake authentication +for TLS 1.3. The post-handshake authentication is initiated by the server +by calling this function. Clients respond when <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REAUTH-REQUEST:CAPS" title="GNUTLS_E_REAUTH_REQUEST"><code class="literal">GNUTLS_E_REAUTH_REQUEST</code></a> +has been seen while receiving data.</p> +<p>The non-fatal errors expected by this function are: +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a>, as well as +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-GOT-APPLICATION-DATA:CAPS" title="GNUTLS_E_GOT_APPLICATION_DATA"><code class="literal">GNUTLS_E_GOT_APPLICATION_DATA</code></a> when called on server side.</p> +<p>The former two interrupt the authentication procedure due to the transport +layer being interrupted, and the latter because there were pending data prior +to peer initiating the re-authentication. The server should read/process that +data as unauthenticated and retry calling <a class="link" href="gnutls-gnutls.html#gnutls-reauth" title="gnutls_reauth ()"><code class="function">gnutls_reauth()</code></a>.</p> +<p>When this function is called under TLS1.2 or earlier or the peer didn't +advertise post-handshake auth, it always fails with +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>. The verification of the received peers certificate +is delegated to the session or credentials verification callbacks. A +server can check whether post handshake authentication is supported +by the client by checking the session flags with <a class="link" href="gnutls-gnutls.html#gnutls-session-get-flags" title="gnutls_session_get_flags ()"><code class="function">gnutls_session_get_flags()</code></a>.</p> +<p>Prior to calling this function in server side, the function +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-server-set-request" title="gnutls_certificate_server_set_request ()"><code class="function">gnutls_certificate_server_set_request()</code></a> must be called setting expectations +for the received certificate (request or require). If none are set +this function will return with <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +<p>Note that post handshake authentication is available irrespective +of the initial negotiation type (PSK or certificate). In all cases +however, certificate credentials must be set to the session prior +to calling this function.</p> +<div class="refsect3"> +<a name="gnutls-reauth.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-reauth.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on a successful authentication, otherwise a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-set-timeout"></a><h3>gnutls_handshake_set_timeout ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_handshake_set_timeout (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> ms</code></em>);</pre> +<p>This function sets the timeout for the TLS handshake process +to the provided value. Use an <em class="parameter"><code>ms</code></em> + value of zero to disable +timeout, or <a class="link" href="gnutls-gnutls.html#GNUTLS-DEFAULT-HANDSHAKE-TIMEOUT:CAPS" title="GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT"><code class="literal">GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT</code></a> for a reasonable +default value. For the DTLS protocol, the more detailed +<a class="link" href="gnutls-dtls.html#gnutls-dtls-set-timeouts" title="gnutls_dtls_set_timeouts ()"><code class="function">gnutls_dtls_set_timeouts()</code></a> is provided.</p> +<p>This function requires to set a pull timeout callback. See +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-timeout-function" title="gnutls_transport_set_pull_timeout_function ()"><code class="function">gnutls_transport_set_pull_timeout_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-handshake-set-timeout.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ms</p></td> +<td class="parameter_description"><p>is a timeout value in milliseconds</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-rehandshake"></a><h3>gnutls_rehandshake ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_rehandshake (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function can only be called in server side, and +instructs a TLS 1.2 or earlier client to renegotiate +parameters (perform a handshake), by sending a +hello request message.</p> +<p>If this function succeeds, the calling application +should call <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a> until <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS" title="GNUTLS_E_REHANDSHAKE"><code class="literal">GNUTLS_E_REHANDSHAKE</code></a> +is returned to clear any pending data. If the <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS" title="GNUTLS_E_REHANDSHAKE"><code class="literal">GNUTLS_E_REHANDSHAKE</code></a> +error code is not seen, then the handshake request was +not followed by the peer (the TLS protocol does not require +the client to do, and such compliance should be handled +by the application protocol).</p> +<p>Once the <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS" title="GNUTLS_E_REHANDSHAKE"><code class="literal">GNUTLS_E_REHANDSHAKE</code></a> error code is seen, the +calling application should proceed to calling +<a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a> to negotiate the new +parameters.</p> +<p>If the client does not wish to renegotiate parameters he +may reply with an alert message, and in that case the return code seen +by subsequent <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a> will be +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED:CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED"><code class="literal">GNUTLS_E_WARNING_ALERT_RECEIVED</code></a> with the specific alert being +<a class="link" href="gnutls-gnutls.html#GNUTLS-A-NO-RENEGOTIATION:CAPS"><code class="literal">GNUTLS_A_NO_RENEGOTIATION</code></a>. A client may also choose to ignore +this request.</p> +<p>Under TLS 1.3 this function is equivalent to <a class="link" href="gnutls-gnutls.html#gnutls-session-key-update" title="gnutls_session_key_update ()"><code class="function">gnutls_session_key_update()</code></a> +with the <a class="link" href="gnutls-gnutls.html#GNUTLS-KU-PEER:CAPS" title="GNUTLS_KU_PEER"><code class="literal">GNUTLS_KU_PEER</code></a> flag. In that case subsequent calls to +<a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a> will not return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS" title="GNUTLS_E_REHANDSHAKE"><code class="literal">GNUTLS_E_REHANDSHAKE</code></a>, and +calls to <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a> in server side are a no-op.</p> +<p>This function always fails with <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> when +called in client side.</p> +<div class="refsect3"> +<a name="gnutls-rehandshake.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-rehandshake.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-key-update"></a><h3>gnutls_session_key_update ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_key_update (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will update/refresh the session keys when the +TLS protocol is 1.3 or better. The peer is notified of the +update by sending a message, so this function should be +treated similarly to <a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()"><code class="function">gnutls_record_send()</code></a> --i.e., it may +return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a>.</p> +<p>When this flag <a class="link" href="gnutls-gnutls.html#GNUTLS-KU-PEER:CAPS" title="GNUTLS_KU_PEER"><code class="literal">GNUTLS_KU_PEER</code></a> is specified, this function +in addition to updating the local keys, will ask the peer to +refresh its keys too.</p> +<p>If the negotiated version is not TLS 1.3 or better this +function will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-session-key-update.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero of <a class="link" href="gnutls-gnutls.html#GNUTLS-KU-PEER:CAPS" title="GNUTLS_KU_PEER"><code class="literal">GNUTLS_KU_PEER</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-key-update.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alert-get"></a><h3>gnutls_alert_get ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="returnvalue">gnutls_alert_description_t</span></a> +gnutls_alert_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the last alert number received. This +function should be called when <a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED:CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED"><code class="literal">GNUTLS_E_WARNING_ALERT_RECEIVED</code></a> or +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-FATAL-ALERT-RECEIVED:CAPS" title="GNUTLS_E_FATAL_ALERT_RECEIVED"><code class="literal">GNUTLS_E_FATAL_ALERT_RECEIVED</code></a> errors are returned by a gnutls +function. The peer may send alerts if he encounters an error. +If no alert has been received the returned value is undefined.</p> +<div class="refsect3"> +<a name="gnutls-alert-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-alert-get.returns"></a><h4>Returns</h4> +<p> the last alert received, a +<a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alert-send"></a><h3>gnutls_alert_send ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_alert_send (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-level-t" title="enum gnutls_alert_level_t"><span class="type">gnutls_alert_level_t</span></a> level</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> desc</code></em>);</pre> +<p>This function will send an alert to the peer in order to inform +him of something important (eg. his Certificate could not be verified). +If the alert level is Fatal then the peer is expected to close the +connection, otherwise he may ignore the alert and continue.</p> +<p>The error code of the underlying record send function will be +returned, so you may also receive <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> or +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> as well.</p> +<div class="refsect3"> +<a name="gnutls-alert-send.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>level</p></td> +<td class="parameter_description"><p>is the level of the alert</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>desc</p></td> +<td class="parameter_description"><p>is the alert description</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-alert-send.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alert-send-appropriate"></a><h3>gnutls_alert_send_appropriate ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_alert_send_appropriate (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">int</span> err</code></em>);</pre> +<p>Sends an alert to the peer depending on the error code returned by +a gnutls function. This function will call <code class="function">gnutls_error_to_alert()</code> +to determine the appropriate alert to send.</p> +<p>This function may also return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a>, or +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a>.</p> +<p>This function historically was always sending an alert to the +peer, even if <em class="parameter"><code>err</code></em> + was inappropriate to respond with an alert +(e.g., <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a>). Since 3.6.6 this function returns +success without transmitting any data on error codes that +should not result to an alert.</p> +<div class="refsect3"> +<a name="gnutls-alert-send-appropriate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err</p></td> +<td class="parameter_description"><p>is an error code returned by another GnuTLS function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-alert-send-appropriate.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alert-get-name"></a><h3>gnutls_alert_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_alert_get_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> alert</code></em>);</pre> +<p>This function will return a string that describes the given alert +number, or <code class="literal">NULL</code>. See <a class="link" href="gnutls-gnutls.html#gnutls-alert-get" title="gnutls_alert_get ()"><code class="function">gnutls_alert_get()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-alert-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>alert</p></td> +<td class="parameter_description"><p>is an alert number.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-alert-get-name.returns"></a><h4>Returns</h4> +<p> string corresponding to <a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alert-get-strname"></a><h3>gnutls_alert_get_strname ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_alert_get_strname (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> alert</code></em>);</pre> +<p>This function will return a string of the name of the alert.</p> +<div class="refsect3"> +<a name="gnutls-alert-get-strname.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>alert</p></td> +<td class="parameter_description"><p>is an alert number.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-alert-get-strname.returns"></a><h4>Returns</h4> +<p> string corresponding to <a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pk-bits-to-sec-param"></a><h3>gnutls_pk_bits_to_sec_param ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="returnvalue">gnutls_sec_param_t</span></a> +gnutls_pk_bits_to_sec_param (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>);</pre> +<p>This is the inverse of <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-pk-bits" title="gnutls_sec_param_to_pk_bits ()"><code class="function">gnutls_sec_param_to_pk_bits()</code></a>. Given an algorithm +and the number of bits, it will return the security parameter. This is +a rough indication.</p> +<div class="refsect3"> +<a name="gnutls-pk-bits-to-sec-param.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>is a public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>is the number of bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pk-bits-to-sec-param.returns"></a><h4>Returns</h4> +<p> The security parameter.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sec-param-get-name"></a><h3>gnutls_sec_param_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_sec_param_get_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="type">gnutls_sec_param_t</span></a> param</code></em>);</pre> +<p>Convert a <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="type">gnutls_sec_param_t</span></a> value to a string.</p> +<div class="refsect3"> +<a name="gnutls-sec-param-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>param</p></td> +<td class="parameter_description"><p>is a security parameter</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-sec-param-get-name.returns"></a><h4>Returns</h4> +<p> a pointer to a string that contains the name of the +specified security level, or <code class="literal">NULL</code>.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sec-param-to-pk-bits"></a><h3>gnutls_sec_param_to_pk_bits ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +gnutls_sec_param_to_pk_bits (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="type">gnutls_sec_param_t</span></a> param</code></em>);</pre> +<p>When generating private and public key pairs a difficult question +is which size of "bits" the modulus will be in RSA and the group size +in DSA. The easy answer is 1024, which is also wrong. This function +will convert a human understandable security parameter to an +appropriate size for the specific algorithm.</p> +<div class="refsect3"> +<a name="gnutls-sec-param-to-pk-bits.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>is a public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>param</p></td> +<td class="parameter_description"><p>is a security parameter</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-sec-param-to-pk-bits.returns"></a><h4>Returns</h4> +<p> The number of bits, or (0).</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sec-param-to-symmetric-bits"></a><h3>gnutls_sec_param_to_symmetric_bits ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +gnutls_sec_param_to_symmetric_bits ();</pre> +<p>This function will return the number of bits that correspond to +symmetric cipher strength for the given security parameter.</p> +<div class="refsect3"> +<a name="gnutls-sec-param-to-symmetric-bits.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>is a public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>param</p></td> +<td class="parameter_description"><p>is a security parameter</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-sec-param-to-symmetric-bits.returns"></a><h4>Returns</h4> +<p> The number of bits, or (0).</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-group-get"></a><h3>gnutls_group_get ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-group-t" title="enum gnutls_group_t"><span class="returnvalue">gnutls_group_t</span></a> +gnutls_group_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Returns the currently used group for key exchange. Only valid +when using an elliptic curve or DH ciphersuite.</p> +<div class="refsect3"> +<a name="gnutls-group-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-group-get.returns"></a><h4>Returns</h4> +<p> the currently used group, a <a class="link" href="gnutls-gnutls.html#gnutls-group-t" title="enum gnutls_group_t"><span class="type">gnutls_group_t</span></a> +type.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-get"></a><h3>gnutls_cipher_get ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a> +gnutls_cipher_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the currently used cipher.</p> +<div class="refsect3"> +<a name="gnutls-cipher-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-get.returns"></a><h4>Returns</h4> +<p> the currently used cipher, a <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> +type.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-early-cipher-get"></a><h3>gnutls_early_cipher_get ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a> +gnutls_early_cipher_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the cipher algorithm used for encrypting early data.</p> +<div class="refsect3"> +<a name="gnutls-early-cipher-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-early-cipher-get.returns"></a><h4>Returns</h4> +<p> the cipher used for early data, a +<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> type.</p> +</div> +<p class="since">Since: 3.7.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-kx-get"></a><h3>gnutls_kx_get ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="returnvalue">gnutls_kx_algorithm_t</span></a> +gnutls_kx_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the currently used key exchange algorithm.</p> +<p>This function will return <a class="link" href="gnutls-gnutls.html#GNUTLS-KX-ECDHE-RSA:CAPS"><code class="literal">GNUTLS_KX_ECDHE_RSA</code></a>, or <a class="link" href="gnutls-gnutls.html#GNUTLS-KX-DHE-RSA:CAPS"><code class="literal">GNUTLS_KX_DHE_RSA</code></a> +under TLS 1.3, to indicate an elliptic curve DH key exchange or +a finite field one. The precise group used is available +by calling <a class="link" href="gnutls-gnutls.html#gnutls-group-get" title="gnutls_group_get ()"><code class="function">gnutls_group_get()</code></a> instead.</p> +<div class="refsect3"> +<a name="gnutls-kx-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-kx-get.returns"></a><h4>Returns</h4> +<p> the key exchange algorithm used in the last handshake, a +<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-get"></a><h3>gnutls_mac_get ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="returnvalue">gnutls_mac_algorithm_t</span></a> +gnutls_mac_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the currently used MAC algorithm.</p> +<div class="refsect3"> +<a name="gnutls-mac-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-mac-get.returns"></a><h4>Returns</h4> +<p> the currently used mac algorithm, a +<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-prf-hash-get"></a><h3>gnutls_prf_hash_get ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="returnvalue">gnutls_digest_algorithm_t</span></a> +gnutls_prf_hash_get (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the currently used hash algorithm. In TLS 1.3, the hash +algorithm is used for both the key derivation function and +handshake message authentication code. In TLS 1.2, it matches the +hash algorithm used for PRF.</p> +<div class="refsect3"> +<a name="gnutls-prf-hash-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-prf-hash-get.returns"></a><h4>Returns</h4> +<p> the currently used hash algorithm, a +<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> value.</p> +</div> +<p class="since">Since: 3.6.13</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-early-prf-hash-get"></a><h3>gnutls_early_prf_hash_get ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="returnvalue">gnutls_digest_algorithm_t</span></a> +gnutls_early_prf_hash_get (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the hash algorithm used as a PRF to derive keys for encrypting +early data in TLS 1.3.</p> +<div class="refsect3"> +<a name="gnutls-early-prf-hash-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-early-prf-hash-get.returns"></a><h4>Returns</h4> +<p> the hash algorithm used for early data, a +<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> value.</p> +</div> +<p class="since">Since: 3.7.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-type-get"></a><h3>gnutls_certificate_type_get ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a> +gnutls_certificate_type_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function returns the type of the certificate that is negotiated +for this side to send to the peer. The certificate type is by default +X.509, unless an alternative certificate type is enabled by +<a class="link" href="gnutls-gnutls.html#gnutls-init" title="gnutls_init ()"><code class="function">gnutls_init()</code></a> and negotiated during the session.</p> +<p>Resumed sessions will return the certificate type that was negotiated +and used in the original session.</p> +<p>As of version 3.6.4 it is recommended to use +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get2" title="gnutls_certificate_type_get2 ()"><code class="function">gnutls_certificate_type_get2()</code></a> which is more fine-grained.</p> +<div class="refsect3"> +<a name="gnutls-certificate-type-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-type-get.returns"></a><h4>Returns</h4> +<p> the currently used <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> certificate +type as negotiated for 'our' side of the connection.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-type-get2"></a><h3>gnutls_certificate_type_get2 ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a> +gnutls_certificate_type_get2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ctype-target-t" title="enum gnutls_ctype_target_t"><span class="type">gnutls_ctype_target_t</span></a> target</code></em>);</pre> +<p>This function returns the type of the certificate that a side +is negotiated to use. The certificate type is by default X.509, +unless an alternative certificate type is enabled by <a class="link" href="gnutls-gnutls.html#gnutls-init" title="gnutls_init ()"><code class="function">gnutls_init()</code></a> and +negotiated during the session.</p> +<p>The <em class="parameter"><code>target</code></em> + parameter specifies whether to request the negotiated +certificate type for the client (<a class="link" href="gnutls-gnutls.html#GNUTLS-CTYPE-CLIENT:CAPS"><code class="literal">GNUTLS_CTYPE_CLIENT</code></a>), +or for the server (<a class="link" href="gnutls-gnutls.html#GNUTLS-CTYPE-SERVER:CAPS"><code class="literal">GNUTLS_CTYPE_SERVER</code></a>). Additionally, in P2P mode +connection set up where you don't know in advance who will be client +and who will be server you can use the flag (<a class="link" href="gnutls-gnutls.html#GNUTLS-CTYPE-OURS:CAPS"><code class="literal">GNUTLS_CTYPE_OURS</code></a>) and +(<a class="link" href="gnutls-gnutls.html#GNUTLS-CTYPE-PEERS:CAPS"><code class="literal">GNUTLS_CTYPE_PEERS</code></a>) to retrieve the corresponding certificate types.</p> +<p>Resumed sessions will return the certificate type that was negotiated +and used in the original session. That is, this function can be used +to reliably determine the type of the certificate returned by +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers" title="gnutls_certificate_get_peers ()"><code class="function">gnutls_certificate_get_peers()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-type-get2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>target</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-ctype-target-t" title="enum gnutls_ctype_target_t"><span class="type">gnutls_ctype_target_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-type-get2.returns"></a><h4>Returns</h4> +<p> the currently used <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> certificate +type for the client or the server.</p> +</div> +<p class="since">Since: 3.6.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sign-algorithm-get"></a><h3>gnutls_sign_algorithm_get ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_sign_algorithm_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Returns the signature algorithm that is (or will be) used in this +session by the server to sign data. This function should be +used only with TLS 1.2 or later.</p> +<div class="refsect3"> +<a name="gnutls-sign-algorithm-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-sign-algorithm-get.returns"></a><h4>Returns</h4> +<p> The sign algorithm or <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-UNKNOWN:CAPS"><code class="literal">GNUTLS_SIGN_UNKNOWN</code></a>.</p> +</div> +<p class="since">Since: 3.1.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sign-algorithm-get-client"></a><h3>gnutls_sign_algorithm_get_client ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_sign_algorithm_get_client (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Returns the signature algorithm that is (or will be) used in this +session by the client to sign data. This function should be +used only with TLS 1.2 or later.</p> +<div class="refsect3"> +<a name="gnutls-sign-algorithm-get-client.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-sign-algorithm-get-client.returns"></a><h4>Returns</h4> +<p> The sign algorithm or <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-UNKNOWN:CAPS"><code class="literal">GNUTLS_SIGN_UNKNOWN</code></a>.</p> +</div> +<p class="since">Since: 3.1.11</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sign-algorithm-get-requested"></a><h3>gnutls_sign_algorithm_get_requested ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_sign_algorithm_get_requested (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> indx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> *algo</code></em>);</pre> +<p>Returns the signature algorithm specified by index that was +requested by the peer. If the specified index has no data available +this function returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a>. If +the negotiated TLS version does not support signature algorithms +then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be returned even +for the first index. The first index is 0.</p> +<p>This function is useful in the certificate callback functions +to assist in selecting the correct certificate.</p> +<div class="refsect3"> +<a name="gnutls-sign-algorithm-get-requested.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>is an index of the signature algorithm to return</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>the returned certificate type will be stored there</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-sign-algorithm-get-requested.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-get-name"></a><h3>gnutls_cipher_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_cipher_get_name ();</pre> +<p>Convert a <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> type to a string.</p> +<div class="refsect3"> +<a name="gnutls-cipher-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>algorithm</p></td> +<td class="parameter_description"><p>is an encryption algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-get-name.returns"></a><h4>Returns</h4> +<p> a pointer to a string that contains the name of the +specified cipher, or <code class="literal">NULL</code>.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-oid-to-digest"></a><h3>gnutls_oid_to_digest ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="returnvalue">gnutls_digest_algorithm_t</span></a> +gnutls_oid_to_digest ();</pre> +<p>Converts a textual object identifier to a <a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> value.</p> +<div class="refsect3"> +<a name="gnutls-oid-to-digest.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>is an object identifier</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-oid-to-digest.returns"></a><h4>Returns</h4> +<p> a <a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> id of the specified digest +algorithm, or <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-UNKNOWN:CAPS"><code class="literal">GNUTLS_DIG_UNKNOWN</code></a> on failure.</p> +</div> +<p class="since">Since: 3.4.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ecc-curve-set-enabled"></a><h3>gnutls_ecc_curve_set_enabled ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_ecc_curve_set_enabled (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> curve</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> enabled</code></em>);</pre> +<p>Modify the previous system wide setting that marked <em class="parameter"><code>curve</code></em> + as +enabled or disabled. Calling this fuction is allowed +only if allowlisting mode is set in the configuration file, +and only if the system-wide TLS priority string +has not been initialized yet. +The intended usage is to provide applications with a way +to expressly deviate from the distribution or site defaults +inherited from the configuration file. +The modification is composable with further modifications +performed through the priority string mechanism.</p> +<p>This function is not thread-safe and is intended to be called +in the main thread at the beginning of the process execution.</p> +<div class="refsect3"> +<a name="gnutls-ecc-curve-set-enabled.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>is an ECC curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>enabled</p></td> +<td class="parameter_description"><p>whether to enable the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ecc-curve-set-enabled.returns"></a><h4>Returns</h4> +<p> 0 on success or negative error code otherwise.</p> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sign-set-secure"></a><h3>gnutls_sign_set_secure ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_sign_set_secure (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> sign</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> secure</code></em>);</pre> +<p>Modify the previous system wide setting that marked <em class="parameter"><code>sign</code></em> + as secure +or insecure. Calling this function is allowed +only if allowlisting mode is set in the configuration file, +and only if the system-wide TLS priority string +has not been initialized yet. +The intended usage is to provide applications with a way +to expressly deviate from the distribution or site defaults +inherited from the configuration file. +The modification is composable with further modifications +performed through the priority string mechanism.</p> +<p>This function is not thread-safe and is intended to be called +in the main thread at the beginning of the process execution.</p> +<p>Even when <em class="parameter"><code>secure</code></em> + is true, <em class="parameter"><code>sign</code></em> + is not marked as secure for the +use in certificates. Use <a class="link" href="gnutls-gnutls.html#gnutls-sign-set-secure-for-certs" title="gnutls_sign_set_secure_for_certs ()"><code class="function">gnutls_sign_set_secure_for_certs()</code></a> to +mark it secure as well for certificates.</p> +<div class="refsect3"> +<a name="gnutls-sign-set-secure.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sign</p></td> +<td class="parameter_description"><p>the sign algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>secure</p></td> +<td class="parameter_description"><p>whether to mark the sign algorithm secure</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-sign-set-secure.returns"></a><h4>Returns</h4> +<p> 0 on success or negative error code otherwise.</p> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sign-set-secure-for-certs"></a><h3>gnutls_sign_set_secure_for_certs ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_sign_set_secure_for_certs (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> sign</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> secure</code></em>);</pre> +<p>Modify the previous system wide setting that marked <em class="parameter"><code>sign</code></em> + as secure +or insecure for the use in certificates. Calling this fuction is allowed +only if allowlisting mode is set in the configuration file, +and only if the system-wide TLS priority string +has not been initialized yet. +The intended usage is to provide applications with a way +to expressly deviate from the distribution or site defaults +inherited from the configuration file. +The modification is composable with further modifications +performed through the priority string mechanism.</p> +<p>This function is not thread-safe and is intended to be called +in the main thread at the beginning of the process execution.</p> +<p>When <em class="parameter"><code>secure</code></em> + is true, <em class="parameter"><code>sign</code></em> + is marked as secure for any use unlike +<a class="link" href="gnutls-gnutls.html#gnutls-sign-set-secure" title="gnutls_sign_set_secure ()"><code class="function">gnutls_sign_set_secure()</code></a>. Otherwise, it is marked as insecure only +for the use in certificates. Use <a class="link" href="gnutls-gnutls.html#gnutls-sign-set-secure" title="gnutls_sign_set_secure ()"><code class="function">gnutls_sign_set_secure()</code></a> to mark +it insecure for any uses.</p> +<div class="refsect3"> +<a name="gnutls-sign-set-secure-for-certs.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sign</p></td> +<td class="parameter_description"><p>the sign algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>secure</p></td> +<td class="parameter_description"><p>whether to mark the sign algorithm secure for certificates</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-sign-set-secure-for-certs.returns"></a><h4>Returns</h4> +<p> 0 on success or negative error code otherwise.</p> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-digest-set-secure"></a><h3>gnutls_digest_set_secure ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_digest_set_secure (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> dig</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> secure</code></em>);</pre> +<p>Modify the previous system wide setting that marked <em class="parameter"><code>dig</code></em> + as secure +or insecure. This only has effect when the algorithm is enabled +through the allowlisting mode in the configuration file, or when +the setting is modified with a prior call to this function.</p> +<div class="refsect3"> +<a name="gnutls-digest-set-secure.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>is a digest algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>secure</p></td> +<td class="parameter_description"><p>whether to mark the digest algorithm secure</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-protocol-set-enabled"></a><h3>gnutls_protocol_set_enabled ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_protocol_set_enabled (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> version</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> enabled</code></em>);</pre> +<p>Control the previous system-wide setting that marked <em class="parameter"><code>version</code></em> + as +enabled or disabled. Calling this fuction is allowed +only if allowlisting mode is set in the configuration file, +and only if the system-wide TLS priority string +has not been initialized yet. +The intended usage is to provide applications with a way +to expressly deviate from the distribution or site defaults +inherited from the configuration file. +The modification is composable with further modifications +performed through the priority string mechanism.</p> +<p>This function is not thread-safe and is intended to be called +in the main thread at the beginning of the process execution.</p> +<div class="refsect3"> +<a name="gnutls-protocol-set-enabled.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>is a (gnutls) version number</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>enabled</p></td> +<td class="parameter_description"><p>whether to enable the protocol</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-protocol-set-enabled.returns"></a><h4>Returns</h4> +<p> 0 on success or negative error code otherwise.</p> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-error-is-fatal"></a><h3>gnutls_error_is_fatal ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_error_is_fatal ();</pre> +<p>If a GnuTLS function returns a negative error code you may feed that +value to this function to see if the error condition is fatal to +a TLS session (i.e., must be terminated).</p> +<p>Note that you may also want to check the error code manually, since some +non-fatal errors to the protocol (such as a warning alert or +a rehandshake request) may be fatal for your program.</p> +<p>This function is only useful if you are dealing with errors from +functions that relate to a TLS session (e.g., record layer or handshake +layer handling functions).</p> +<div class="refsect3"> +<a name="gnutls-error-is-fatal.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>error</p></td> +<td class="parameter_description"><p>is a GnuTLS error code, a negative error code</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-error-is-fatal.returns"></a><h4>Returns</h4> +<p> Non-zero value on fatal errors or zero on non-fatal.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-perror"></a><h3>gnutls_perror ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_perror (<em class="parameter"><code><span class="type">int</span> error</code></em>);</pre> +<p>This function is like <code class="function">perror()</code>. The only difference is that it +accepts an error number returned by a gnutls function.</p> +<div class="refsect3"> +<a name="gnutls-perror.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>error</p></td> +<td class="parameter_description"><p>is a GnuTLS error code, a negative error code</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-strerror"></a><h3>gnutls_strerror ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_strerror ();</pre> +<p>This function is similar to strerror. The difference is that it +accepts an error number returned by a gnutls function; In case of +an unknown error a descriptive string is sent instead of <code class="literal">NULL</code>.</p> +<p>Error codes are always a negative error code.</p> +<div class="refsect3"> +<a name="gnutls-strerror.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>error</p></td> +<td class="parameter_description"><p>is a GnuTLS error code, a negative error code</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-strerror.returns"></a><h4>Returns</h4> +<p> A string explaining the GnuTLS error message.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-set-random"></a><h3>gnutls_handshake_set_random ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_handshake_set_random (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *random</code></em>);</pre> +<p>This function will explicitly set the server or client hello +random value in the subsequent TLS handshake. The random value +should be a 32-byte value.</p> +<p>Note that this function should not normally be used as gnutls +will select automatically a random value for the handshake.</p> +<p>This function should not be used when resuming a session.</p> +<div class="refsect3"> +<a name="gnutls-handshake-set-random.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>random</p></td> +<td class="parameter_description"><p>a random value of 32-bytes</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-handshake-set-random.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +<p>Since 3.1.9</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-get-last-out"></a><h3>gnutls_handshake_get_last_out ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="returnvalue">gnutls_handshake_description_t</span></a> +gnutls_handshake_get_last_out (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function is only useful to check where the last performed +handshake failed. If the previous handshake succeed or was not +performed at all then no meaningful value will be returned.</p> +<p>Check <a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a> in gnutls.h for the +available handshake descriptions.</p> +<div class="refsect3"> +<a name="gnutls-handshake-get-last-out.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-handshake-get-last-out.returns"></a><h4>Returns</h4> +<p> the last handshake message type sent, a +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a>.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-get-last-in"></a><h3>gnutls_handshake_get_last_in ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="returnvalue">gnutls_handshake_description_t</span></a> +gnutls_handshake_get_last_in (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function is only useful to check where the last performed +handshake failed. If the previous handshake succeed or was not +performed at all then no meaningful value will be returned.</p> +<p>Check <a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a> in gnutls.h for the +available handshake descriptions.</p> +<div class="refsect3"> +<a name="gnutls-handshake-get-last-in.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-handshake-get-last-in.returns"></a><h4>Returns</h4> +<p> the last handshake message type received, a +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a>.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-heartbeat-ping"></a><h3>gnutls_heartbeat_ping ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_heartbeat_ping (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> max_tries</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function sends a ping to the peer. If the <em class="parameter"><code>flags</code></em> + is set +to <a class="link" href="gnutls-gnutls.html#GNUTLS-HEARTBEAT-WAIT:CAPS" title="GNUTLS_HEARTBEAT_WAIT"><code class="literal">GNUTLS_HEARTBEAT_WAIT</code></a> then it waits for a reply from the peer.</p> +<p>Note that it is highly recommended to use this function with the +flag <a class="link" href="gnutls-gnutls.html#GNUTLS-HEARTBEAT-WAIT:CAPS" title="GNUTLS_HEARTBEAT_WAIT"><code class="literal">GNUTLS_HEARTBEAT_WAIT</code></a>, or you need to handle retransmissions +and timeouts manually.</p> +<p>The total TLS data transmitted as part of the ping message are given by +the following formula: MAX(16, <em class="parameter"><code>data_size</code></em> +)+<a class="link" href="gnutls-gnutls.html#gnutls-record-overhead-size" title="gnutls_record_overhead_size ()"><code class="function">gnutls_record_overhead_size()</code></a>+3.</p> +<div class="refsect3"> +<a name="gnutls-heartbeat-ping.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>is the length of the ping payload.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>max_tries</p></td> +<td class="parameter_description"><p>if flags is <a class="link" href="gnutls-gnutls.html#GNUTLS-HEARTBEAT-WAIT:CAPS" title="GNUTLS_HEARTBEAT_WAIT"><code class="literal">GNUTLS_HEARTBEAT_WAIT</code></a> then this sets the number of retransmissions. Use zero for indefinite (until timeout).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>if <a class="link" href="gnutls-gnutls.html#GNUTLS-HEARTBEAT-WAIT:CAPS" title="GNUTLS_HEARTBEAT_WAIT"><code class="literal">GNUTLS_HEARTBEAT_WAIT</code></a> then wait for pong or timeout instead of returning immediately.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-heartbeat-ping.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-heartbeat-pong"></a><h3>gnutls_heartbeat_pong ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_heartbeat_pong (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function replies to a ping by sending a pong to the peer.</p> +<div class="refsect3"> +<a name="gnutls-heartbeat-pong.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-heartbeat-pong.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-set-timeout"></a><h3>gnutls_record_set_timeout ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_record_set_timeout (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> ms</code></em>);</pre> +<p>This function sets the receive timeout for the record layer +to the provided value. Use an <em class="parameter"><code>ms</code></em> + value of zero to disable +timeout (the default), or <a class="link" href="gnutls-gnutls.html#GNUTLS-INDEFINITE-TIMEOUT:CAPS" title="GNUTLS_INDEFINITE_TIMEOUT"><code class="literal">GNUTLS_INDEFINITE_TIMEOUT</code></a>, to +set an indefinite timeout.</p> +<p>This function requires to set a pull timeout callback. See +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-timeout-function" title="gnutls_transport_set_pull_timeout_function ()"><code class="function">gnutls_transport_set_pull_timeout_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-set-timeout.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ms</p></td> +<td class="parameter_description"><p>is a timeout value in milliseconds</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-disable-padding"></a><h3>gnutls_record_disable_padding ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_record_disable_padding (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Used to disabled padding in TLS 1.0 and above. Normally you do not +need to use this function, but there are buggy clients that +complain if a server pads the encrypted data. This of course will +disable protection against statistical attacks on the data.</p> +<p>This function is defunct since 3.1.7. Random padding is disabled +by default unless requested using <a class="link" href="gnutls-gnutls.html#gnutls-record-send-range" title="gnutls_record_send_range ()"><code class="function">gnutls_record_send_range()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-disable-padding.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-cork"></a><h3>gnutls_record_cork ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_record_cork (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>If called, <a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()"><code class="function">gnutls_record_send()</code></a> will no longer send any records. +Any sent records will be cached until <a class="link" href="gnutls-gnutls.html#gnutls-record-uncork" title="gnutls_record_uncork ()"><code class="function">gnutls_record_uncork()</code></a> is called.</p> +<p>This function is safe to use with DTLS after GnuTLS 3.3.0.</p> +<div class="refsect3"> +<a name="gnutls-record-cork.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.1.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-uncork"></a><h3>gnutls_record_uncork ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_record_uncork (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This resets the effect of <a class="link" href="gnutls-gnutls.html#gnutls-record-cork" title="gnutls_record_cork ()"><code class="function">gnutls_record_cork()</code></a>, and flushes any pending +data. If the <a class="link" href="gnutls-gnutls.html#GNUTLS-RECORD-WAIT:CAPS" title="GNUTLS_RECORD_WAIT"><code class="literal">GNUTLS_RECORD_WAIT</code></a> flag is specified then this +function will block until the data is sent or a fatal error +occurs (i.e., the function will retry on <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> and +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a>).</p> +<p>If the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-RECORD-WAIT:CAPS" title="GNUTLS_RECORD_WAIT"><code class="literal">GNUTLS_RECORD_WAIT</code></a> is not specified and the function +is interrupted then the <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> +errors will be returned. To obtain the data left in the corked +buffer use <a class="link" href="gnutls-gnutls.html#gnutls-record-check-corked" title="gnutls_record_check_corked ()"><code class="function">gnutls_record_check_corked()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-uncork.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Could be zero or <a class="link" href="gnutls-gnutls.html#GNUTLS-RECORD-WAIT:CAPS" title="GNUTLS_RECORD_WAIT"><code class="literal">GNUTLS_RECORD_WAIT</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-uncork.returns"></a><h4>Returns</h4> +<p> On success the number of transmitted data is returned, or +otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.1.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-discard-queued"></a><h3>gnutls_record_discard_queued ()</h3> +<pre class="programlisting"><span class="returnvalue">size_t</span> +gnutls_record_discard_queued (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function discards all queued to be sent packets in a DTLS session. +These are the packets queued after an interrupted <a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()"><code class="function">gnutls_record_send()</code></a>.</p> +<p>This function can only be used with transports where <code class="function">send()</code> is +an all-or-nothing operation (e.g., UDP). When partial writes are allowed +this function will cause session errors.</p> +<div class="refsect3"> +<a name="gnutls-record-discard-queued.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-discard-queued.returns"></a><h4>Returns</h4> +<p> The number of bytes discarded.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-get-state"></a><h3>gnutls_record_get_state ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_record_get_state (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> read</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *mac_key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *IV</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cipher_key</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> seq_number[8]</code></em>);</pre> +<p>This function will return the parameters of the current record state. +These are only useful to be provided to an external off-loading device +or subsystem. The returned values should be considered constant +and valid for the lifetime of the session.</p> +<p>In that case, to sync the state back you must call <a class="link" href="gnutls-gnutls.html#gnutls-record-set-state" title="gnutls_record_set_state ()"><code class="function">gnutls_record_set_state()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-get-state.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>read</p></td> +<td class="parameter_description"><p>if non-zero the read parameters are returned, otherwise the write</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mac_key</p></td> +<td class="parameter_description"><p>the key used for MAC (if a MAC is used)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>IV</p></td> +<td class="parameter_description"><p>the initialization vector or nonce used</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cipher_key</p></td> +<td class="parameter_description"><p>the cipher key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq_number</p></td> +<td class="parameter_description"><p>A 64-bit sequence number</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-get-state.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +<p>Since 3.4.0</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-set-state"></a><h3>gnutls_record_set_state ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_record_set_state (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> read</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> seq_number[8]</code></em>);</pre> +<p>This function will set the sequence number in the current record state. +This function is useful if sending and receiving are offloaded from +gnutls. That is, if <a class="link" href="gnutls-gnutls.html#gnutls-record-get-state" title="gnutls_record_get_state ()"><code class="function">gnutls_record_get_state()</code></a> was used.</p> +<div class="refsect3"> +<a name="gnutls-record-set-state.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>read</p></td> +<td class="parameter_description"><p>if non-zero the read parameters are returned, otherwise the write</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq_number</p></td> +<td class="parameter_description"><p>A 64-bit sequence number</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-set-state.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +<p>Since 3.4.0</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-range-split"></a><h3>gnutls_range_split ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_range_split (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-range-st" title="gnutls_range_st"><span class="type">gnutls_range_st</span></a> *orig</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-range-st" title="gnutls_range_st"><span class="type">gnutls_range_st</span></a> *small_range</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-range-st" title="gnutls_range_st"><span class="type">gnutls_range_st</span></a> *rem_range</code></em>);</pre> +<p>This function should be used when it is required to hide the length +of very long data that cannot be directly provided to <a class="link" href="gnutls-gnutls.html#gnutls-record-send-range" title="gnutls_record_send_range ()"><code class="function">gnutls_record_send_range()</code></a>. +In that case this function should be called with the desired length +hiding range in <em class="parameter"><code>orig</code></em> +. The returned <em class="parameter"><code>next</code></em> + value should then be used in +the next call to <a class="link" href="gnutls-gnutls.html#gnutls-record-send-range" title="gnutls_record_send_range ()"><code class="function">gnutls_record_send_range()</code></a> with the partial data. +That process should be repeated until <em class="parameter"><code>remainder</code></em> + is (0,0).</p> +<div class="refsect3"> +<a name="gnutls-range-split.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>orig</p></td> +<td class="parameter_description"><p>is the original range provided by the user</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>next</p></td> +<td class="parameter_description"><p>is the returned range that can be conveyed in a TLS record</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>remainder</p></td> +<td class="parameter_description"><p>is the returned remaining range</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-range-split.returns"></a><h4>Returns</h4> +<p> 0 in case splitting succeeds, non zero in case of error. +Note that <em class="parameter"><code>orig</code></em> +is not changed, while the values of <em class="parameter"><code>next</code></em> +and <em class="parameter"><code>remainder</code></em> +are modified to store the resulting values.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-send"></a><h3>gnutls_record_send ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_send (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>);</pre> +<p>This function has the similar semantics with <code class="function">send()</code>. The only +difference is that it accepts a GnuTLS session, and uses different +error codes. +Note that if the send buffer is full, <code class="function">send()</code> will block this +function. See the <code class="function">send()</code> documentation for more information.</p> +<p>You can replace the default push function which is <code class="function">send()</code>, by using +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-push-function" title="gnutls_transport_set_push_function ()"><code class="function">gnutls_transport_set_push_function()</code></a>.</p> +<p>If the EINTR is returned by the internal push function +then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> will be returned. If +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> is returned, you must +call this function again with the exact same parameters, or provide a +<code class="literal">NULL</code> pointer for <em class="parameter"><code>data</code></em> + and 0 for <em class="parameter"><code>data_size</code></em> +, in order to write the +same data as before. If you wish to discard the previous data instead +of retrying, you must call <a class="link" href="gnutls-gnutls.html#gnutls-record-discard-queued" title="gnutls_record_discard_queued ()"><code class="function">gnutls_record_discard_queued()</code></a> before +calling this function with different parameters. Note that the latter +works only on special transports (e.g., UDP). +cf. <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a>.</p> +<p>Note that in DTLS this function will return the <a class="link" href="gnutls-gnutls.html#GNUTLS-E-LARGE-PACKET:CAPS" title="GNUTLS_E_LARGE_PACKET"><code class="literal">GNUTLS_E_LARGE_PACKET</code></a> +error code if the send data exceed the data MTU value - as returned +by <a class="link" href="gnutls-dtls.html#gnutls-dtls-get-data-mtu" title="gnutls_dtls_get_data_mtu ()"><code class="function">gnutls_dtls_get_data_mtu()</code></a>. The errno value EMSGSIZE +also maps to <a class="link" href="gnutls-gnutls.html#GNUTLS-E-LARGE-PACKET:CAPS" title="GNUTLS_E_LARGE_PACKET"><code class="literal">GNUTLS_E_LARGE_PACKET</code></a>. +Note that since 3.2.13 this function can be called under cork in DTLS +mode, and will refuse to send data over the MTU size by returning +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-LARGE-PACKET:CAPS" title="GNUTLS_E_LARGE_PACKET"><code class="literal">GNUTLS_E_LARGE_PACKET</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-send.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contains the data to send</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>is the length of the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-send.returns"></a><h4>Returns</h4> +<p> The number of bytes sent, or a negative error code. The +number of bytes sent might be less than <em class="parameter"><code>data_size</code></em> +. The maximum +number of bytes this function can send in a single call depends +on the negotiated maximum record size.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-send2"></a><h3>gnutls_record_send2 ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_send2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>, + <em class="parameter"><code><span class="type">size_t</span> pad</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function is identical to <a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()"><code class="function">gnutls_record_send()</code></a> except that it +takes an extra argument to specify padding to be added the record. +To determine the maximum size of padding, use +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-max-size" title="gnutls_record_get_max_size ()"><code class="function">gnutls_record_get_max_size()</code></a> and <a class="link" href="gnutls-gnutls.html#gnutls-record-overhead-size" title="gnutls_record_overhead_size ()"><code class="function">gnutls_record_overhead_size()</code></a>.</p> +<p>Note that in order for GnuTLS to provide constant time processing +of padding and data in TLS1.3, the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-SAFE-PADDING-CHECK:CAPS"><code class="literal">GNUTLS_SAFE_PADDING_CHECK</code></a> +must be used in <a class="link" href="gnutls-gnutls.html#gnutls-init" title="gnutls_init ()"><code class="function">gnutls_init()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-send2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contains the data to send</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>is the length of the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pad</p></td> +<td class="parameter_description"><p>padding to be added to the record</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-send2.returns"></a><h4>Returns</h4> +<p> The number of bytes sent, or a negative error code. The +number of bytes sent might be less than <em class="parameter"><code>data_size</code></em> +. The maximum +number of bytes this function can send in a single call depends +on the negotiated maximum record size.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-send-range"></a><h3>gnutls_record_send_range ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_send_range (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-range-st" title="gnutls_range_st"><span class="type">gnutls_range_st</span></a> *range</code></em>);</pre> +<p>This function operates like <a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()"><code class="function">gnutls_record_send()</code></a> but, while +<a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()"><code class="function">gnutls_record_send()</code></a> adds minimal padding to each TLS record, +this function uses the TLS extra-padding feature to conceal the real +data size within the range of lengths provided. +Some TLS sessions do not support extra padding (e.g. stream ciphers in standard +TLS or SSL3 sessions). To know whether the current session supports extra +padding, and hence length hiding, use the <a class="link" href="gnutls-gnutls.html#gnutls-record-can-use-length-hiding" title="gnutls_record_can_use_length_hiding ()"><code class="function">gnutls_record_can_use_length_hiding()</code></a> +function.</p> +<p>Note: This function currently is limited to blocking sockets.</p> +<div class="refsect3"> +<a name="gnutls-record-send-range.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contains the data to send.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>is the length of the data.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>range</p></td> +<td class="parameter_description"><p>is the range of lengths in which the real data length must be hidden.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-send-range.returns"></a><h4>Returns</h4> +<p> The number of bytes sent (that is data_size in a successful invocation), +or a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-send-file"></a><h3>gnutls_record_send_file ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_send_file (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">int</span> fd</code></em>, + <em class="parameter"><code><span class="type">off_t</span> *offset</code></em>, + <em class="parameter"><code><span class="type">size_t</span> count</code></em>);</pre> +<p>This function sends data from <em class="parameter"><code>fd</code></em> +. If KTLS (kernel TLS) is enabled, it will +use the <code class="function">sendfile()</code> system call to avoid overhead of copying data between user +space and the kernel. Otherwise, this functionality is merely emulated by +calling <code class="function">read()</code> and <a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()"><code class="function">gnutls_record_send()</code></a>. If this implementation is +suboptimal, check whether KTLS is enabled using +<code class="function">gnutls_transport_is_ktls_enabled()</code>.</p> +<p>If <em class="parameter"><code>offset</code></em> + is NULL then file offset is incremented by number of bytes send, +otherwise file offset remains unchanged.</p> +<div class="refsect3"> +<a name="gnutls-record-send-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fd</p></td> +<td class="parameter_description"><p>file descriptor from which to read data.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>offset</p></td> +<td class="parameter_description"><p>Is relative to file offset, denotes the starting location for +reading. after function returns, it point to position following +last read byte.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>count</p></td> +<td class="parameter_description"><p>is the length of the data in bytes to be read from file and send.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-send-file.returns"></a><h4>Returns</h4> +<p> The number of bytes sent, or a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-recv"></a><h3>gnutls_record_recv ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_recv (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>);</pre> +<p>This function has the similar semantics with <code class="function">recv()</code>. The only +difference is that it accepts a GnuTLS session, and uses different +error codes. +In the special case that the peer requests a renegotiation, the +caller will receive an error code of <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS" title="GNUTLS_E_REHANDSHAKE"><code class="literal">GNUTLS_E_REHANDSHAKE</code></a>. In case +of a client, this message may be simply ignored, replied with an alert +<a class="link" href="gnutls-gnutls.html#GNUTLS-A-NO-RENEGOTIATION:CAPS"><code class="literal">GNUTLS_A_NO_RENEGOTIATION</code></a>, or replied with a new handshake, +depending on the client's will. A server receiving this error code +can only initiate a new handshake or terminate the session.</p> +<p>If <code class="literal">EINTR</code> is returned by the internal pull function (the default +is <code class="function">recv()</code>) then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> will be returned. If +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> is returned, you must +call this function again to get the data. See also +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-recv.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the buffer that the data will be read into</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>the number of requested bytes</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-recv.returns"></a><h4>Returns</h4> +<p> The number of bytes received and zero on EOF (for stream +connections). A negative error code is returned in case of an error. +The number of bytes received might be less than the requested <em class="parameter"><code>data_size</code></em> +.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-recv-packet"></a><h3>gnutls_record_recv_packet ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_recv_packet (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-packet-t" title="gnutls_packet_t"><span class="type">gnutls_packet_t</span></a> *packet</code></em>);</pre> +<p>This is a lower-level function than <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a> and allows +to directly receive the whole decrypted packet. That avoids a +memory copy, and is intended to be used by applications seeking high +performance.</p> +<p>The received packet is accessed using <a class="link" href="gnutls-gnutls.html#gnutls-packet-get" title="gnutls_packet_get ()"><code class="function">gnutls_packet_get()</code></a> and +must be deinitialized using <a class="link" href="gnutls-gnutls.html#gnutls-packet-deinit" title="gnutls_packet_deinit ()"><code class="function">gnutls_packet_deinit()</code></a>. The returned +packet will be <code class="literal">NULL</code> if the return value is zero (EOF).</p> +<div class="refsect3"> +<a name="gnutls-record-recv-packet.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>packet</p></td> +<td class="parameter_description"><p>the structure that will hold the packet data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-recv-packet.returns"></a><h4>Returns</h4> +<p> The number of bytes received and zero on EOF (for stream +connections). A negative error code is returned in case of an error.</p> +</div> +<p class="since">Since: 3.3.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-packet-get"></a><h3>gnutls_packet_get ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_packet_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-packet-t" title="gnutls_packet_t"><span class="type">gnutls_packet_t</span></a> packet</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *sequence</code></em>);</pre> +<p>This function returns the data and sequence number associated with +the received packet.</p> +<div class="refsect3"> +<a name="gnutls-packet-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>packet</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-packet-t" title="gnutls_packet_t"><span class="type">gnutls_packet_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>will contain the data present in the <em class="parameter"><code>packet</code></em> +structure (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sequence</p></td> +<td class="parameter_description"><p>the 8-bytes of the packet sequence number (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.3.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-packet-deinit"></a><h3>gnutls_packet_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_packet_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-packet-t" title="gnutls_packet_t"><span class="type">gnutls_packet_t</span></a> packet</code></em>);</pre> +<p>This function will deinitialize all data associated with +the received packet.</p> +<div class="refsect3"> +<a name="gnutls-packet-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>packet</p></td> +<td class="parameter_description"><p>is a pointer to a <span class="type">gnutls_packet_st</span> structure.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.3.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-recv-seq"></a><h3>gnutls_record_recv_seq ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_recv_seq (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *seq</code></em>);</pre> +<p>This function is the same as <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a>, except that +it returns in addition to data, the sequence number of the data. +This is useful in DTLS where record packets might be received +out-of-order. The returned 8-byte sequence number is an +integer in big-endian format and should be +treated as a unique message identification.</p> +<div class="refsect3"> +<a name="gnutls-record-recv-seq.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the buffer that the data will be read into</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>the number of requested bytes</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>is the packet's 64-bit sequence number. Should have space for 8 bytes.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-recv-seq.returns"></a><h4>Returns</h4> +<p> The number of bytes received and zero on EOF. A negative +error code is returned in case of an error. The number of bytes +received might be less than <em class="parameter"><code>data_size</code></em> +.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-overhead-size"></a><h3>gnutls_record_overhead_size ()</h3> +<pre class="programlisting"><span class="returnvalue">size_t</span> +gnutls_record_overhead_size (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the size in bytes of the overhead +due to TLS (or DTLS) per record. On certain occasions +(e.g., CBC ciphers) the returned value is the maximum +possible overhead.</p> +<div class="refsect3"> +<a name="gnutls-record-overhead-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.2.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-est-record-overhead-size"></a><h3>gnutls_est_record_overhead_size ()</h3> +<pre class="programlisting"><span class="returnvalue">size_t</span> +gnutls_est_record_overhead_size (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> version</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> cipher</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> mac</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a> comp</code></em>);</pre> +<p>This function will return the set size in bytes of the overhead +due to TLS (or DTLS) per record.</p> +<p>Note that this function may provide inaccurate values when TLS +extensions that modify the record format are negotiated. In these +cases a more accurate value can be obtained using <a class="link" href="gnutls-gnutls.html#gnutls-record-overhead-size" title="gnutls_record_overhead_size ()"><code class="function">gnutls_record_overhead_size()</code></a> +after a completed handshake.</p> +<div class="refsect3"> +<a name="gnutls-est-record-overhead-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cipher</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mac</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>comp</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a> value (ignored)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.2.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-set-max-empty-records"></a><h3>gnutls_record_set_max_empty_records()</h3> +<pre class="programlisting">#define gnutls_record_set_max_empty_records(session, x) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-can-use-length-hiding"></a><h3>gnutls_record_can_use_length_hiding ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_record_can_use_length_hiding (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>If the session supports length-hiding padding, you can +invoke <a class="link" href="gnutls-gnutls.html#gnutls-record-send-range" title="gnutls_record_send_range ()"><code class="function">gnutls_record_send_range()</code></a> to send a message whose +length is hidden in the given range. If the session does not +support length hiding padding, you can use the standard +<a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()"><code class="function">gnutls_record_send()</code></a> function, or <a class="link" href="gnutls-gnutls.html#gnutls-record-send-range" title="gnutls_record_send_range ()"><code class="function">gnutls_record_send_range()</code></a> +making sure that the range is the same as the length of the +message you are trying to send.</p> +<div class="refsect3"> +<a name="gnutls-record-can-use-length-hiding.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-can-use-length-hiding.returns"></a><h4>Returns</h4> +<p> true (1) if the current session supports length-hiding +padding, false (0) if the current session does not.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-get-direction"></a><h3>gnutls_record_get_direction ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_record_get_direction (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function is useful to determine whether a GnuTLS function was interrupted +while sending or receiving, so that <code class="function">select()</code> or <code class="function">poll()</code> may be called appropriately.</p> +<p>It provides information about the internals of the record +protocol and is only useful if a prior gnutls function call, +e.g. <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a>, was interrupted and returned +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a>. After such an interrupt +applications may call <code class="function">select()</code> or <code class="function">poll()</code> before restoring the +interrupted GnuTLS function.</p> +<p>This function's output is unreliable if you are using the same +<em class="parameter"><code>session</code></em> + in different threads for sending and receiving.</p> +<div class="refsect3"> +<a name="gnutls-record-get-direction.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-get-direction.returns"></a><h4>Returns</h4> +<p> 0 if interrupted while trying to read data, or 1 while trying to write data.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-get-max-size"></a><h3>gnutls_record_get_max_size ()</h3> +<pre class="programlisting"><span class="returnvalue">size_t</span> +gnutls_record_get_max_size (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the record size. The maximum record size is negotiated by the +client after the first handshake message.</p> +<div class="refsect3"> +<a name="gnutls-record-get-max-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-get-max-size.returns"></a><h4>Returns</h4> +<p> The maximum record packet size in this connection.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-set-max-size"></a><h3>gnutls_record_set_max_size ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_set_max_size (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> size</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_record_set_max_size</code> is deprecated and should not be used in newly-written code.</p> +<p>if the client can assume that the 'record size limit' +extension is supported by the server, we recommend using +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-recv-size" title="gnutls_record_set_max_recv_size ()"><code class="function">gnutls_record_set_max_recv_size()</code></a> instead.</p> +</div> +<p>This function sets the maximum amount of plaintext sent and +received in a record in this connection.</p> +<p>Prior to 3.6.4, this function was implemented using a TLS extension +called 'max fragment length', which limits the acceptable values to +512(=2^9), 1024(=2^10), 2048(=2^11) and 4096(=2^12).</p> +<p>Since 3.6.4, the limit is also negotiated through a new TLS +extension called 'record size limit', which doesn't have the +limitation, as long as the value ranges between 512 and 16384. +Note that while the 'record size limit' extension is preferred, not +all TLS implementations use or even understand the extension.</p> +<div class="refsect3"> +<a name="gnutls-record-set-max-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>size</p></td> +<td class="parameter_description"><p>is the new size</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-set-max-size.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-set-max-recv-size"></a><h3>gnutls_record_set_max_recv_size ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_set_max_recv_size (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> size</code></em>);</pre> +<p>This function sets the maximum amount of plaintext received in a +record in this connection.</p> +<p>The limit is also negotiated through a TLS extension called 'record +size limit'. Note that while the 'record size limit' extension is +preferred, not all TLS implementations use or even understand the +extension.</p> +<div class="refsect3"> +<a name="gnutls-record-set-max-recv-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>size</p></td> +<td class="parameter_description"><p>is the new size</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-set-max-recv-size.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +<p class="since">Since: 3.6.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-check-pending"></a><h3>gnutls_record_check_pending ()</h3> +<pre class="programlisting"><span class="returnvalue">size_t</span> +gnutls_record_check_pending (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function checks if there are unread data +in the gnutls buffers. If the return value is +non-zero the next call to <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a> +is guaranteed not to block.</p> +<div class="refsect3"> +<a name="gnutls-record-check-pending.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-check-pending.returns"></a><h4>Returns</h4> +<p> Returns the size of the data or zero.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-check-corked"></a><h3>gnutls_record_check_corked ()</h3> +<pre class="programlisting"><span class="returnvalue">size_t</span> +gnutls_record_check_corked (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function checks if there pending corked +data in the gnutls buffers --see <a class="link" href="gnutls-gnutls.html#gnutls-record-cork" title="gnutls_record_cork ()"><code class="function">gnutls_record_cork()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-check-corked.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-check-corked.returns"></a><h4>Returns</h4> +<p> Returns the size of the corked data or zero.</p> +</div> +<p class="since">Since: 3.2.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-get-max-early-data-size"></a><h3>gnutls_record_get_max_early_data_size ()</h3> +<pre class="programlisting"><span class="returnvalue">size_t</span> +gnutls_record_get_max_early_data_size (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function returns the maximum early data size in this connection. +This property can only be set to servers. The client may be +provided with the maximum allowed size through the "early_data" +extension of the NewSessionTicket handshake message.</p> +<div class="refsect3"> +<a name="gnutls-record-get-max-early-data-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-get-max-early-data-size.returns"></a><h4>Returns</h4> +<p> The maximum early data size in this connection.</p> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-set-max-early-data-size"></a><h3>gnutls_record_set_max_early_data_size ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_record_set_max_early_data_size (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> size</code></em>);</pre> +<p>This function sets the maximum early data size in this connection. +This property can only be set to servers. The client may be +provided with the maximum allowed size through the "early_data" +extension of the NewSessionTicket handshake message.</p> +<div class="refsect3"> +<a name="gnutls-record-set-max-early-data-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>size</p></td> +<td class="parameter_description"><p>is the new size</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-set-max-early-data-size.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +<p class="since">Since: 3.6.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-send-early-data"></a><h3>gnutls_record_send_early_data ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_send_early_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> length</code></em>);</pre> +<p>This function can be used by a client to send data early in the +handshake processes when resuming a session. This is used to +implement a zero-roundtrip (0-RTT) mode. It has the same semantics +as <a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()"><code class="function">gnutls_record_send()</code></a>.</p> +<p>There may be a limit to the amount of data sent as early data. Use +<a class="link" href="gnutls-gnutls.html#gnutls-record-get-max-early-data-size" title="gnutls_record_get_max_early_data_size ()"><code class="function">gnutls_record_get_max_early_data_size()</code></a> to check the limit. If the +limit exceeds, this function returns +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECORD-LIMIT-REACHED:CAPS" title="GNUTLS_E_RECORD_LIMIT_REACHED"><code class="literal">GNUTLS_E_RECORD_LIMIT_REACHED</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-send-early-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contains the data to send</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>is the length of the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-send-early-data.returns"></a><h4>Returns</h4> +<p> The number of bytes sent, or a negative error code. The +number of bytes sent might be less than <em class="parameter"><code>data_size</code></em> +. The maximum +number of bytes this function can send in a single call depends +on the negotiated maximum record size.</p> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-recv-early-data"></a><h3>gnutls_record_recv_early_data ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +gnutls_record_recv_early_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>);</pre> +<p>This function can be used by a server to retrieve data sent early +in the handshake processes when resuming a session. This is used +to implement a zero-roundtrip (0-RTT) mode. It has the same +semantics as <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a>.</p> +<p>This function can be called either in a handshake hook, or after +the handshake is complete.</p> +<div class="refsect3"> +<a name="gnutls-record-recv-early-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the buffer that the data will be read into</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>the number of requested bytes</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-record-recv-early-data.returns"></a><h4>Returns</h4> +<p> The number of bytes received and zero when early data +reading is complete. A negative error code is returned in case of +an error. If no early data is received during the handshake, this +function returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a>. The +number of bytes received might be less than the requested +<em class="parameter"><code>data_size</code></em> +.</p> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-force-valid"></a><h3>gnutls_session_force_valid ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_session_force_valid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Clears the invalid flag in a session. That means +that sessions were corrupt or invalid data were received +can be re-used. Use only when debugging or experimenting +with the TLS protocol. Should not be used in typical +applications.</p> +<div class="refsect3"> +<a name="gnutls-session-force-valid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-prf"></a><h3>gnutls_prf ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_prf (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> label_size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code><span class="type">int</span> server_random_first</code></em>, + <em class="parameter"><code><span class="type">size_t</span> extra_size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *extra</code></em>, + <em class="parameter"><code><span class="type">size_t</span> outsize</code></em>, + <em class="parameter"><code><span class="type">char</span> *out</code></em>);</pre> +<p>Applies the TLS Pseudo-Random-Function (PRF) on the master secret +and the provided data, seeded with the client and server random fields. +For the key expansion specified in RFC5705 see <a class="link" href="gnutls-gnutls.html#gnutls-prf-rfc5705" title="gnutls_prf_rfc5705 ()"><code class="function">gnutls_prf_rfc5705()</code></a>.</p> +<p>The <em class="parameter"><code>label</code></em> + variable usually contains a string denoting the purpose +for the generated data. The <em class="parameter"><code>server_random_first</code></em> + indicates whether +the client random field or the server random field should be first +in the seed. Non-zero indicates that the server random field is first, +0 that the client random field is first.</p> +<p>The <em class="parameter"><code>extra</code></em> + variable can be used to add more data to the seed, after +the random variables. It can be used to make sure the +generated output is strongly connected to some additional data +(e.g., a string used in user authentication).</p> +<p>The output is placed in <em class="parameter"><code>out</code></em> +, which must be pre-allocated.</p> +<p>Note: This function produces identical output with <a class="link" href="gnutls-gnutls.html#gnutls-prf-rfc5705" title="gnutls_prf_rfc5705 ()"><code class="function">gnutls_prf_rfc5705()</code></a> +when <em class="parameter"><code>server_random_first</code></em> + is set to 0 and <em class="parameter"><code>extra</code></em> + is <code class="literal">NULL</code>. Under TLS1.3 +this function will only operate when these conditions are true, or otherwise +return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-prf.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label_size</p></td> +<td class="parameter_description"><p>length of the <em class="parameter"><code>label</code></em> +variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>label used in PRF computation, typically a short string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>server_random_first</p></td> +<td class="parameter_description"><p>non-zero if server random field should be first in seed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extra_size</p></td> +<td class="parameter_description"><p>length of the <em class="parameter"><code>extra</code></em> +variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extra</p></td> +<td class="parameter_description"><p>optional extra data to seed the PRF with.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>outsize</p></td> +<td class="parameter_description"><p>size of pre-allocated output buffer to hold the output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>pre-allocated buffer to hold the generated data.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-prf.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-prf-rfc5705"></a><h3>gnutls_prf_rfc5705 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_prf_rfc5705 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> label_size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code><span class="type">size_t</span> context_size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *context</code></em>, + <em class="parameter"><code><span class="type">size_t</span> outsize</code></em>, + <em class="parameter"><code><span class="type">char</span> *out</code></em>);</pre> +<p>Exports keying material from TLS/DTLS session to an application, as +specified in RFC5705.</p> +<p>In the TLS versions prior to 1.3, it applies the TLS +Pseudo-Random-Function (PRF) on the master secret and the provided +data, seeded with the client and server random fields.</p> +<p>In TLS 1.3, it applies HKDF on the exporter master secret derived +from the master secret.</p> +<p>The <em class="parameter"><code>label</code></em> + variable usually contains a string denoting the purpose +for the generated data.</p> +<p>The <em class="parameter"><code>context</code></em> + variable can be used to add more data to the seed, after +the random variables. It can be used to make sure the +generated output is strongly connected to some additional data +(e.g., a string used in user authentication). </p> +<p>The output is placed in <em class="parameter"><code>out</code></em> +, which must be pre-allocated.</p> +<p>Note that, to provide the RFC5705 context, the <em class="parameter"><code>context</code></em> + variable +must be non-null.</p> +<div class="refsect3"> +<a name="gnutls-prf-rfc5705.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label_size</p></td> +<td class="parameter_description"><p>length of the <em class="parameter"><code>label</code></em> +variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>label used in PRF computation, typically a short string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>context_size</p></td> +<td class="parameter_description"><p>length of the <em class="parameter"><code>extra</code></em> +variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>context</p></td> +<td class="parameter_description"><p>optional extra data to seed the PRF with.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>outsize</p></td> +<td class="parameter_description"><p>size of pre-allocated output buffer to hold the output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>pre-allocated buffer to hold the generated data.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-prf-rfc5705.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +<p class="since">Since: 3.4.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-prf-early"></a><h3>gnutls_prf_early ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_prf_early (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> label_size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code><span class="type">size_t</span> context_size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *context</code></em>, + <em class="parameter"><code><span class="type">size_t</span> outsize</code></em>, + <em class="parameter"><code><span class="type">char</span> *out</code></em>);</pre> +<p>This function is similar to <a class="link" href="gnutls-gnutls.html#gnutls-prf-rfc5705" title="gnutls_prf_rfc5705 ()"><code class="function">gnutls_prf_rfc5705()</code></a>, but only works in +TLS 1.3 or later to export early keying material.</p> +<p>Note that the keying material is only available after the +ClientHello message is processed and before the application traffic +keys are established. Therefore this function shall be called in a +handshake hook function for <a class="link" href="gnutls-gnutls.html#GNUTLS-HANDSHAKE-CLIENT-HELLO:CAPS"><code class="literal">GNUTLS_HANDSHAKE_CLIENT_HELLO</code></a>.</p> +<p>The <em class="parameter"><code>label</code></em> + variable usually contains a string denoting the purpose +for the generated data.</p> +<p>The <em class="parameter"><code>context</code></em> + variable can be used to add more data to the seed, after +the random variables. It can be used to make sure the +generated output is strongly connected to some additional data +(e.g., a string used in user authentication).</p> +<p>The output is placed in <em class="parameter"><code>out</code></em> +, which must be pre-allocated.</p> +<p>Note that, to provide the RFC5705 context, the <em class="parameter"><code>context</code></em> + variable +must be non-null.</p> +<div class="refsect3"> +<a name="gnutls-prf-early.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label_size</p></td> +<td class="parameter_description"><p>length of the <em class="parameter"><code>label</code></em> +variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>label used in PRF computation, typically a short string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>context_size</p></td> +<td class="parameter_description"><p>length of the <em class="parameter"><code>extra</code></em> +variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>context</p></td> +<td class="parameter_description"><p>optional extra data to seed the PRF with.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>outsize</p></td> +<td class="parameter_description"><p>size of pre-allocated output buffer to hold the output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>pre-allocated buffer to hold the generated data.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-prf-early.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +<p class="since">Since: 3.6.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-prf-raw"></a><h3>gnutls_prf_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_prf_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> label_size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code><span class="type">size_t</span> seed_size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *seed</code></em>, + <em class="parameter"><code><span class="type">size_t</span> outsize</code></em>, + <em class="parameter"><code><span class="type">char</span> *out</code></em>);</pre> +<p>Apply the TLS Pseudo-Random-Function (PRF) on the master secret +and the provided data.</p> +<p>The <em class="parameter"><code>label</code></em> + variable usually contains a string denoting the purpose +for the generated data. The <em class="parameter"><code>seed</code></em> + usually contains data such as the +client and server random, perhaps together with some additional +data that is added to guarantee uniqueness of the output for a +particular purpose.</p> +<p>Because the output is not guaranteed to be unique for a particular +session unless <em class="parameter"><code>seed</code></em> + includes the client random and server random +fields (the PRF would output the same data on another connection +resumed from the first one), it is not recommended to use this +function directly. The <a class="link" href="gnutls-gnutls.html#gnutls-prf" title="gnutls_prf ()"><code class="function">gnutls_prf()</code></a> function seeds the PRF with the +client and server random fields directly, and is recommended if you +want to generate pseudo random data unique for each session.</p> +<p>Note: This function will only operate under TLS versions prior to 1.3. +In TLS1.3 the use of PRF is replaced with HKDF and the generic +exporters like <a class="link" href="gnutls-gnutls.html#gnutls-prf-rfc5705" title="gnutls_prf_rfc5705 ()"><code class="function">gnutls_prf_rfc5705()</code></a> should be used instead. Under +TLS1.3 this function returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-prf-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label_size</p></td> +<td class="parameter_description"><p>length of the <em class="parameter"><code>label</code></em> +variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>label used in PRF computation, typically a short string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed_size</p></td> +<td class="parameter_description"><p>length of the <em class="parameter"><code>seed</code></em> +variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed</p></td> +<td class="parameter_description"><p>optional extra data to seed the PRF with.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>outsize</p></td> +<td class="parameter_description"><p>size of pre-allocated output buffer to hold the output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>pre-allocated buffer to hold the generated data.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-prf-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-server-name-set"></a><h3>gnutls_server_name_set ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_server_name_set (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-server-name-type-t" title="enum gnutls_server_name_type_t"><span class="type">gnutls_server_name_type_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *name</code></em>, + <em class="parameter"><code><span class="type">size_t</span> name_length</code></em>);</pre> +<p>This function is to be used by clients that want to inform (via a +TLS extension mechanism) the server of the name they connected to. +This should be used by clients that connect to servers that do +virtual hosting.</p> +<p>The value of <em class="parameter"><code>name</code></em> + depends on the <em class="parameter"><code>type</code></em> + type. In case of +<a class="link" href="gnutls-gnutls.html#GNUTLS-NAME-DNS:CAPS"><code class="literal">GNUTLS_NAME_DNS</code></a>, a UTF-8 null-terminated domain name string, +without the trailing dot, is expected.</p> +<p>IPv4 or IPv6 addresses are not permitted to be set by this function. +If the function is called with a name of <em class="parameter"><code>name_length</code></em> + zero it will clear +all server names set.</p> +<div class="refsect3"> +<a name="gnutls-server-name-set.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>specifies the indicator type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>is a string that contains the server name.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name_length</p></td> +<td class="parameter_description"><p>holds the length of name excluding the terminating null byte</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-server-name-set.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-server-name-get"></a><h3>gnutls_server_name_get ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_server_name_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *data_length</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *type</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> indx</code></em>);</pre> +<p>This function will allow you to get the name indication (if any), a +client has sent. The name indication may be any of the enumeration +gnutls_server_name_type_t.</p> +<p>If <em class="parameter"><code>type</code></em> + is GNUTLS_NAME_DNS, then this function is to be used by +servers that support virtual hosting, and the data will be a null +terminated IDNA ACE string (prior to GnuTLS 3.4.0 it was a UTF-8 string).</p> +<p>If <em class="parameter"><code>data</code></em> + has not enough size to hold the server name +GNUTLS_E_SHORT_MEMORY_BUFFER is returned, and <em class="parameter"><code>data_length</code></em> + will +hold the required size.</p> +<p><em class="parameter"><code>indx</code></em> + is used to retrieve more than one server names (if sent by +the client). The first server name has an index of 0, the second 1 +and so on. If no name with the given index exists +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.</p> +<div class="refsect3"> +<a name="gnutls-server-name-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>will hold the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_length</p></td> +<td class="parameter_description"><p>will hold the data length. Must hold the maximum size of data.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>will hold the server name indicator type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>is the index of the server_name</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-server-name-get.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, on UTF-8 +decoding error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-IDNA-ERROR:CAPS" title="GNUTLS_E_IDNA_ERROR"><code class="literal">GNUTLS_E_IDNA_ERROR</code></a> is returned, otherwise a negative +error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-heartbeat-get-timeout"></a><h3>gnutls_heartbeat_get_timeout ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +gnutls_heartbeat_get_timeout (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the milliseconds remaining +for a retransmission of the previously sent ping +message. This function is useful when ping is used in +non-blocking mode, to estimate when to call <a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-ping" title="gnutls_heartbeat_ping ()"><code class="function">gnutls_heartbeat_ping()</code></a> +if no packets have been received.</p> +<div class="refsect3"> +<a name="gnutls-heartbeat-get-timeout.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-heartbeat-get-timeout.returns"></a><h4>Returns</h4> +<p> the remaining time in milliseconds.</p> +</div> +<p class="since">Since: 3.1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-heartbeat-set-timeouts"></a><h3>gnutls_heartbeat_set_timeouts ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_heartbeat_set_timeouts (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> retrans_timeout</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> total_timeout</code></em>);</pre> +<p>This function will override the timeouts for the DTLS heartbeat +protocol. The retransmission timeout is the time after which a +message from the peer is not received, the previous request will +be retransmitted. The total timeout is the time after which the +handshake will be aborted with <a class="link" href="gnutls-gnutls.html#GNUTLS-E-TIMEDOUT:CAPS" title="GNUTLS_E_TIMEDOUT"><code class="literal">GNUTLS_E_TIMEDOUT</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-heartbeat-set-timeouts.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>retrans_timeout</p></td> +<td class="parameter_description"><p>The time at which a retransmission will occur in milliseconds</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>total_timeout</p></td> +<td class="parameter_description"><p>The time at which the connection will be aborted, in milliseconds.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-heartbeat-enable"></a><h3>gnutls_heartbeat_enable ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_heartbeat_enable (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> type</code></em>);</pre> +<p>If this function is called with the <a class="link" href="gnutls-gnutls.html#GNUTLS-HB-PEER-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_PEER_ALLOWED_TO_SEND"><code class="literal">GNUTLS_HB_PEER_ALLOWED_TO_SEND</code></a> +<em class="parameter"><code>type</code></em> +, GnuTLS will allow heartbeat messages to be received. Moreover it also +request the peer to accept heartbeat messages. This function +must be called prior to TLS handshake.</p> +<p>If the <em class="parameter"><code>type</code></em> + used is <a class="link" href="gnutls-gnutls.html#GNUTLS-HB-LOCAL-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_LOCAL_ALLOWED_TO_SEND"><code class="literal">GNUTLS_HB_LOCAL_ALLOWED_TO_SEND</code></a>, then the peer +will be asked to accept heartbeat messages but not send ones.</p> +<p>The function <a class="link" href="gnutls-gnutls.html#gnutls-heartbeat-allowed" title="gnutls_heartbeat_allowed ()"><code class="function">gnutls_heartbeat_allowed()</code></a> can be used to test Whether +locally generated heartbeat messages can be accepted by the peer.</p> +<div class="refsect3"> +<a name="gnutls-heartbeat-enable.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>one of the GNUTLS_HB_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-heartbeat-allowed"></a><h3>gnutls_heartbeat_allowed ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_heartbeat_allowed (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> type</code></em>);</pre> +<p>This function will check whether heartbeats are allowed +to be sent or received in this session.</p> +<div class="refsect3"> +<a name="gnutls-heartbeat-allowed.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>one of <a class="link" href="gnutls-gnutls.html#GNUTLS-HB-LOCAL-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_LOCAL_ALLOWED_TO_SEND"><code class="literal">GNUTLS_HB_LOCAL_ALLOWED_TO_SEND</code></a> and <a class="link" href="gnutls-gnutls.html#GNUTLS-HB-PEER-ALLOWED-TO-SEND:CAPS" title="GNUTLS_HB_PEER_ALLOWED_TO_SEND"><code class="literal">GNUTLS_HB_PEER_ALLOWED_TO_SEND</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-heartbeat-allowed.returns"></a><h4>Returns</h4> +<p> Non zero if heartbeats are allowed.</p> +</div> +<p class="since">Since: 3.1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-safe-renegotiation-status"></a><h3>gnutls_safe_renegotiation_status ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_safe_renegotiation_status (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Can be used to check whether safe renegotiation is being used +in the current session.</p> +<div class="refsect3"> +<a name="gnutls-safe-renegotiation-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-safe-renegotiation-status.returns"></a><h4>Returns</h4> +<p> 0 when safe renegotiation is not used and non (0) when +safe renegotiation is used.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-ext-master-secret-status"></a><h3>gnutls_session_ext_master_secret_status ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_session_ext_master_secret_status + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the status of the extended master secret extension negotiation. +This is in accordance to RFC7627. That information is also +available to the more generic <a class="link" href="gnutls-gnutls.html#gnutls-session-get-flags" title="gnutls_session_get_flags ()"><code class="function">gnutls_session_get_flags()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-session-ext-master-secret-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-ext-master-secret-status.returns"></a><h4>Returns</h4> +<p> Non-zero if the negotiation was successful or zero otherwise.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-etm-status"></a><h3>gnutls_session_etm_status ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_session_etm_status (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the status of the encrypt-then-mac extension negotiation. +This is in accordance to rfc7366</p> +<div class="refsect3"> +<a name="gnutls-session-etm-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-etm-status.returns"></a><h4>Returns</h4> +<p> Non-zero if the negotiation was successful or zero otherwise.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-flags"></a><h3>gnutls_session_get_flags ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_session_get_flags (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return a series (ORed) of flags, applicable +for the current session.</p> +<p>This replaces individual informational functions such as +<a class="link" href="gnutls-gnutls.html#gnutls-safe-renegotiation-status" title="gnutls_safe_renegotiation_status ()"><code class="function">gnutls_safe_renegotiation_status()</code></a>, <a class="link" href="gnutls-gnutls.html#gnutls-session-ext-master-secret-status" title="gnutls_session_ext_master_secret_status ()"><code class="function">gnutls_session_ext_master_secret_status()</code></a>, +etc.</p> +<div class="refsect3"> +<a name="gnutls-session-get-flags.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-get-flags.returns"></a><h4>Returns</h4> +<p> An ORed sequence of flags (see <a class="link" href="gnutls-gnutls.html#gnutls-session-flags-t" title="enum gnutls_session_flags_t"><code class="literal">gnutls_session_flags_t</code></a>)</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-ticket-key-generate"></a><h3>gnutls_session_ticket_key_generate ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_ticket_key_generate (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>);</pre> +<p>Generate a random key to encrypt security parameters within +SessionTicket.</p> +<div class="refsect3"> +<a name="gnutls-session-ticket-key-generate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> which will contain a newly +created key.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-ticket-key-generate.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or an +error code.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-ticket-enable-client"></a><h3>gnutls_session_ticket_enable_client ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_ticket_enable_client (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Request that the client should attempt session resumption using +SessionTicket. This call is typically unnecessary as session +tickets are enabled by default.</p> +<div class="refsect3"> +<a name="gnutls-session-ticket-enable-client.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-ticket-enable-client.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or an +error code.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-ticket-enable-server"></a><h3>gnutls_session_ticket_enable_server ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_ticket_enable_server (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>);</pre> +<p>Request that the server should attempt session resumption using +session tickets, i.e., by delegating storage to the client. +<em class="parameter"><code>key</code></em> + must be initialized using <a class="link" href="gnutls-gnutls.html#gnutls-session-ticket-key-generate" title="gnutls_session_ticket_key_generate ()"><code class="function">gnutls_session_ticket_key_generate()</code></a>. +To avoid leaking that key, use <a class="link" href="gnutls-gnutls.html#gnutls-memset" title="gnutls_memset ()"><code class="function">gnutls_memset()</code></a> prior to +releasing it.</p> +<p>The default ticket expiration time can be overridden using +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-cache-expiration" title="gnutls_db_set_cache_expiration ()"><code class="function">gnutls_db_set_cache_expiration()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-session-ticket-enable-server.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>key to encrypt session parameters.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-ticket-enable-server.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or an +error code.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-ticket-send"></a><h3>gnutls_session_ticket_send ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_ticket_send (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> nr</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>Sends a fresh session ticket to the peer. This is relevant only +in server side under TLS1.3. This function may also return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> +or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> and in that case it must be called again.</p> +<div class="refsect3"> +<a name="gnutls-session-ticket-send.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nr</p></td> +<td class="parameter_description"><p>the number of tickets to send</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-ticket-send.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srtp-set-profile"></a><h3>gnutls_srtp_set_profile ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srtp_set_profile (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-srtp-profile-t" title="enum gnutls_srtp_profile_t"><span class="type">gnutls_srtp_profile_t</span></a> profile</code></em>);</pre> +<p>This function is to be used by both clients and servers, to declare +what SRTP profiles they support, to negotiate with the peer.</p> +<div class="refsect3"> +<a name="gnutls-srtp-set-profile.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>profile</p></td> +<td class="parameter_description"><p>is the profile id to add.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srtp-set-profile.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +<p>Since 3.1.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srtp-set-profile-direct"></a><h3>gnutls_srtp_set_profile_direct ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srtp_set_profile_direct (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *profiles</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **err_pos</code></em>);</pre> +<p>This function is to be used by both clients and servers, to declare +what SRTP profiles they support, to negotiate with the peer.</p> +<div class="refsect3"> +<a name="gnutls-srtp-set-profile-direct.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>profiles</p></td> +<td class="parameter_description"><p>is a string that contains the supported SRTP profiles, +separated by colons.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err_pos</p></td> +<td class="parameter_description"><p>In case of an error this will have the position in the string the error occurred, may be NULL.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srtp-set-profile-direct.returns"></a><h4>Returns</h4> +<p> On syntax error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> is returned, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +<p>Since 3.1.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srtp-get-selected-profile"></a><h3>gnutls_srtp_get_selected_profile ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srtp_get_selected_profile (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-srtp-profile-t" title="enum gnutls_srtp_profile_t"><span class="type">gnutls_srtp_profile_t</span></a> *profile</code></em>);</pre> +<p>This function allows you to get the negotiated SRTP profile.</p> +<div class="refsect3"> +<a name="gnutls-srtp-get-selected-profile.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>profile</p></td> +<td class="parameter_description"><p>will hold the profile</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srtp-get-selected-profile.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +<p>Since 3.1.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srtp-get-profile-name"></a><h3>gnutls_srtp_get_profile_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_srtp_get_profile_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-srtp-profile-t" title="enum gnutls_srtp_profile_t"><span class="type">gnutls_srtp_profile_t</span></a> profile</code></em>);</pre> +<p>This function allows you to get the corresponding name for a +SRTP protection profile.</p> +<div class="refsect3"> +<a name="gnutls-srtp-get-profile-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>profile</p></td> +<td class="parameter_description"><p>The profile to look up a string for</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srtp-get-profile-name.returns"></a><h4>Returns</h4> +<p> On success, the name of a SRTP profile as a string, +otherwise NULL.</p> +<p>Since 3.1.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srtp-get-profile-id"></a><h3>gnutls_srtp_get_profile_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srtp_get_profile_id (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-srtp-profile-t" title="enum gnutls_srtp_profile_t"><span class="type">gnutls_srtp_profile_t</span></a> *profile</code></em>);</pre> +<p>This function allows you to look up a profile based on a string.</p> +<div class="refsect3"> +<a name="gnutls-srtp-get-profile-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>The name of the profile to look up</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>profile</p></td> +<td class="parameter_description"><p>Will hold the profile id</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srtp-get-profile-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +<p>Since 3.1.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srtp-get-keys"></a><h3>gnutls_srtp_get_keys ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srtp_get_keys (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">void</span> *key_material</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_material_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *client_key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *client_salt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *server_key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *server_salt</code></em>);</pre> +<p>This is a helper function to generate the keying material for SRTP. +It requires the space of the key material to be pre-allocated (should be at least +2x the maximum key size and salt size). The <em class="parameter"><code>client_key</code></em> +, <em class="parameter"><code>client_salt</code></em> +, <em class="parameter"><code>server_key</code></em> + +and <em class="parameter"><code>server_salt</code></em> + are convenience datums that point inside the key material. They may +be <code class="literal">NULL</code>.</p> +<div class="refsect3"> +<a name="gnutls-srtp-get-keys.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_material</p></td> +<td class="parameter_description"><p>Space to hold the generated key material</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_material_size</p></td> +<td class="parameter_description"><p>The maximum size of the key material</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>client_key</p></td> +<td class="parameter_description"><p>The master client write key, pointing inside the key material</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>server_key</p></td> +<td class="parameter_description"><p>The master server write key, pointing inside the key material</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>client_salt</p></td> +<td class="parameter_description"><p>The master client write salt, pointing inside the key material</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>server_salt</p></td> +<td class="parameter_description"><p>The master server write salt, pointing inside the key material</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srtp-get-keys.returns"></a><h4>Returns</h4> +<p> On success the size of the key material is returned, +otherwise, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the buffer given is not +sufficient, or a negative error code.</p> +<p>Since 3.1.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srtp-set-mki"></a><h3>gnutls_srtp_set_mki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srtp_set_mki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *mki</code></em>);</pre> +<p>This function sets the Master Key Identifier, to be +used by this session (if any).</p> +<div class="refsect3"> +<a name="gnutls-srtp-set-mki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mki</p></td> +<td class="parameter_description"><p>holds the MKI</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srtp-set-mki.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +<p>Since 3.1.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srtp-get-mki"></a><h3>gnutls_srtp_get_mki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srtp_get_mki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *mki</code></em>);</pre> +<p>This function exports the negotiated Master Key Identifier, +received by the peer if any. The returned value in <em class="parameter"><code>mki</code></em> + should be +treated as constant and valid only during the session's lifetime.</p> +<div class="refsect3"> +<a name="gnutls-srtp-get-mki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mki</p></td> +<td class="parameter_description"><p>will hold the MKI</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srtp-get-mki.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +<p>Since 3.1.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-compress-certificate-get-selected-method"></a><h3>gnutls_compress_certificate_get_selected_method ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="returnvalue">gnutls_compression_method_t</span></a> +gnutls_compress_certificate_get_selected_method + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function returns the certificate compression method that has been +selected to compress the certificate before sending it to the peer. +The selection is done based on the local list of supported compression +methods and the peer's requested compression methods.</p> +<div class="refsect3"> +<a name="gnutls-compress-certificate-get-selected-method.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-compress-certificate-get-selected-method.returns"></a><h4>Returns</h4> +<p> selected certificate compression method.</p> +<p>Since 3.7.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-compress-certificate-set-methods"></a><h3>gnutls_compress_certificate_set_methods ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_compress_certificate_set_methods + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a> *methods</code></em>, + <em class="parameter"><code><span class="type">size_t</span> methods_len</code></em>);</pre> +<p>This function sets the supported compression methods for certificate compression +for the given session. The list of supported compression methods will be used +for a) requesting the compression of peer's certificate and b) selecting the +method to compress the local certificate before sending it to the peer. +The order of compression methods inside the list does matter as the method +that appears earlier in the list will be preffered before the later ones. +Note that even if you set the list of supported compression methods, the +compression might not be used if the peer does not support any of your chosen +compression methods.</p> +<p>The list of supported compression methods must meet the following criteria: +Argument <em class="parameter"><code>methods</code></em> + must be an array of valid compression methods of type +<a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a>. Argument <em class="parameter"><code>methods_len</code></em> + must contain the number of +compression methods stored in the <em class="parameter"><code>methods</code></em> + array and must be within range <1, 127>. +The length constraints are defined by <code class="literal">MIN_COMPRESS_CERTIFICATE_METHODS</code> +and <code class="literal">MAX_COMPRESS_CERTIFICATE_METHODS</code> macros located in the header file +compress_certificate.h.</p> +<p>If either <em class="parameter"><code>methods</code></em> + or <em class="parameter"><code>methods_len</code></em> + is equal to 0, current list of supported +compression methods will be unset.</p> +<div class="refsect3"> +<a name="gnutls-compress-certificate-set-methods.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>methods</p></td> +<td class="parameter_description"><p>is a list of supported compression methods.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>methods_len</p></td> +<td class="parameter_description"><p>number of compression methods in <em class="parameter"><code>methods</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-compress-certificate-set-methods.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +<p>Since 3.7.4</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alpn-get-selected-protocol"></a><h3>gnutls_alpn_get_selected_protocol ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_alpn_get_selected_protocol (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *protocol</code></em>);</pre> +<p>This function allows you to get the negotiated protocol name. The +returned protocol should be treated as opaque, constant value and +only valid during the session life.</p> +<p>The selected protocol is the first supported by the list sent +by the client.</p> +<div class="refsect3"> +<a name="gnutls-alpn-get-selected-protocol.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>protocol</p></td> +<td class="parameter_description"><p>will hold the protocol name</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-alpn-get-selected-protocol.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +<p>Since 3.2.0</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alpn-set-protocols"></a><h3>gnutls_alpn_set_protocols ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_alpn_set_protocols (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *protocols</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> protocols_size</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function is to be used by both clients and servers, to declare +the supported ALPN protocols, which are used during negotiation with peer.</p> +<p>See <a class="link" href="gnutls-gnutls.html#gnutls-alpn-flags-t" title="enum gnutls_alpn_flags_t"><code class="literal">gnutls_alpn_flags_t</code></a> description for the documentation of available +flags.</p> +<div class="refsect3"> +<a name="gnutls-alpn-set-protocols.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>protocols</p></td> +<td class="parameter_description"><p>is the protocol names to add.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>protocols_size</p></td> +<td class="parameter_description"><p>the number of protocols to add.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or a sequence of <a class="link" href="gnutls-gnutls.html#gnutls-alpn-flags-t" title="enum gnutls_alpn_flags_t"><code class="literal">gnutls_alpn_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-alpn-set-protocols.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +<p>Since 3.2.0</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-key-generate"></a><h3>gnutls_key_generate ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_key_generate (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_size</code></em>);</pre> +<p>Generates a random key of <em class="parameter"><code>key_size</code></em> + bytes.</p> +<div class="refsect3"> +<a name="gnutls-key-generate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> which will contain a newly +created key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_size</p></td> +<td class="parameter_description"><p>the number of bytes of the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-key-generate.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or an +error code.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-init"></a><h3>gnutls_priority_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> *priority_cache</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *priorities</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **err_pos</code></em>);</pre> +<p>For applications that do not modify their crypto settings per release, consider +using <a class="link" href="gnutls-gnutls.html#gnutls-priority-init2" title="gnutls_priority_init2 ()"><code class="function">gnutls_priority_init2()</code></a> with <a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-INIT-DEF-APPEND:CAPS" title="GNUTLS_PRIORITY_INIT_DEF_APPEND"><code class="literal">GNUTLS_PRIORITY_INIT_DEF_APPEND</code></a> flag +instead. We suggest to use centralized crypto settings handled by the GnuTLS +library, and applications modifying the default settings to their needs.</p> +<p>This function is identical to <a class="link" href="gnutls-gnutls.html#gnutls-priority-init2" title="gnutls_priority_init2 ()"><code class="function">gnutls_priority_init2()</code></a> with zero +flags.</p> +<p>A <code class="literal">NULL</code> <em class="parameter"><code>priorities</code></em> + string indicates the default priorities to be +used (this is available since GnuTLS 3.3.0).</p> +<div class="refsect3"> +<a name="gnutls-priority-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>priority_cache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>priorities</p></td> +<td class="parameter_description"><p>is a string describing priorities (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err_pos</p></td> +<td class="parameter_description"><p>In case of an error this will have the position in the string the error occurred</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-init.returns"></a><h4>Returns</h4> +<p> On syntax error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> is returned, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-init2"></a><h3>gnutls_priority_init2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_init2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> *priority_cache</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *priorities</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **err_pos</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>Sets priorities for the ciphers, key exchange methods, and macs. +The <em class="parameter"><code>priority_cache</code></em> + should be deinitialized +using <a class="link" href="gnutls-gnutls.html#gnutls-priority-deinit" title="gnutls_priority_deinit ()"><code class="function">gnutls_priority_deinit()</code></a>.</p> +<p>The <span class="type">priorities</span> option allows you to specify a colon +separated list of the cipher priorities to enable. +Some keywords are defined to provide quick access +to common preferences.</p> +<p>When <em class="parameter"><code>flags</code></em> + is set to <a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-INIT-DEF-APPEND:CAPS" title="GNUTLS_PRIORITY_INIT_DEF_APPEND"><code class="literal">GNUTLS_PRIORITY_INIT_DEF_APPEND</code></a> then the <em class="parameter"><code>priorities</code></em> + +specified will be appended to the default options.</p> +<p>Unless there is a special need, use the "NORMAL" keyword to +apply a reasonable security level, or "NORMAL:%<code class="literal">COMPAT</code>" for compatibility.</p> +<p>"PERFORMANCE" means all the "secure" ciphersuites are enabled, +limited to 128 bit ciphers and sorted by terms of speed +performance.</p> +<p>"LEGACY" the NORMAL settings for GnuTLS 3.2.x or earlier. There is +no verification profile set, and the allowed DH primes are considered +weak today.</p> +<p>"NORMAL" means all "secure" ciphersuites. The 256-bit ciphers are +included as a fallback only. The ciphers are sorted by security +margin.</p> +<p>"PFS" means all "secure" ciphersuites that support perfect forward secrecy. +The 256-bit ciphers are included as a fallback only. +The ciphers are sorted by security margin.</p> +<p>"SECURE128" means all "secure" ciphersuites of security level 128-bit +or more.</p> +<p>"SECURE192" means all "secure" ciphersuites of security level 192-bit +or more.</p> +<p>"SUITEB128" means all the NSA SuiteB ciphersuites with security level +of 128.</p> +<p>"SUITEB192" means all the NSA SuiteB ciphersuites with security level +of 192.</p> +<p>"NONE" means nothing is enabled. This disables everything, including protocols.</p> +<p>"@<em class="parameter"><code>KEYWORD1</code></em> +,KEYWORD2,..." The system administrator imposed settings. +The provided keyword(s) will be expanded from a configuration-time +provided file - default is: /etc/gnutls/config. +Any attributes that follow it, will be appended to the expanded +string. If multiple keywords are provided, separated by commas, +then the first keyword that exists in the configuration file +will be used. At least one of the keywords must exist, or this +function will return an error. Typical usage would be to specify +an application specified keyword first, followed by "SYSTEM" as +a default fallback. e.g., "<em class="parameter"><code>LIBVIRT</code></em> +,SYSTEM:!-VERS-SSL3.0" will +first try to find a config file entry matching "LIBVIRT", but if +that does not exist will use the entry for "SYSTEM". If "SYSTEM" +does not exist either, an error will be returned. In all cases, +the SSL3.0 protocol will be disabled. The system priority file +entries should be formatted as "KEYWORD=VALUE", e.g., +"SYSTEM=NORMAL:+ARCFOUR-128".</p> +<p>Special keywords are "!", "-" and "+". +"!" or "-" appended with an algorithm will remove this algorithm. +"+" appended with an algorithm will add this algorithm.</p> +<p>Check the GnuTLS manual section "Priority strings" for detailed +information.</p> +<p>Examples:</p> +<p>"NONE:+VERS-TLS-ALL:+MAC-ALL:+RSA:+AES-128-CBC:+SIGN-ALL:+COMP-NULL"</p> +<p>"NORMAL:+ARCFOUR-128" means normal ciphers plus ARCFOUR-128.</p> +<p>"SECURE128:-VERS-SSL3.0" means that only secure ciphers are +and enabled, SSL3.0 is disabled.</p> +<p>"NONE:+VERS-TLS-ALL:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL:+SIGN-RSA-SHA1",</p> +<p>"NONE:+VERS-TLS-ALL:+AES-128-CBC:+ECDHE-RSA:+SHA1:+COMP-NULL:+SIGN-RSA-SHA1:+CURVE-SECP256R1",</p> +<p>"SECURE256:+SECURE128",</p> +<p>Note that "NORMAL:%<code class="literal">COMPAT</code>" is the most compatible mode.</p> +<p>A <code class="literal">NULL</code> <em class="parameter"><code>priorities</code></em> + string indicates the default priorities to be +used (this is available since GnuTLS 3.3.0).</p> +<div class="refsect3"> +<a name="gnutls-priority-init2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>priority_cache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>priorities</p></td> +<td class="parameter_description"><p>is a string describing priorities (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err_pos</p></td> +<td class="parameter_description"><p>In case of an error this will have the position in the string the error occurred</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-INIT-DEF-APPEND:CAPS" title="GNUTLS_PRIORITY_INIT_DEF_APPEND"><code class="literal">GNUTLS_PRIORITY_INIT_DEF_APPEND</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-init2.returns"></a><h4>Returns</h4> +<p> On syntax error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> is returned, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-deinit"></a><h3>gnutls_priority_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_priority_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> priority_cache</code></em>);</pre> +<p>Deinitializes the priority cache.</p> +<div class="refsect3"> +<a name="gnutls-priority-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>priority_cache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-get-cipher-suite-index"></a><h3>gnutls_priority_get_cipher_suite_index ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_get_cipher_suite_index + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *sidx</code></em>);</pre> +<p>Provides the internal ciphersuite index to be used with +<code class="function">gnutls_cipher_suite_info()</code>. The index <em class="parameter"><code>idx</code></em> + provided is an +index kept at the priorities structure. It might be that a valid +priorities index does not correspond to a ciphersuite and in +that case <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-SUITE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_SUITE"><code class="literal">GNUTLS_E_UNKNOWN_CIPHER_SUITE</code></a> will be returned. +Once the last available index is crossed then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be returned.</p> +<div class="refsect3"> +<a name="gnutls-priority-get-cipher-suite-index.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>is an index number.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sidx</p></td> +<td class="parameter_description"><p>internal index of cipher suite to get information about.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-get-cipher-suite-index.returns"></a><h4>Returns</h4> +<p> On success it returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0), or a negative error value otherwise.</p> +</div> +<p class="since">Since: 3.0.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-string-list"></a><h3>gnutls_priority_string_list ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_priority_string_list (<em class="parameter"><code><span class="type">unsigned </span> iter</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>Can be used to iterate all available priority strings. +Due to internal implementation details, there are cases where this +function can return the empty string. In that case that string should be ignored. +When no strings are available it returns <code class="literal">NULL</code>.</p> +<div class="refsect3"> +<a name="gnutls-priority-string-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>iter</p></td> +<td class="parameter_description"><p>an integer counter starting from zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>one of <a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-LIST-INIT-KEYWORDS:CAPS" title="GNUTLS_PRIORITY_LIST_INIT_KEYWORDS"><code class="literal">GNUTLS_PRIORITY_LIST_INIT_KEYWORDS</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-PRIORITY-LIST-SPECIAL:CAPS" title="GNUTLS_PRIORITY_LIST_SPECIAL"><code class="literal">GNUTLS_PRIORITY_LIST_SPECIAL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-string-list.returns"></a><h4>Returns</h4> +<p> a priority string</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-set"></a><h3>gnutls_priority_set ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_set (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> priority</code></em>);</pre> +<p>Sets the priorities to use on the ciphers, key exchange methods, +and macs. Note that this function is expected to be called once +per session; when called multiple times (e.g., before a re-handshake, +the caller should make sure that any new settings are not incompatible +with the original session).</p> +<div class="refsect3"> +<a name="gnutls-priority-set.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>priority</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-set.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-set-direct"></a><h3>gnutls_priority_set_direct ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_set_direct (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *priorities</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **err_pos</code></em>);</pre> +<p>Sets the priorities to use on the ciphers, key exchange methods, +and macs. This function avoids keeping a +priority cache and is used to directly set string priorities to a +TLS session. For documentation check the <a class="link" href="gnutls-gnutls.html#gnutls-priority-init" title="gnutls_priority_init ()"><code class="function">gnutls_priority_init()</code></a>.</p> +<p>To use a reasonable default, consider using <a class="link" href="gnutls-gnutls.html#gnutls-set-default-priority" title="gnutls_set_default_priority ()"><code class="function">gnutls_set_default_priority()</code></a>, +or <a class="link" href="gnutls-gnutls.html#gnutls-set-default-priority-append" title="gnutls_set_default_priority_append ()"><code class="function">gnutls_set_default_priority_append()</code></a> instead of this function.</p> +<div class="refsect3"> +<a name="gnutls-priority-set-direct.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>priorities</p></td> +<td class="parameter_description"><p>is a string describing priorities</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err_pos</p></td> +<td class="parameter_description"><p>In case of an error this will have the position in the string the error occurred</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-set-direct.returns"></a><h4>Returns</h4> +<p> On syntax error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> is returned, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-certificate-type-list"></a><h3>gnutls_priority_certificate_type_list ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_certificate_type_list (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>const unsigned <span class="type">int</span> **list</code></em>);</pre> +<p>Get a list of available certificate types in the priority +structure.</p> +<p>As of version 3.6.4 this function is an alias for +gnutls_priority_certificate_type_list2 with the target parameter +set to:</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p>GNUTLS_CTYPE_SERVER, if the <code class="literal">SERVER_PRECEDENCE</code> option is set</p></li> +<li class="listitem"><p>GNUTLS_CTYPE_CLIENT, otherwise.</p></li> +</ul></div> +<div class="refsect3"> +<a name="gnutls-priority-certificate-type-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>will point to an integer list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-certificate-type-list.returns"></a><h4>Returns</h4> +<p> the number of certificate types, or an error code.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-certificate-type-list2"></a><h3>gnutls_priority_certificate_type_list2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_certificate_type_list2 + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>const unsigned <span class="type">int</span> **list</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ctype-target-t" title="enum gnutls_ctype_target_t"><span class="type">gnutls_ctype_target_t</span></a> target</code></em>);</pre> +<p>Get a list of available certificate types for the given target +in the priority structure.</p> +<div class="refsect3"> +<a name="gnutls-priority-certificate-type-list2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>will point to an integer list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>target</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-ctype-target-t" title="enum gnutls_ctype_target_t"><span class="type">gnutls_ctype_target_t</span></a> type. Valid arguments are +GNUTLS_CTYPE_CLIENT and GNUTLS_CTYPE_SERVER</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-certificate-type-list2.returns"></a><h4>Returns</h4> +<p> the number of certificate types, or an error code.</p> +</div> +<p class="since">Since: 3.6.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-sign-list"></a><h3>gnutls_priority_sign_list ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_sign_list (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>const unsigned <span class="type">int</span> **list</code></em>);</pre> +<p>Get a list of available signature algorithms in the priority +structure.</p> +<div class="refsect3"> +<a name="gnutls-priority-sign-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>will point to an integer list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-sign-list.returns"></a><h4>Returns</h4> +<p> the number of algorithms, or an error code.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-protocol-list"></a><h3>gnutls_priority_protocol_list ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_protocol_list (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>const unsigned <span class="type">int</span> **list</code></em>);</pre> +<p>Get a list of available TLS version numbers in the priority +structure.</p> +<div class="refsect3"> +<a name="gnutls-priority-protocol-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>will point to an integer list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-protocol-list.returns"></a><h4>Returns</h4> +<p> the number of protocols, or an error code.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-ecc-curve-list"></a><h3>gnutls_priority_ecc_curve_list ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_ecc_curve_list (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>const unsigned <span class="type">int</span> **list</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_priority_ecc_curve_list</code> is deprecated and should not be used in newly-written code.</p> +<p>This function has been replaced by +<a class="link" href="gnutls-gnutls.html#gnutls-priority-group-list" title="gnutls_priority_group_list ()"><code class="function">gnutls_priority_group_list()</code></a> since 3.6.0.</p> +</div> +<p>Get a list of available elliptic curves in the priority +structure.</p> +<div class="refsect3"> +<a name="gnutls-priority-ecc-curve-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>will point to an integer list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-ecc-curve-list.returns"></a><h4>Returns</h4> +<p> the number of items, or an error code.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-group-list"></a><h3>gnutls_priority_group_list ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_group_list (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>const unsigned <span class="type">int</span> **list</code></em>);</pre> +<p>Get a list of available groups in the priority +structure.</p> +<div class="refsect3"> +<a name="gnutls-priority-group-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>will point to an integer list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-group-list.returns"></a><h4>Returns</h4> +<p> the number of items, or an error code.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-kx-list"></a><h3>gnutls_priority_kx_list ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_kx_list (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>const unsigned <span class="type">int</span> **list</code></em>);</pre> +<p>Get a list of available key exchange methods in the priority +structure.</p> +<div class="refsect3"> +<a name="gnutls-priority-kx-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>will point to an integer list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-kx-list.returns"></a><h4>Returns</h4> +<p> the number of items, or an error code.</p> +</div> +<p class="since">Since: 3.2.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-cipher-list"></a><h3>gnutls_priority_cipher_list ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_cipher_list (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>const unsigned <span class="type">int</span> **list</code></em>);</pre> +<p>Get a list of available ciphers in the priority +structure.</p> +<div class="refsect3"> +<a name="gnutls-priority-cipher-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>will point to an integer list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-cipher-list.returns"></a><h4>Returns</h4> +<p> the number of items, or an error code.</p> +</div> +<p class="since">Since: 3.2.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-mac-list"></a><h3>gnutls_priority_mac_list ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_priority_mac_list (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> pcache</code></em>, + <em class="parameter"><code>const unsigned <span class="type">int</span> **list</code></em>);</pre> +<p>Get a list of available MAC algorithms in the priority +structure.</p> +<div class="refsect3"> +<a name="gnutls-priority-mac-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pcache</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>will point to an integer list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-priority-mac-list.returns"></a><h4>Returns</h4> +<p> the number of items, or an error code.</p> +</div> +<p class="since">Since: 3.2.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-get-system-config-file"></a><h3>gnutls_get_system_config_file ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_get_system_config_file (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Returns the filename of the system wide configuration +file to be loaded by the library.</p> +<div class="refsect3"> +<a name="gnutls-get-system-config-file.returns"></a><h4>Returns</h4> +<p> a constant pointer to the config file path</p> +</div> +<p class="since">Since: 3.6.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-set-default-priority"></a><h3>gnutls_set_default_priority ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_set_default_priority (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Sets the default priority on the ciphers, key exchange methods, +and macs. This is the recommended method of +setting the defaults, in order to promote consistency between applications +using GnuTLS, and to allow GnuTLS using applications to update settings +in par with the library. For client applications which require +maximum compatibility consider calling <code class="function">gnutls_session_enable_compatibility_mode()</code> +after this function.</p> +<p>For an application to specify additional options to priority string +consider using <a class="link" href="gnutls-gnutls.html#gnutls-set-default-priority-append" title="gnutls_set_default_priority_append ()"><code class="function">gnutls_set_default_priority_append()</code></a>.</p> +<p>To allow a user to override the defaults (e.g., when a user interface +or configuration file is available), the functions +<a class="link" href="gnutls-gnutls.html#gnutls-priority-set-direct" title="gnutls_priority_set_direct ()"><code class="function">gnutls_priority_set_direct()</code></a> or <a class="link" href="gnutls-gnutls.html#gnutls-priority-set" title="gnutls_priority_set ()"><code class="function">gnutls_priority_set()</code></a> can +be used.</p> +<div class="refsect3"> +<a name="gnutls-set-default-priority.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-set-default-priority.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +<p class="since">Since: 2.1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-set-default-priority-append"></a><h3>gnutls_set_default_priority_append ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_set_default_priority_append (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *add_prio</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **err_pos</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>Sets the default priority on the ciphers, key exchange methods, +and macs with the additional options in <em class="parameter"><code>add_prio</code></em> +. This is the recommended method of +setting the defaults when only few additional options are to be added. This promotes +consistency between applications using GnuTLS, and allows GnuTLS using applications +to update settings in par with the library.</p> +<p>The <em class="parameter"><code>add_prio</code></em> + string should start as a normal priority string, e.g., +'-VERS-TLS-ALL:+VERS-TLS1.3:%<code class="literal">COMPAT</code>' or '%<code class="literal">FORCE_ETM</code>'. That is, it must not start +with ':'.</p> +<p>To allow a user to override the defaults (e.g., when a user interface +or configuration file is available), the functions +<a class="link" href="gnutls-gnutls.html#gnutls-priority-set-direct" title="gnutls_priority_set_direct ()"><code class="function">gnutls_priority_set_direct()</code></a> or <a class="link" href="gnutls-gnutls.html#gnutls-priority-set" title="gnutls_priority_set ()"><code class="function">gnutls_priority_set()</code></a> can +be used.</p> +<div class="refsect3"> +<a name="gnutls-set-default-priority-append.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>add_prio</p></td> +<td class="parameter_description"><p>is a string describing priorities to be appended to default</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err_pos</p></td> +<td class="parameter_description"><p>In case of an error this will have the position in the string the error occurred</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-set-default-priority-append.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-suite-get-name"></a><h3>gnutls_cipher_suite_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_cipher_suite_get_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> kx_algorithm</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> cipher_algorithm</code></em>);</pre> +<p>This function returns the ciphersuite name under TLS1.2 or earlier +versions when provided with individual algorithms. The full cipher suite +name must be prepended by TLS or SSL depending of the protocol in use.</p> +<p>To get a description of the current ciphersuite across versions, it +is recommended to use <a class="link" href="gnutls-gnutls.html#gnutls-session-get-desc" title="gnutls_session_get_desc ()"><code class="function">gnutls_session_get_desc()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-cipher-suite-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>kx_algorithm</p></td> +<td class="parameter_description"><p>is a Key exchange algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cipher_algorithm</p></td> +<td class="parameter_description"><p>is a cipher algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mac_algorithm</p></td> +<td class="parameter_description"><p>is a MAC algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-cipher-suite-get-name.returns"></a><h4>Returns</h4> +<p> a string that contains the name of a TLS cipher suite, +specified by the given algorithms, or <code class="literal">NULL</code>.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-protocol-get-name"></a><h3>gnutls_protocol_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_protocol_get_name ();</pre> +<p>Convert a <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> value to a string.</p> +<div class="refsect3"> +<a name="gnutls-protocol-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>is a (gnutls) version number</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-protocol-get-name.returns"></a><h4>Returns</h4> +<p> a string that contains the name of the specified TLS +version (e.g., "TLS1.0"), or <code class="literal">NULL</code>.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-data"></a><h3>gnutls_session_get_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_get_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">void</span> *session_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *session_data_size</code></em>);</pre> +<p>Returns all session parameters needed to be stored to support resumption, +in a pre-allocated buffer.</p> +<p>See <a class="link" href="gnutls-gnutls.html#gnutls-session-get-data2" title="gnutls_session_get_data2 ()"><code class="function">gnutls_session_get_data2()</code></a> for more information.</p> +<div class="refsect3"> +<a name="gnutls-session-get-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>session_data</p></td> +<td class="parameter_description"><p>is a pointer to space to hold the session.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>session_data_size</p></td> +<td class="parameter_description"><p>is the session_data's size, or it will be set by the function.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-get-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-data2"></a><h3>gnutls_session_get_data2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_get_data2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +<p>Returns necessary parameters to support resumption. The client +should call this function and store the returned session data. A session +can be resumed later by calling <code class="function">gnutls_session_set_data()</code> with the returned +data. Note that under TLS 1.3, it is recommended for clients to use +session parameters only once, to prevent passive-observers from correlating +the different connections.</p> +<p>The returned <em class="parameter"><code>data</code></em> + are allocated and must be released using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<p>This function will fail if called prior to handshake completion. In +case of false start TLS, the handshake completes only after data have +been successfully received from the peer.</p> +<p>Under TLS1.3 session resumption is possible only after a session ticket +is received by the client. To ensure that such a ticket has been received use +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-flags" title="gnutls_session_get_flags ()"><code class="function">gnutls_session_get_flags()</code></a> and check for flag <a class="link" href="gnutls-gnutls.html#GNUTLS-SFLAGS-SESSION-TICKET:CAPS"><code class="literal">GNUTLS_SFLAGS_SESSION_TICKET</code></a>; +if this flag is not set, this function will wait for a new ticket within +an estimated roundtrip, and if not received will return dummy data which +cannot lead to resumption.</p> +<p>To get notified when new tickets are received by the server +use <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-hook-function" title="gnutls_handshake_set_hook_function ()"><code class="function">gnutls_handshake_set_hook_function()</code></a> to wait for <a class="link" href="gnutls-gnutls.html#GNUTLS-HANDSHAKE-NEW-SESSION-TICKET:CAPS"><code class="literal">GNUTLS_HANDSHAKE_NEW_SESSION_TICKET</code></a> +messages. Each call of <a class="link" href="gnutls-gnutls.html#gnutls-session-get-data2" title="gnutls_session_get_data2 ()"><code class="function">gnutls_session_get_data2()</code></a> after a ticket is +received, will return session resumption data corresponding to the last +received ticket.</p> +<p>Note that this function under TLS1.3 requires a callback to be set with +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-timeout-function" title="gnutls_transport_set_pull_timeout_function ()"><code class="function">gnutls_transport_set_pull_timeout_function()</code></a> for successful operation. There +was a bug before 3.6.10 which could make this function fail if that callback +was not set. On later versions if not set, the function will return a successful +error code, but will return dummy data that cannot lead to a resumption.</p> +<div class="refsect3"> +<a name="gnutls-session-get-data2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>is a pointer to a datum that will hold the session.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-get-data2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-random"></a><h3>gnutls_session_get_random ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_session_get_random (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *client</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *server</code></em>);</pre> +<p>This function returns pointers to the client and server +random fields used in the TLS handshake. The pointers are +not to be modified or deallocated.</p> +<p>If a client random value has not yet been established, the output +will be garbage.</p> +<div class="refsect3"> +<a name="gnutls-session-get-random.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>client</p></td> +<td class="parameter_description"><p>the client part of the random</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>server</p></td> +<td class="parameter_description"><p>the server part of the random</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-master-secret"></a><h3>gnutls_session_get_master_secret ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_session_get_master_secret (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *secret</code></em>);</pre> +<p>This function returns pointers to the master secret +used in the TLS session. The pointers are not to be modified or deallocated.</p> +<p>This function is only applicable under TLS 1.2 or earlier versions.</p> +<div class="refsect3"> +<a name="gnutls-session-get-master-secret.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>secret</p></td> +<td class="parameter_description"><p>the session's master secret</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-desc"></a><h3>gnutls_session_get_desc ()</h3> +<pre class="programlisting"><span class="returnvalue">char</span> * +gnutls_session_get_desc (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function returns a string describing the current session. +The string is null terminated and allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>If initial negotiation is not complete when this function is called, +<code class="literal">NULL</code> will be returned.</p> +<div class="refsect3"> +<a name="gnutls-session-get-desc.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-get-desc.returns"></a><h4>Returns</h4> +<p> a description of the protocols and algorithms in the current session.</p> +</div> +<p class="since">Since: 3.1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-set-verify-function"></a><h3>gnutls_session_set_verify_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_session_set_verify_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">gnutls_certificate_verify_function</span> *func</code></em>);</pre> +<p>This function sets a callback to be called when peer's certificate +has been received in order to verify it on receipt rather than +doing after the handshake is completed. This overrides any callback +set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-function" title="gnutls_certificate_set_verify_function ()"><code class="function">gnutls_certificate_set_verify_function()</code></a>.</p> +<p>The callback's function prototype is: +int (*callback)(gnutls_session_t);</p> +<p>If the callback function is provided then gnutls will call it, in the +handshake, just after the certificate message has been received. +To verify or obtain the certificate the <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>, +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get" title="gnutls_certificate_type_get ()"><code class="function">gnutls_certificate_type_get()</code></a>, <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers" title="gnutls_certificate_get_peers ()"><code class="function">gnutls_certificate_get_peers()</code></a> functions +can be used.</p> +<p>The callback function should return 0 for the handshake to continue +or non-zero to terminate.</p> +<div class="refsect3"> +<a name="gnutls-session-set-verify-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-set-verify-cert"></a><h3>gnutls_session_set_verify_cert ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_session_set_verify_cert (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *hostname</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function instructs GnuTLS to verify the peer's certificate +using the provided hostname. If the verification fails the handshake +will also fail with <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR"><code class="literal">GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR</code></a>. In that +case the verification result can be obtained using <a class="link" href="gnutls-gnutls.html#gnutls-session-get-verify-cert-status" title="gnutls_session_get_verify_cert_status ()"><code class="function">gnutls_session_get_verify_cert_status()</code></a>.</p> +<p>The <em class="parameter"><code>hostname</code></em> + pointer provided must remain valid for the lifetime +of the session. More precisely it should be available during any subsequent +handshakes. If no hostname is provided, no hostname verification +will be performed. For a more advanced verification function check +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-cert2" title="gnutls_session_set_verify_cert2 ()"><code class="function">gnutls_session_set_verify_cert2()</code></a>.</p> +<p>If <em class="parameter"><code>flags</code></em> + is provided which contain a profile, this function should be +called after any session priority setting functions.</p> +<p>The <a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-cert" title="gnutls_session_set_verify_cert ()"><code class="function">gnutls_session_set_verify_cert()</code></a> function is intended to be used by TLS +clients to verify the server's certificate.</p> +<div class="refsect3"> +<a name="gnutls-session-set-verify-cert.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hostname</p></td> +<td class="parameter_description"><p>is the expected name of the peer; may be <code class="literal">NULL</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags for certificate verification -- <a class="link" href="gnutls-x509.html#gnutls-certificate-verify-flags" title="enum gnutls_certificate_verify_flags"><span class="type">gnutls_certificate_verify_flags</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-set-verify-cert2"></a><h3>gnutls_session_set_verify_cert2 ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_session_set_verify_cert2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-typed-vdata-st" title="gnutls_typed_vdata_st"><span class="type">gnutls_typed_vdata_st</span></a> *data</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> elements</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function instructs GnuTLS to verify the peer's certificate +using the provided typed data information. If the verification fails the handshake +will also fail with <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR"><code class="literal">GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR</code></a>. In that +case the verification result can be obtained using <a class="link" href="gnutls-gnutls.html#gnutls-session-get-verify-cert-status" title="gnutls_session_get_verify_cert_status ()"><code class="function">gnutls_session_get_verify_cert_status()</code></a>.</p> +<p>The acceptable typed data are the same as in <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers" title="gnutls_certificate_verify_peers ()"><code class="function">gnutls_certificate_verify_peers()</code></a>, +and once set must remain valid for the lifetime of the session. More precisely +they should be available during any subsequent handshakes.</p> +<p>If <em class="parameter"><code>flags</code></em> + is provided which contain a profile, this function should be +called after any session priority setting functions.</p> +<div class="refsect3"> +<a name="gnutls-session-set-verify-cert2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>an array of typed data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>elements</p></td> +<td class="parameter_description"><p>the number of data elements</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags for certificate verification -- <a class="link" href="gnutls-x509.html#gnutls-certificate-verify-flags" title="enum gnutls_certificate_verify_flags"><span class="type">gnutls_certificate_verify_flags</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-verify-cert-status"></a><h3>gnutls_session_get_verify_cert_status ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +gnutls_session_get_verify_cert_status (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> Param1</code></em>);</pre> +<p>This function returns the status of the verification when initiated +via auto-verification, i.e., by <a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-cert2" title="gnutls_session_set_verify_cert2 ()"><code class="function">gnutls_session_set_verify_cert2()</code></a> or +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-verify-cert" title="gnutls_session_set_verify_cert ()"><code class="function">gnutls_session_set_verify_cert()</code></a>. If no certificate verification +was occurred then the return value would be set to ((unsigned int)-1).</p> +<p>The certificate verification status is the same as in <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers" title="gnutls_certificate_verify_peers ()"><code class="function">gnutls_certificate_verify_peers()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-session-get-verify-cert-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-get-verify-cert-status.returns"></a><h4>Returns</h4> +<p> the certificate verification status.</p> +</div> +<p class="since">Since: 3.4.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-set-premaster"></a><h3>gnutls_session_set_premaster ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_set_premaster (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> entity</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> version</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> kx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> cipher</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> mac</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a> comp</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *master</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *session_id</code></em>);</pre> +<p>This function sets the premaster secret in a session. This is +a function intended for exceptional uses. Do not use this +function unless you are implementing a legacy protocol. +Use <code class="function">gnutls_session_set_data()</code> instead.</p> +<div class="refsect3"> +<a name="gnutls-session-set-premaster.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>entity</p></td> +<td class="parameter_description"><p>GNUTLS_SERVER or GNUTLS_CLIENT</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>the TLS protocol version</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>kx</p></td> +<td class="parameter_description"><p>the key exchange method</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cipher</p></td> +<td class="parameter_description"><p>the cipher</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mac</p></td> +<td class="parameter_description"><p>the MAC algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>comp</p></td> +<td class="parameter_description"><p>the compression method (ignored)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>master</p></td> +<td class="parameter_description"><p>the master key to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>session_id</p></td> +<td class="parameter_description"><p>the session identifier</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-set-premaster.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-id"></a><h3>gnutls_session_get_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_get_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">void</span> *session_id</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *session_id_size</code></em>);</pre> +<p>Returns the TLS session identifier. The session ID is selected by the +server, and in older versions of TLS was a unique identifier shared +between client and server which was persistent across resumption. +In the latest version of TLS (1.3) or TLS with session tickets, the +notion of session identifiers is undefined and cannot be relied for uniquely +identifying sessions across client and server.</p> +<p>In client side this function returns the identifier returned by the +server, and cannot be assumed to have any relation to session resumption. +In server side this function is guaranteed to return a persistent +identifier of the session since GnuTLS 3.6.4, which may not necessarily +map into the TLS session ID value. Prior to that version the value +could only be considered a persistent identifier, under TLS1.2 or earlier +and when no session tickets were in use.</p> +<p>The session identifier value returned is always less than +<a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID-SIZE:CAPS" title="GNUTLS_MAX_SESSION_ID_SIZE"><code class="literal">GNUTLS_MAX_SESSION_ID_SIZE</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-session-get-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>session_id</p></td> +<td class="parameter_description"><p>is a pointer to space to hold the session id.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>session_id_size</p></td> +<td class="parameter_description"><p>initially should contain the maximum <em class="parameter"><code>session_id</code></em> +size and will be updated.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-get-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-id2"></a><h3>gnutls_session_get_id2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_get_id2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *session_id</code></em>);</pre> +<p>Returns the TLS session identifier. The session ID is selected by the +server, and in older versions of TLS was a unique identifier shared +between client and server which was persistent across resumption. +In the latest version of TLS (1.3) or TLS 1.2 with session tickets, the +notion of session identifiers is undefined and cannot be relied for uniquely +identifying sessions across client and server.</p> +<p>In client side this function returns the identifier returned by the +server, and cannot be assumed to have any relation to session resumption. +In server side this function is guaranteed to return a persistent +identifier of the session since GnuTLS 3.6.4, which may not necessarily +map into the TLS session ID value. Prior to that version the value +could only be considered a persistent identifier, under TLS1.2 or earlier +and when no session tickets were in use.</p> +<p>The session identifier value returned is always less than +<a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID-SIZE:CAPS" title="GNUTLS_MAX_SESSION_ID_SIZE"><code class="literal">GNUTLS_MAX_SESSION_ID_SIZE</code></a> and should be treated as constant.</p> +<div class="refsect3"> +<a name="gnutls-session-get-id2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>session_id</p></td> +<td class="parameter_description"><p>will point to the session ID.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-get-id2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-set-id"></a><h3>gnutls_session_set_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_set_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *sid</code></em>);</pre> +<p>This function sets the session ID to be used in a client hello. +This is a function intended for exceptional uses. Do not use this +function unless you are implementing a custom protocol.</p> +<p>To set session resumption parameters use <code class="function">gnutls_session_set_data()</code> instead.</p> +<div class="refsect3"> +<a name="gnutls-session-set-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sid</p></td> +<td class="parameter_description"><p>the session identifier</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-set-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.2.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-channel-binding"></a><h3>gnutls_session_channel_binding ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_channel_binding (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-channel-binding-t" title="enum gnutls_channel_binding_t"><span class="type">gnutls_channel_binding_t</span></a> cbtype</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cb</code></em>);</pre> +<p>Extract given channel binding data of the <em class="parameter"><code>cbtype</code></em> + (e.g., +<a class="link" href="gnutls-gnutls.html#GNUTLS-CB-TLS-UNIQUE:CAPS"><code class="literal">GNUTLS_CB_TLS_UNIQUE</code></a>) type.</p> +<div class="refsect3"> +<a name="gnutls-session-channel-binding.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cbtype</p></td> +<td class="parameter_description"><p>an <a class="link" href="gnutls-gnutls.html#gnutls-channel-binding-t" title="enum gnutls_channel_binding_t"><span class="type">gnutls_channel_binding_t</span></a> enumeration type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cb</p></td> +<td class="parameter_description"><p>output buffer array with data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-channel-binding.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a> if the <em class="parameter"><code>cbtype</code></em> +is unsupported, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-CHANNEL-BINDING-NOT-AVAILABLE:CAPS" title="GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE"><code class="literal">GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE</code></a> if the data is not +currently available, or an error code.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-is-resumed"></a><h3>gnutls_session_is_resumed ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_is_resumed (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Checks whether session is resumed or not. This is functional +for both server and client side.</p> +<div class="refsect3"> +<a name="gnutls-session-is-resumed.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-is-resumed.returns"></a><h4>Returns</h4> +<p> non zero if this session is resumed, or a zero if this is +a new session.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-resumption-requested"></a><h3>gnutls_session_resumption_requested ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_resumption_requested (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Check whether the client has asked for session resumption. +This function is valid only on server side.</p> +<div class="refsect3"> +<a name="gnutls-session-resumption-requested.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-resumption-requested.returns"></a><h4>Returns</h4> +<p> non zero if session resumption was asked, or a zero if not.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-store-func"></a><h3>gnutls_db_store_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_db_store_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> data</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-remove-func"></a><h3>gnutls_db_remove_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_db_remove_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> key</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-retr-func"></a><h3>gnutls_db_retr_func ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="returnvalue">gnutls_datum_t</span></a> +<span class="c_punctuation">(</span>*gnutls_db_retr_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> key</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-set-cache-expiration"></a><h3>gnutls_db_set_cache_expiration ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_db_set_cache_expiration (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">int</span> seconds</code></em>);</pre> +<p>Set the expiration time for resumed sessions. The default is 21600 +(6 hours) at the time of writing.</p> +<p>The maximum value that can be set using this function is 604800 +(7 days).</p> +<div class="refsect3"> +<a name="gnutls-db-set-cache-expiration.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seconds</p></td> +<td class="parameter_description"><p>is the number of seconds.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-get-default-cache-expiration"></a><h3>gnutls_db_get_default_cache_expiration ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_db_get_default_cache_expiration + (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Returns the expiration time (in seconds) of stored sessions for resumption.</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-remove-session"></a><h3>gnutls_db_remove_session ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_db_remove_session (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will remove the current session data from the +session database. This will prevent future handshakes reusing +these session data. This function should be called if a session +was terminated abnormally, and before <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()"><code class="function">gnutls_deinit()</code></a> is called.</p> +<p>Normally <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()"><code class="function">gnutls_deinit()</code></a> will remove abnormally terminated +sessions.</p> +<div class="refsect3"> +<a name="gnutls-db-remove-session.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-set-retrieve-function"></a><h3>gnutls_db_set_retrieve_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_db_set_retrieve_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-retr-func" title="gnutls_db_retr_func ()"><span class="type">gnutls_db_retr_func</span></a> retr_func</code></em>);</pre> +<p>Sets the function that will be used to retrieve data from the +resumed sessions database. This function must return a +gnutls_datum_t containing the data on success, or a gnutls_datum_t +containing null and 0 on failure.</p> +<p>The datum's data must be allocated using the function +<code class="function">gnutls_malloc()</code>.</p> +<p>The first argument to <em class="parameter"><code>retr_func</code></em> + will be null unless +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()"><code class="function">gnutls_db_set_ptr()</code></a> has been called.</p> +<div class="refsect3"> +<a name="gnutls-db-set-retrieve-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>retr_func</p></td> +<td class="parameter_description"><p>is the function.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-set-remove-function"></a><h3>gnutls_db_set_remove_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_db_set_remove_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-remove-func" title="gnutls_db_remove_func ()"><span class="type">gnutls_db_remove_func</span></a> rem_func</code></em>);</pre> +<p>Sets the function that will be used to remove data from the +resumed sessions database. This function must return 0 on success.</p> +<p>The first argument to <em class="parameter"><code>rem_func</code></em> + will be null unless +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()"><code class="function">gnutls_db_set_ptr()</code></a> has been called.</p> +<div class="refsect3"> +<a name="gnutls-db-set-remove-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rem_func</p></td> +<td class="parameter_description"><p>is the function.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-set-store-function"></a><h3>gnutls_db_set_store_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_db_set_store_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-store-func" title="gnutls_db_store_func ()"><span class="type">gnutls_db_store_func</span></a> store_func</code></em>);</pre> +<p>Sets the function that will be used to store data in the resumed +sessions database. This function must return 0 on success.</p> +<p>The first argument to <em class="parameter"><code>store_func</code></em> + will be null unless +<a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()"><code class="function">gnutls_db_set_ptr()</code></a> has been called.</p> +<div class="refsect3"> +<a name="gnutls-db-set-store-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>store_func</p></td> +<td class="parameter_description"><p>is the function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-set-ptr"></a><h3>gnutls_db_set_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_db_set_ptr (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre> +<p>Sets the pointer that will be provided to db store, retrieve and +delete functions, as the first argument.</p> +<div class="refsect3"> +<a name="gnutls-db-set-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>is the pointer</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-get-ptr"></a><h3>gnutls_db_get_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +gnutls_db_get_ptr (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get db function pointer.</p> +<div class="refsect3"> +<a name="gnutls-db-get-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-db-get-ptr.returns"></a><h4>Returns</h4> +<p> the pointer that will be sent to db store, retrieve and +delete functions, as the first argument.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-check-entry"></a><h3>gnutls_db_check_entry ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_db_check_entry (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> session_entry</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_db_check_entry</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is deprecated.</p> +</div> +<p>This function has no effect.</p> +<div class="refsect3"> +<a name="gnutls-db-check-entry.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>session_entry</p></td> +<td class="parameter_description"><p>is the session data (not key)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-db-check-entry.returns"></a><h4>Returns</h4> +<p> Returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED:CAPS" title="GNUTLS_E_EXPIRED"><code class="literal">GNUTLS_E_EXPIRED</code></a>, if the database entry has +expired or 0 otherwise.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-check-entry-time"></a><h3>gnutls_db_check_entry_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_db_check_entry_time (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *entry</code></em>);</pre> +<p>This function returns the time that this entry was active. +It can be used for database entry expiration.</p> +<div class="refsect3"> +<a name="gnutls-db-check-entry-time.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>entry</p></td> +<td class="parameter_description"><p>is a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-db-check-entry-time.returns"></a><h4>Returns</h4> +<p> The time this entry was created, or zero on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-check-entry-expire-time"></a><h3>gnutls_db_check_entry_expire_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_db_check_entry_expire_time (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *entry</code></em>);</pre> +<p>This function returns the time that this entry will expire. +It can be used for database entry expiration.</p> +<div class="refsect3"> +<a name="gnutls-db-check-entry-expire-time.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>entry</p></td> +<td class="parameter_description"><p>is a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-db-check-entry-expire-time.returns"></a><h4>Returns</h4> +<p> The time this entry will expire, or zero on error.</p> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-hook-func"></a><h3>gnutls_handshake_hook_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_handshake_hook_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> Param1</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> htype</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> when</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> incoming</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *msg</code></em>);</pre> +<p>Function prototype for handshake hooks. It is set using +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-hook-function" title="gnutls_handshake_set_hook_function ()"><code class="function">gnutls_handshake_set_hook_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-handshake-hook-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>the current session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>htype</p></td> +<td class="parameter_description"><p>the type of the handshake message (<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>when</p></td> +<td class="parameter_description"><p>non zero if this is a post-process/generation call and zero otherwise</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>incoming</p></td> +<td class="parameter_description"><p>non zero if this is an incoming message and zero if this is an outgoing message</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>msg</p></td> +<td class="parameter_description"><p>the (const) data of the handshake message without the handshake headers.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-handshake-hook-func.returns"></a><h4>Returns</h4> +<p> Non zero on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-set-hook-function"></a><h3>gnutls_handshake_set_hook_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_handshake_set_hook_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> htype</code></em>, + <em class="parameter"><code><span class="type">int</span> when</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-handshake-hook-func" title="gnutls_handshake_hook_func ()"><span class="type">gnutls_handshake_hook_func</span></a> func</code></em>);</pre> +<p>This function will set a callback to be called after or before the specified +handshake message has been received or generated. This is a +generalization of <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-post-client-hello-function" title="gnutls_handshake_set_post_client_hello_function ()"><code class="function">gnutls_handshake_set_post_client_hello_function()</code></a>.</p> +<p>To call the hook function prior to the message being generated or processed +use <a class="link" href="gnutls-gnutls.html#GNUTLS-HOOK-PRE:CAPS" title="GNUTLS_HOOK_PRE"><code class="literal">GNUTLS_HOOK_PRE</code></a> as <em class="parameter"><code>when</code></em> + parameter, <a class="link" href="gnutls-gnutls.html#GNUTLS-HOOK-POST:CAPS" title="GNUTLS_HOOK_POST"><code class="literal">GNUTLS_HOOK_POST</code></a> to call +after, and <a class="link" href="gnutls-gnutls.html#GNUTLS-HOOK-BOTH:CAPS" title="GNUTLS_HOOK_BOTH"><code class="literal">GNUTLS_HOOK_BOTH</code></a> for both cases.</p> +<p>This callback must return 0 on success or a gnutls error code to +terminate the handshake.</p> +<p>To hook at all handshake messages use an <em class="parameter"><code>htype</code></em> + of <a class="link" href="gnutls-gnutls.html#GNUTLS-HANDSHAKE-ANY:CAPS" title="GNUTLS_HANDSHAKE_ANY"><code class="literal">GNUTLS_HANDSHAKE_ANY</code></a>.</p> +<p>Warning: You should not use this function to terminate the +handshake based on client input unless you know what you are +doing. Before the handshake is finished there is no way to know if +there is a man-in-the-middle attack being performed.</p> +<div class="refsect3"> +<a name="gnutls-handshake-set-hook-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>htype</p></td> +<td class="parameter_description"><p>the <a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a> of the message to hook at</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>when</p></td> +<td class="parameter_description"><p><code class="literal">GNUTLS_HOOK_</code>* depending on when the hook function should be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-simple-hook-func"></a><h3>gnutls_handshake_simple_hook_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_handshake_simple_hook_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> Param1</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-set-post-client-hello-function"></a><h3>gnutls_handshake_set_post_client_hello_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_handshake_set_post_client_hello_function + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-handshake-simple-hook-func" title="gnutls_handshake_simple_hook_func ()"><span class="type">gnutls_handshake_simple_hook_func</span></a> func</code></em>);</pre> +<p>This function will set a callback to be called after the client +hello has been received (callback valid in server side only). This +allows the server to adjust settings based on received extensions.</p> +<p>Those settings could be ciphersuites, requesting certificate, or +anything else except for version negotiation (this is done before +the hello message is parsed).</p> +<p>This callback must return 0 on success or a gnutls error code to +terminate the handshake.</p> +<p>Since GnuTLS 3.3.5 the callback is +allowed to return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> to +put the handshake on hold. In that case <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a> +will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> and can be resumed when needed.</p> +<p>Warning: You should not use this function to terminate the +handshake based on client input unless you know what you are +doing. Before the handshake is finished there is no way to know if +there is a man-in-the-middle attack being performed.</p> +<div class="refsect3"> +<a name="gnutls-handshake-set-post-client-hello-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-set-max-packet-length"></a><h3>gnutls_handshake_set_max_packet_length ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_handshake_set_max_packet_length + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">size_t</span> max</code></em>);</pre> +<p>This function will set the maximum size of all handshake messages. +Handshakes over this size are rejected with +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-TOO-LARGE:CAPS" title="GNUTLS_E_HANDSHAKE_TOO_LARGE"><code class="literal">GNUTLS_E_HANDSHAKE_TOO_LARGE</code></a> error code. The default value is +128kb which is typically large enough. Set this to 0 if you do not +want to set an upper limit.</p> +<p>The reason for restricting the handshake message sizes are to +limit Denial of Service attacks.</p> +<p>Note that the maximum handshake size was increased to 128kb +from 48kb in GnuTLS 3.5.5.</p> +<div class="refsect3"> +<a name="gnutls-handshake-set-max-packet-length.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>max</p></td> +<td class="parameter_description"><p>is the maximum number.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-check-version"></a><h3>gnutls_check_version ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_check_version ();</pre> +<p>Check the GnuTLS Library version against the provided string. +See <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION:CAPS" title="GNUTLS_VERSION"><code class="literal">GNUTLS_VERSION</code></a> for a suitable <em class="parameter"><code>req_version</code></em> + string.</p> +<p>See also <code class="function">gnutls_check_version_numeric()</code>, which provides this +functionality as a macro.</p> +<div class="refsect3"> +<a name="gnutls-check-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>req_version</p></td> +<td class="parameter_description"><p>version string to compare with, or <code class="literal">NULL</code>.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-check-version.returns"></a><h4>Returns</h4> +<p> Check that the version of the library is at +minimum the one given as a string in <em class="parameter"><code>req_version</code></em> +and return the +actual version string of the library; return <code class="literal">NULL</code> if the +condition is not met. If <code class="literal">NULL</code> is passed to this function no +check is done and only the version string is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-credentials-set"></a><h3>gnutls_credentials_set ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_credentials_set (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="type">gnutls_credentials_type_t</span></a> type</code></em>, + <em class="parameter"><code><span class="type">void</span> *cred</code></em>);</pre> +<p>Sets the needed credentials for the specified type. E.g. username, +password - or public and private keys etc. The <em class="parameter"><code>cred</code></em> + parameter is +a structure that depends on the specified type and on the current +session (client or server).</p> +<p>In order to minimize memory usage, and share credentials between +several threads gnutls keeps a pointer to cred, and not the whole +cred structure. Thus you will have to keep the structure allocated +until you call <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()"><code class="function">gnutls_deinit()</code></a>.</p> +<p>For <a class="link" href="gnutls-gnutls.html#GNUTLS-CRD-ANON:CAPS"><code class="literal">GNUTLS_CRD_ANON</code></a>, <em class="parameter"><code>cred</code></em> + should be +<span class="type">gnutls_anon_client_credentials_t</span> in case of a client. In case of +a server it should be <span class="type">gnutls_anon_server_credentials_t</span>.</p> +<p>For <a class="link" href="gnutls-gnutls.html#GNUTLS-CRD-SRP:CAPS"><code class="literal">GNUTLS_CRD_SRP</code></a>, <em class="parameter"><code>cred</code></em> + should be <span class="type">gnutls_srp_client_credentials_t</span> +in case of a client, and <span class="type">gnutls_srp_server_credentials_t</span>, in case +of a server.</p> +<p>For <a class="link" href="gnutls-gnutls.html#GNUTLS-CRD-CERTIFICATE:CAPS"><code class="literal">GNUTLS_CRD_CERTIFICATE</code></a>, <em class="parameter"><code>cred</code></em> + should be +<span class="type">gnutls_certificate_credentials_t</span>.</p> +<div class="refsect3"> +<a name="gnutls-credentials-set.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is the type of the credentials</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>the credentials to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-credentials-set.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-credentials-get"></a><h3>gnutls_credentials_get ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_credentials_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="type">gnutls_credentials_type_t</span></a> type</code></em>, + <em class="parameter"><code><span class="type">void</span> **cred</code></em>);</pre> +<p>Returns the previously provided credentials structures.</p> +<p>For <a class="link" href="gnutls-gnutls.html#GNUTLS-CRD-ANON:CAPS"><code class="literal">GNUTLS_CRD_ANON</code></a>, <em class="parameter"><code>cred</code></em> + will be +<span class="type">gnutls_anon_client_credentials_t</span> in case of a client. In case of +a server it should be <span class="type">gnutls_anon_server_credentials_t</span>.</p> +<p>For <a class="link" href="gnutls-gnutls.html#GNUTLS-CRD-SRP:CAPS"><code class="literal">GNUTLS_CRD_SRP</code></a>, <em class="parameter"><code>cred</code></em> + will be <span class="type">gnutls_srp_client_credentials_t</span> +in case of a client, and <span class="type">gnutls_srp_server_credentials_t</span>, in case +of a server.</p> +<p>For <a class="link" href="gnutls-gnutls.html#GNUTLS-CRD-CERTIFICATE:CAPS"><code class="literal">GNUTLS_CRD_CERTIFICATE</code></a>, <em class="parameter"><code>cred</code></em> + will be +<span class="type">gnutls_certificate_credentials_t</span>.</p> +<div class="refsect3"> +<a name="gnutls-credentials-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is the type of the credentials to return</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>will contain the credentials.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-credentials-get.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +<p class="since">Since: 3.3.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anon-free-server-credentials"></a><h3>gnutls_anon_free_server_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anon_free_server_credentials (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> sc</code></em>);</pre> +<p>Free a gnutls_anon_server_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-anon-free-server-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_anon_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anon-allocate-server-credentials"></a><h3>gnutls_anon_allocate_server_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_anon_allocate_server_credentials + (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> *sc</code></em>);</pre> +<p>Allocate a gnutls_anon_server_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-anon-allocate-server-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a pointer to a <span class="type">gnutls_anon_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-anon-allocate-server-credentials.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anon-set-server-dh-params"></a><h3>gnutls_anon_set_server_dh_params ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anon_set_server_dh_params (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_anon_set_server_dh_params</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set the Diffie-Hellman parameters for an +anonymous server to use. These parameters will be used in +Anonymous Diffie-Hellman cipher suites.</p> +<div class="refsect3"> +<a name="gnutls-anon-set-server-dh-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_anon_server_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dh_params</p></td> +<td class="parameter_description"><p>The Diffie-Hellman parameters.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anon-set-server-known-dh-params"></a><h3>gnutls_anon_set_server_known_dh_params ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_anon_set_server_known_dh_params + (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="type">gnutls_sec_param_t</span></a> sec_param</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_anon_set_server_known_dh_params</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set the Diffie-Hellman parameters for an +anonymous server to use. These parameters will be used in +Anonymous Diffie-Hellman cipher suites and will be selected from +the FFDHE set of RFC7919 according to the security level provided.</p> +<div class="refsect3"> +<a name="gnutls-anon-set-server-known-dh-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_anon_server_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sec_param</p></td> +<td class="parameter_description"><p>is an option of the <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><code class="literal">gnutls_sec_param_t</code></a> enumeration</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-anon-set-server-known-dh-params.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anon-set-server-params-function"></a><h3>gnutls_anon_set_server_params_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anon_set_server_params_function + (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_anon_set_server_params_function</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set a callback in order for the server to get +the Diffie-Hellman parameters for anonymous authentication. The +callback should return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success.</p> +<div class="refsect3"> +<a name="gnutls-anon-set-server-params-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_certificate_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anon-free-client-credentials"></a><h3>gnutls_anon_free_client_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anon_free_client_credentials (<em class="parameter"><code><span class="type">gnutls_anon_client_credentials_t</span> sc</code></em>);</pre> +<p>Free a gnutls_anon_client_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-anon-free-client-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_anon_client_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anon-allocate-client-credentials"></a><h3>gnutls_anon_allocate_client_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_anon_allocate_client_credentials + (<em class="parameter"><code><span class="type">gnutls_anon_client_credentials_t</span> *sc</code></em>);</pre> +<p>Allocate a gnutls_anon_client_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-anon-allocate-client-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a pointer to a <span class="type">gnutls_anon_client_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-anon-allocate-client-credentials.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-free-credentials"></a><h3>gnutls_certificate_free_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_free_credentials (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre> +<p>Free a gnutls_certificate_credentials_t structure.</p> +<p>This function does not free any temporary parameters associated +with this structure (ie RSA and DH parameters are not freed by this +function).</p> +<div class="refsect3"> +<a name="gnutls-certificate-free-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-allocate-credentials"></a><h3>gnutls_certificate_allocate_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_allocate_credentials + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> *res</code></em>);</pre> +<p>Allocate a gnutls_certificate_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-certificate-allocate-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a pointer to a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-allocate-credentials.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-issuer"></a><h3>gnutls_certificate_get_issuer ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_get_issuer (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *issuer</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the issuer of a given certificate. +If the flag <a class="link" href="gnutls-x509.html#GNUTLS-TL-GET-COPY:CAPS"><code class="literal">GNUTLS_TL_GET_COPY</code></a> is specified a copy of the issuer +will be returned which must be freed using <a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()"><code class="function">gnutls_x509_crt_deinit()</code></a>. +In that case the provided <em class="parameter"><code>issuer</code></em> + must not be initialized.</p> +<p>As with <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-issuer" title="gnutls_x509_trust_list_get_issuer ()"><code class="function">gnutls_x509_trust_list_get_issuer()</code></a> this function requires +the <a class="link" href="gnutls-x509.html#GNUTLS-TL-GET-COPY:CAPS"><code class="literal">GNUTLS_TL_GET_COPY</code></a> flag in order to operate with PKCS<span class="type">11</span> trust +lists in a thread-safe way.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-issuer.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>is the certificate to find issuer for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>Will hold the issuer if any. Should be treated as constant.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Use zero or <a class="link" href="gnutls-x509.html#GNUTLS-TL-GET-COPY:CAPS"><code class="literal">GNUTLS_TL_GET_COPY</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-get-issuer.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-crt-raw"></a><h3>gnutls_certificate_get_crt_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_get_crt_raw (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx1</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx2</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cert</code></em>);</pre> +<p>This function will return the DER encoded certificate of the +server or any other certificate on its certificate chain (based on <em class="parameter"><code>idx2</code></em> +). +The returned data should be treated as constant and only accessible during the lifetime +of <em class="parameter"><code>sc</code></em> +. The <em class="parameter"><code>idx1</code></em> + matches the value <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key" title="gnutls_certificate_set_x509_key ()"><code class="function">gnutls_certificate_set_x509_key()</code></a> and friends +functions.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-crt-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx1</p></td> +<td class="parameter_description"><p>the index of the certificate chain if multiple are present</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx2</p></td> +<td class="parameter_description"><p>the index of the certificate in the chain. Zero gives the server's certificate.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>Will hold the DER encoded certificate.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-get-crt-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. In case the indexes are out of bounds <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +is returned.</p> +</div> +<p class="since">Since: 3.2.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-free-keys"></a><h3>gnutls_certificate_free_keys ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_free_keys (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre> +<p>This function will delete all the keys and the certificates associated +with the given credentials. This function must not be called when a +TLS negotiation that uses the credentials is in progress.</p> +<div class="refsect3"> +<a name="gnutls-certificate-free-keys.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-free-cas"></a><h3>gnutls_certificate_free_cas ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_free_cas (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre> +<p>This function was operational on very early versions of gnutls. +Due to internal refactorings and the fact that this was hardly ever +used, it is currently a no-op.</p> +<div class="refsect3"> +<a name="gnutls-certificate-free-cas.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-free-ca-names"></a><h3>gnutls_certificate_free_ca_names ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_free_ca_names (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre> +<p>This function will delete all the CA name in the given +credentials. Clients may call this to save some memory since in +client side the CA names are not used. Servers might want to use +this function if a large list of trusted CAs is present and +sending the names of it would just consume bandwidth without providing +information to client.</p> +<p>CA names are used by servers to advertise the CAs they support to +clients.</p> +<div class="refsect3"> +<a name="gnutls-certificate-free-ca-names.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-free-crls"></a><h3>gnutls_certificate_free_crls ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_free_crls (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre> +<p>This function will delete all the CRLs associated +with the given credentials.</p> +<div class="refsect3"> +<a name="gnutls-certificate-free-crls.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-dh-params"></a><h3>gnutls_certificate_set_dh_params ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_dh_params (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_certificate_set_dh_params</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set the Diffie-Hellman parameters for a +certificate server to use. These parameters will be used in +Ephemeral Diffie-Hellman cipher suites. Note that only a pointer +to the parameters are stored in the certificate handle, so you +must not deallocate the parameters before the certificate is deallocated.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-dh-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_certificate_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dh_params</p></td> +<td class="parameter_description"><p>the Diffie-Hellman parameters.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-known-dh-params"></a><h3>gnutls_certificate_set_known_dh_params ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_known_dh_params + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="type">gnutls_sec_param_t</span></a> sec_param</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_certificate_set_known_dh_params</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set the Diffie-Hellman parameters for a +certificate server to use. These parameters will be used in +Ephemeral Diffie-Hellman cipher suites and will be selected from +the FFDHE set of RFC7919 according to the security level provided.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-known-dh-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_certificate_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sec_param</p></td> +<td class="parameter_description"><p>is an option of the <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><code class="literal">gnutls_sec_param_t</code></a> enumeration</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-known-dh-params.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-verify-flags"></a><h3>gnutls_certificate_set_verify_flags ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_verify_flags (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set the flags to be used for verification +of certificates and override any defaults. The provided flags must be an OR of the +<a class="link" href="gnutls-x509.html#gnutls-certificate-verify-flags" title="enum gnutls_certificate_verify_flags"><span class="type">gnutls_certificate_verify_flags</span></a> enumerations.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-verify-flags.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_certificate_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>are the flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-verify-flags"></a><h3>gnutls_certificate_get_verify_flags ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +gnutls_certificate_get_verify_flags (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>);</pre> +<p>Returns the verification flags set with +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-flags" title="gnutls_certificate_set_verify_flags ()"><code class="function">gnutls_certificate_set_verify_flags()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-verify-flags.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_certificate_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-get-verify-flags.returns"></a><h4>Returns</h4> +<p> The certificate verification flags used by <em class="parameter"><code>res</code></em> +.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-flags"></a><h3>gnutls_certificate_set_flags ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_flags (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> Param1</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will set flags to tweak the operation of +the credentials structure. See the <a class="link" href="gnutls-gnutls.html#gnutls-certificate-flags" title="enum gnutls_certificate_flags"><span class="type">gnutls_certificate_flags</span></a> enumerations +for more information on the available flags.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-flags.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_certificate_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>are the flags of <a class="link" href="gnutls-gnutls.html#gnutls-certificate-flags" title="enum gnutls_certificate_flags"><span class="type">gnutls_certificate_flags</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-verify-limits"></a><h3>gnutls_certificate_set_verify_limits ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_verify_limits (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> max_bits</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> max_depth</code></em>);</pre> +<p>This function will set some upper limits for the default +verification function, <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>, to avoid +denial of service attacks. You can set them to zero to disable +limits.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-verify-limits.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_certificate_credentials type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>max_bits</p></td> +<td class="parameter_description"><p>is the number of bits of an acceptable certificate (default 8200)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>max_depth</p></td> +<td class="parameter_description"><p>is maximum depth of the verification of a certificate chain (default 5)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-system-trust"></a><h3>gnutls_certificate_set_x509_system_trust ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_system_trust + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>);</pre> +<p>This function adds the system's default trusted CAs in order to +verify client or server certificates.</p> +<p>In the case the system is currently unsupported <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a> +is returned.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-system-trust.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-system-trust.returns"></a><h4>Returns</h4> +<p> the number of certificates processed or a negative error code +on error.</p> +</div> +<p class="since">Since: 3.0.20</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-trust-file"></a><h3>gnutls_certificate_set_x509_trust_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_trust_file + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *cafile</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre> +<p>This function adds the trusted CAs in order to verify client or +server certificates. In case of a client this is not required to +be called if the certificates are not verified using +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>. This function may be called +multiple times.</p> +<p>In case of a server the names of the CAs set here will be sent to +the client if a certificate request is sent. This can be disabled +using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()"><code class="function">gnutls_certificate_send_x509_rdn_sequence()</code></a>.</p> +<p>This function can also accept URLs. In that case it +will import all certificates that are marked as trusted. Note +that the supported URLs are the ones indicated by <a class="link" href="gnutls-gnutls.html#gnutls-url-is-supported" title="gnutls_url_is_supported ()"><code class="function">gnutls_url_is_supported()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-trust-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cafile</p></td> +<td class="parameter_description"><p>is a file containing the list of trusted CAs (DER or PEM list)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-trust-file.returns"></a><h4>Returns</h4> +<p> the number of certificates processed</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-trust-dir"></a><h3>gnutls_certificate_set_x509_trust_dir ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_trust_dir (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *ca_dir</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre> +<p>This function adds the trusted CAs present in the directory in order to +verify client or server certificates. This function is identical +to <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-file" title="gnutls_certificate_set_x509_trust_file ()"><code class="function">gnutls_certificate_set_x509_trust_file()</code></a> but loads all certificates +in a directory.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-trust-dir.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca_dir</p></td> +<td class="parameter_description"><p>is a directory containing the list of trusted CAs (DER or PEM list)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-trust-dir.returns"></a><h4>Returns</h4> +<p> the number of certificates processed</p> +</div> +<p class="since">Since: 3.3.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-trust-mem"></a><h3>gnutls_certificate_set_x509_trust_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_trust_mem (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *ca</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre> +<p>This function adds the trusted CAs in order to verify client or +server certificates. In case of a client this is not required to be +called if the certificates are not verified using +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>. This function may be called +multiple times.</p> +<p>In case of a server the CAs set here will be sent to the client if +a certificate request is sent. This can be disabled using +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()"><code class="function">gnutls_certificate_send_x509_rdn_sequence()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-trust-mem.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca</p></td> +<td class="parameter_description"><p>is a list of trusted CAs or a DER certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is DER or PEM</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-trust-mem.returns"></a><h4>Returns</h4> +<p> the number of certificates processed or a negative error code +on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-crl-file"></a><h3>gnutls_certificate_set_x509_crl_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_crl_file (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *crlfile</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre> +<p>This function adds the trusted CRLs in order to verify client or server +certificates. In case of a client this is not required +to be called if the certificates are not verified using +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>. +This function may be called multiple times.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-crl-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crlfile</p></td> +<td class="parameter_description"><p>is a file containing the list of verified CRLs (DER or PEM list)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-crl-file.returns"></a><h4>Returns</h4> +<p> number of CRLs processed or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-crl-mem"></a><h3>gnutls_certificate_set_x509_crl_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_crl_mem (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *CRL</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre> +<p>This function adds the trusted CRLs in order to verify client or +server certificates. In case of a client this is not required to +be called if the certificates are not verified using +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>. This function may be called +multiple times.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-crl-mem.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>CRL</p></td> +<td class="parameter_description"><p>is a list of trusted CRLs. They should have been verified before.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is DER or PEM</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-crl-mem.returns"></a><h4>Returns</h4> +<p> number of CRLs processed, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-key-file"></a><h3>gnutls_certificate_set_x509_key_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_key_file (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre> +<p>This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t type. This function may be +called more than once, in case multiple keys/certificates exist for +the server. For clients that need to send more than its own end +entity certificate, e.g., also an intermediate CA cert, then the +<em class="parameter"><code>certfile</code></em> + must contain the ordered certificate chain.</p> +<p>Note that the names in the certificate provided will be considered +when selecting the appropriate certificate to use (in case of multiple +certificate/key pairs).</p> +<p>This function can also accept URLs at <em class="parameter"><code>keyfile</code></em> + and <em class="parameter"><code>certfile</code></em> +. In that case it +will use the private key and certificate indicated by the URLs. Note +that the supported URLs are the ones indicated by <a class="link" href="gnutls-gnutls.html#gnutls-url-is-supported" title="gnutls_url_is_supported ()"><code class="function">gnutls_url_is_supported()</code></a>.</p> +<p>In case the <em class="parameter"><code>certfile</code></em> + is provided as a PKCS <span class="type">11</span> URL, then the certificate, and its +present issuers in the token are imported (i.e., forming the required trust chain).</p> +<p>If that function fails to load the <em class="parameter"><code>res</code></em> + structure is at an undefined state, it must +not be reused to load other keys or certificates.</p> +<p>Note that, this function by default returns zero on success and a negative value on error. +Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +it returns an index (greater or equal to zero). That index can be used to other functions to refer to the added key-pair.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>certfile</p></td> +<td class="parameter_description"><p>is a file that containing the certificate list (path) for +the specified private key, in PKCS7 format, or a list of certificates</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>keyfile</p></td> +<td class="parameter_description"><p>is a file that contains the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key-file.returns"></a><h4>Returns</h4> +<p> On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).</p> +</div> +<p class="since">Since: 3.1.11</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-key-file2"></a><h3>gnutls_certificate_set_x509_key_file2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_key_file2 (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t type. This function may be +called more than once, in case multiple keys/certificates exist for +the server. For clients that need to send more than its own end +entity certificate, e.g., also an intermediate CA cert, then the +<em class="parameter"><code>certfile</code></em> + must contain the ordered certificate chain.</p> +<p>Note that the names in the certificate provided will be considered +when selecting the appropriate certificate to use (in case of multiple +certificate/key pairs).</p> +<p>This function can also accept URLs at <em class="parameter"><code>keyfile</code></em> + and <em class="parameter"><code>certfile</code></em> +. In that case it +will use the private key and certificate indicated by the URLs. Note +that the supported URLs are the ones indicated by <a class="link" href="gnutls-gnutls.html#gnutls-url-is-supported" title="gnutls_url_is_supported ()"><code class="function">gnutls_url_is_supported()</code></a>. +Before GnuTLS 3.4.0 when a URL was specified, the <em class="parameter"><code>pass</code></em> + part was ignored and a +PIN callback had to be registered, this is no longer the case in current releases.</p> +<p>In case the <em class="parameter"><code>certfile</code></em> + is provided as a PKCS <span class="type">11</span> URL, then the certificate, and its +present issuers in the token are imported (i.e., forming the required trust chain).</p> +<p>If that function fails to load the <em class="parameter"><code>res</code></em> + structure is at an undefined state, it must +not be reused to load other keys or certificates.</p> +<p>Note that, this function by default returns zero on success and a negative value on error. +Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +it returns an index (greater or equal to zero). That index can be used to other functions to refer to the added key-pair.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key-file2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>certfile</p></td> +<td class="parameter_description"><p>is a file that containing the certificate list (path) for +the specified private key, in PKCS7 format, or a list of certificates</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>keyfile</p></td> +<td class="parameter_description"><p>is a file that contains the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>is the password of the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>an ORed sequence of gnutls_pkcs_encrypt_flags_t</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key-file2.returns"></a><h4>Returns</h4> +<p> On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-key-mem"></a><h3>gnutls_certificate_set_x509_key_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_key_mem (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre> +<p>This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t type. This function may be called +more than once, in case multiple keys/certificates exist for the +server.</p> +<p>Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates +is supported. This means that certificates intended for signing cannot +be used for ciphersuites that require encryption.</p> +<p>If the certificate and the private key are given in PEM encoding +then the strings that hold their values must be null terminated.</p> +<p>The <em class="parameter"><code>key</code></em> + may be <code class="literal">NULL</code> if you are using a sign callback, see +<code class="function">gnutls_sign_callback_set()</code>.</p> +<p>Note that, this function by default returns zero on success and a negative value on error. +Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +it returns an index (greater or equal to zero). That index can be used to other functions to refer to the added key-pair.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key-mem.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>contains a certificate list (path) for the specified private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is the private key, or <code class="literal">NULL</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key-mem.returns"></a><h4>Returns</h4> +<p> On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-key-mem2"></a><h3>gnutls_certificate_set_x509_key_mem2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_key_mem2 (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t type. This function may be called +more than once, in case multiple keys/certificates exist for the +server.</p> +<p>Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates +is supported. This means that certificates intended for signing cannot +be used for ciphersuites that require encryption.</p> +<p>If the certificate and the private key are given in PEM encoding +then the strings that hold their values must be null terminated.</p> +<p>The <em class="parameter"><code>key</code></em> + may be <code class="literal">NULL</code> if you are using a sign callback, see +<code class="function">gnutls_sign_callback_set()</code>.</p> +<p>Note that, this function by default returns zero on success and a negative value on error. +Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +it returns an index (greater or equal to zero). That index can be used to other functions to refer to the added key-pair.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key-mem2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>contains a certificate list (path) for the specified private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is the private key, or <code class="literal">NULL</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>is the key's password</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>an ORed sequence of gnutls_pkcs_encrypt_flags_t</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key-mem2.returns"></a><h4>Returns</h4> +<p> On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-send-x509-rdn-sequence"></a><h3>gnutls_certificate_send_x509_rdn_sequence ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_send_x509_rdn_sequence + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">int</span> status</code></em>);</pre> +<p>If status is non zero, this function will order gnutls not to send +the rdnSequence in the certificate request message. That is the +server will not advertise its trusted CAs to the peer. If status +is zero then the default behaviour will take effect, which is to +advertise the server's trusted CAs.</p> +<p>This function has no effect in clients, and in authentication +methods other than certificate with X.509 certificates.</p> +<div class="refsect3"> +<a name="gnutls-certificate-send-x509-rdn-sequence.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>status</p></td> +<td class="parameter_description"><p>is 0 or 1</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-simple-pkcs12-file"></a><h3>gnutls_certificate_set_x509_simple_pkcs12_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_simple_pkcs12_file + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pkcs12file</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre> +<p>This function sets a certificate/private key pair and/or a CRL in +the gnutls_certificate_credentials_t type. This function may +be called more than once (in case multiple keys/certificates exist +for the server).</p> +<p>PKCS<span class="type">12</span> files with a MAC, encrypted bags and PKCS #8 +private keys are supported. However, +only password based security, and the same password for all +operations, are supported.</p> +<p>PKCS<span class="type">12</span> file may contain many keys and/or certificates, and this +function will try to auto-detect based on the key ID the certificate +and key pair to use. If the PKCS<span class="type">12</span> file contain the issuer of +the selected certificate, it will be appended to the certificate +to form a chain.</p> +<p>If more than one private keys are stored in the PKCS<span class="type">12</span> file, +then only one key will be read (and it is undefined which one).</p> +<p>It is believed that the limitations of this function is acceptable +for most usage, and that any more flexibility would introduce +complexity that would make it harder to use this functionality at +all.</p> +<p>Note that, this function by default returns zero on success and a negative value on error. +Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +it returns an index (greater or equal to zero). That index can be used to other functions to refer to the added key-pair.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-simple-pkcs12-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pkcs12file</p></td> +<td class="parameter_description"><p>filename of file containing PKCS<span class="type">12</span> blob.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is PEM or DER of the <em class="parameter"><code>pkcs12file</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>optional password used to decrypt PKCS<span class="type">12</span> file, bags and keys.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-simple-pkcs12-file.returns"></a><h4>Returns</h4> +<p> On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-simple-pkcs12-mem"></a><h3>gnutls_certificate_set_x509_simple_pkcs12_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_simple_pkcs12_mem + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p12blob</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre> +<p>This function sets a certificate/private key pair and/or a CRL in +the gnutls_certificate_credentials_t type. This function may +be called more than once (in case multiple keys/certificates exist +for the server).</p> +<p>Encrypted PKCS<span class="type">12</span> bags and PKCS#8 private keys are supported. However, +only password based security, and the same password for all +operations, are supported.</p> +<p>PKCS<span class="type">12</span> file may contain many keys and/or certificates, and this +function will try to auto-detect based on the key ID the certificate +and key pair to use. If the PKCS<span class="type">12</span> file contain the issuer of +the selected certificate, it will be appended to the certificate +to form a chain.</p> +<p>If more than one private keys are stored in the PKCS<span class="type">12</span> file, +then only one key will be read (and it is undefined which one).</p> +<p>It is believed that the limitations of this function is acceptable +for most usage, and that any more flexibility would introduce +complexity that would make it harder to use this functionality at +all.</p> +<p>Note that, this function by default returns zero on success and a negative value on error. +Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +it returns an index (greater or equal to zero). That index can be used to other functions to refer to the added key-pair.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-simple-pkcs12-mem.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p12blob</p></td> +<td class="parameter_description"><p>the PKCS<span class="type">12</span> blob.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is PEM or DER of the <em class="parameter"><code>pkcs12file</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>optional password used to decrypt PKCS<span class="type">12</span> file, bags and keys.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-simple-pkcs12-mem.returns"></a><h4>Returns</h4> +<p> On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-key"></a><h3>gnutls_certificate_set_x509_key ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_key (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *cert_list</code></em>, + <em class="parameter"><code><span class="type">int</span> cert_list_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t type. This function may be +called more than once, in case multiple keys/certificates exist for +the server. For clients that wants to send more than their own end +entity certificate (e.g., also an intermediate CA cert) then put +the certificate chain in <em class="parameter"><code>cert_list</code></em> +.</p> +<p>Note that the certificates and keys provided, can be safely deinitialized +after this function is called.</p> +<p>If that function fails to load the <em class="parameter"><code>res</code></em> + type is at an undefined state, it must +not be reused to load other keys or certificates.</p> +<p>Note that, this function by default returns zero on success and a negative value on error. +Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +it returns an index (greater or equal to zero). That index can be used to other functions to refer to the added key-pair.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_list</p></td> +<td class="parameter_description"><p>contains a certificate list (path) for the specified private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_list_size</p></td> +<td class="parameter_description"><p>holds the size of the certificate list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-key.returns"></a><h4>Returns</h4> +<p> On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).</p> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-trust"></a><h3>gnutls_certificate_set_x509_trust ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_trust (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *ca_list</code></em>, + <em class="parameter"><code><span class="type">int</span> ca_list_size</code></em>);</pre> +<p>This function adds the trusted CAs in order to verify client +or server certificates. In case of a client this is not required +to be called if the certificates are not verified using +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>. +This function may be called multiple times.</p> +<p>In case of a server the CAs set here will be sent to the client if +a certificate request is sent. This can be disabled using +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()"><code class="function">gnutls_certificate_send_x509_rdn_sequence()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-trust.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca_list</p></td> +<td class="parameter_description"><p>is a list of trusted CAs</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca_list_size</p></td> +<td class="parameter_description"><p>holds the size of the CA list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-trust.returns"></a><h4>Returns</h4> +<p> the number of certificates processed or a negative error code +on error.</p> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-x509-crl"></a><h3>gnutls_certificate_set_x509_crl ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_x509_crl (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> *crl_list</code></em>, + <em class="parameter"><code><span class="type">int</span> crl_list_size</code></em>);</pre> +<p>This function adds the trusted CRLs in order to verify client or +server certificates. In case of a client this is not required to +be called if the certificates are not verified using +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>. This function may be called +multiple times.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-crl.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl_list</p></td> +<td class="parameter_description"><p>is a list of trusted CRLs. They should have been verified before.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl_list_size</p></td> +<td class="parameter_description"><p>holds the size of the crl_list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-x509-crl.returns"></a><h4>Returns</h4> +<p> number of CRLs processed, or a negative error code on error.</p> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-x509-key"></a><h3>gnutls_certificate_get_x509_key ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_get_x509_key (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> index</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> *key</code></em>);</pre> +<p>Obtains a X.509 private key that has been stored in <em class="parameter"><code>res</code></em> + with one of +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key" title="gnutls_certificate_set_x509_key ()"><code class="function">gnutls_certificate_set_x509_key()</code></a>, <a class="link" href="gnutls-abstract.html#gnutls-certificate-set-key" title="gnutls_certificate_set_key ()"><code class="function">gnutls_certificate_set_key()</code></a>, +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file" title="gnutls_certificate_set_x509_key_file ()"><code class="function">gnutls_certificate_set_x509_key_file()</code></a>, +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file2" title="gnutls_certificate_set_x509_key_file2 ()"><code class="function">gnutls_certificate_set_x509_key_file2()</code></a>, +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem" title="gnutls_certificate_set_x509_key_mem ()"><code class="function">gnutls_certificate_set_x509_key_mem()</code></a>, or +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem2" title="gnutls_certificate_set_x509_key_mem2 ()"><code class="function">gnutls_certificate_set_x509_key_mem2()</code></a>. The returned key must be deallocated +with <a class="link" href="gnutls-x509.html#gnutls-x509-privkey-deinit" title="gnutls_x509_privkey_deinit ()"><code class="function">gnutls_x509_privkey_deinit()</code></a> when no longer needed.</p> +<p>The <em class="parameter"><code>index</code></em> + matches the return value of <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key" title="gnutls_certificate_set_x509_key ()"><code class="function">gnutls_certificate_set_x509_key()</code></a> and friends +functions, when the <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> flag is set.</p> +<p>If there is no key with the given index, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned. If the key with the +given index is not a X.509 key, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-x509-key.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>index</p></td> +<td class="parameter_description"><p>The index of the key to obtain.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Location to store the key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-get-x509-key.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success, or a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-x509-crt"></a><h3>gnutls_certificate_get_x509_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_get_x509_crt (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> index</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> **crt_list</code></em>, + <em class="parameter"><code><span class="type">unsigned</span> *crt_list_size</code></em>);</pre> +<p>Obtains a X.509 certificate list that has been stored in <em class="parameter"><code>res</code></em> + with one of +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key" title="gnutls_certificate_set_x509_key ()"><code class="function">gnutls_certificate_set_x509_key()</code></a>, <a class="link" href="gnutls-abstract.html#gnutls-certificate-set-key" title="gnutls_certificate_set_key ()"><code class="function">gnutls_certificate_set_key()</code></a>, +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file" title="gnutls_certificate_set_x509_key_file ()"><code class="function">gnutls_certificate_set_x509_key_file()</code></a>, +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file2" title="gnutls_certificate_set_x509_key_file2 ()"><code class="function">gnutls_certificate_set_x509_key_file2()</code></a>, +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem" title="gnutls_certificate_set_x509_key_mem ()"><code class="function">gnutls_certificate_set_x509_key_mem()</code></a>, or +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem2" title="gnutls_certificate_set_x509_key_mem2 ()"><code class="function">gnutls_certificate_set_x509_key_mem2()</code></a>. Each certificate in the returned +certificate list must be deallocated with <a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()"><code class="function">gnutls_x509_crt_deinit()</code></a>, and the +list itself must be freed with <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<p>The <em class="parameter"><code>index</code></em> + matches the return value of <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key" title="gnutls_certificate_set_x509_key ()"><code class="function">gnutls_certificate_set_x509_key()</code></a> and friends +functions, when the <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> flag is set.</p> +<p>If there is no certificate with the given index, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned. If the certificate +with the given index is not a X.509 certificate, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> +is returned. The returned certificates must be deinitialized after +use, and the <em class="parameter"><code>crt_list</code></em> + pointer must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-x509-crt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>index</p></td> +<td class="parameter_description"><p>The index of the certificate list to obtain.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt_list</p></td> +<td class="parameter_description"><p>Where to store the certificate list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt_list_size</p></td> +<td class="parameter_description"><p>Will hold the number of certificates.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-get-x509-crt.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success, or a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-ocsp-status-request-function"></a><h3>gnutls_certificate_set_ocsp_status_request_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_ocsp_status_request_function + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">gnutls_status_request_ocsp_func</span> ocsp_func</code></em>, + <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre> +<p>This function is to be used by server to register a callback to +handle OCSP status requests from the client. The callback will be +invoked if the client supplied a status-request OCSP extension. +The callback function prototype is:</p> +<p>typedef int (*gnutls_status_request_ocsp_func) + (gnutls_session_t session, void *ptr, gnutls_datum_t *ocsp_response);</p> +<p>The callback will be invoked if the client requests an OCSP certificate +status. The callback may return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-STATUS:CAPS" title="GNUTLS_E_NO_CERTIFICATE_STATUS"><code class="literal">GNUTLS_E_NO_CERTIFICATE_STATUS</code></a>, if +there is no recent OCSP response. If the callback returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a>, +it is expected to have the <em class="parameter"><code>ocsp_response</code></em> + field set with a valid (DER-encoded) +OCSP response. The response must be a value allocated using <code class="function">gnutls_malloc()</code>, +and will be deinitialized by the caller.</p> +<p>It is possible to set a specific callback for each provided certificate +using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-function2" title="gnutls_certificate_set_ocsp_status_request_function2 ()"><code class="function">gnutls_certificate_set_ocsp_status_request_function2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-ocsp-status-request-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ocsp_func</p></td> +<td class="parameter_description"><p>function pointer to OCSP status request callback.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>opaque pointer passed to callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-ocsp-status-request-function2"></a><h3>gnutls_certificate_set_ocsp_status_request_function2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_ocsp_status_request_function2 + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx</code></em>, + <em class="parameter"><code><span class="type">gnutls_status_request_ocsp_func</span> ocsp_func</code></em>, + <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre> +<p>This function is to be used by server to register a callback to +provide OCSP status requests that correspond to the indexed certificate chain +from the client. The callback will be invoked if the client supplied a +status-request OCSP extension.</p> +<p>The callback function prototype is:</p> +<p>typedef int (*gnutls_status_request_ocsp_func) + (gnutls_session_t session, void *ptr, gnutls_datum_t *ocsp_response);</p> +<p>The callback will be invoked if the client requests an OCSP certificate +status. The callback may return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-STATUS:CAPS" title="GNUTLS_E_NO_CERTIFICATE_STATUS"><code class="literal">GNUTLS_E_NO_CERTIFICATE_STATUS</code></a>, if +there is no recent OCSP response. If the callback returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a>, +it is expected to have the <em class="parameter"><code>ocsp_response</code></em> + field set with a valid (DER-encoded) +OCSP response. The response must be a value allocated using <code class="function">gnutls_malloc()</code>, +and will be deinitialized by the caller.</p> +<p>Note: the ability to set multiple OCSP responses per credential +structure via the index <em class="parameter"><code>idx</code></em> + was added in version 3.5.6. To keep +backwards compatibility, it requires using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +with the <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> flag to make the set certificate +functions return an index usable by this function.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-ocsp-status-request-function2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>is a certificate index as returned by <a class="link" href="gnutls-abstract.html#gnutls-certificate-set-key" title="gnutls_certificate_set_key ()"><code class="function">gnutls_certificate_set_key()</code></a> and friends</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ocsp_func</p></td> +<td class="parameter_description"><p>function pointer to OCSP status request callback.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>opaque pointer passed to callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-ocsp-status-request-function2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +<p class="since">Since: 3.5.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-ocsp-status-request-file"></a><h3>gnutls_certificate_set_ocsp_status_request_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_ocsp_status_request_file + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *response_file</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx</code></em>);</pre> +<p>This function loads the provided OCSP response. It will be +sent to the client if requests an OCSP certificate status for +the certificate chain specified by <em class="parameter"><code>idx</code></em> +.</p> +<p>Note: the ability to set multiple OCSP responses per credential +structure via the index <em class="parameter"><code>idx</code></em> + was added in version 3.5.6. To keep +backwards compatibility, it requires using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +with the <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> flag to make the set certificate +functions return an index usable by this function.</p> +<p>This function can be called multiple times since GnuTLS 3.6.3 +when multiple responses which apply to the chain are available. +If the response provided does not match any certificates present +in the chain, the code <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OCSP-MISMATCH-WITH-CERTS:CAPS" title="GNUTLS_E_OCSP_MISMATCH_WITH_CERTS"><code class="literal">GNUTLS_E_OCSP_MISMATCH_WITH_CERTS</code></a> is returned. +To revert to the previous behavior set the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-SKIP-OCSP-RESPONSE-CHECK:CAPS"><code class="literal">GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK</code></a> +in the certificate credentials structure. In that case, only the +end-certificate's OCSP response can be set. +If the response is already expired at the time of loading the code +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED:CAPS" title="GNUTLS_E_EXPIRED"><code class="literal">GNUTLS_E_EXPIRED</code></a> is returned.</p> +<p>To revert to the previous behavior of this function which does not return +any errors, set the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-SKIP-OCSP-RESPONSE-CHECK:CAPS"><code class="literal">GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK</code></a></p> +<div class="refsect3"> +<a name="gnutls-certificate-set-ocsp-status-request-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a credentials structure.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>response_file</p></td> +<td class="parameter_description"><p>a filename of the OCSP response</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>is a certificate index as returned by <a class="link" href="gnutls-abstract.html#gnutls-certificate-set-key" title="gnutls_certificate_set_key ()"><code class="function">gnutls_certificate_set_key()</code></a> and friends</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-ocsp-status-request-file.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-ocsp-status-request-file2"></a><h3>gnutls_certificate_set_ocsp_status_request_file2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_ocsp_status_request_file2 + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *response_file</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> fmt</code></em>);</pre> +<p>This function loads the OCSP responses to be sent to the +peer for the certificate chain specified by <em class="parameter"><code>idx</code></em> +. When <em class="parameter"><code>fmt</code></em> + is +set to PEM, multiple responses can be loaded.</p> +<p>This function must be called after setting any certificates, and +cannot be used for certificates that are provided via a callback -- +that is when <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-retrieve-function" title="gnutls_certificate_set_retrieve_function ()"><code class="function">gnutls_certificate_set_retrieve_function()</code></a> is used. In +that case consider using <a class="link" href="gnutls-abstract.html#gnutls-certificate-set-retrieve-function3" title="gnutls_certificate_set_retrieve_function3 ()"><code class="function">gnutls_certificate_set_retrieve_function3()</code></a>.</p> +<p>This function can be called multiple times when multiple responses +applicable to the certificate chain are available. +If the response provided does not match any certificates present +in the chain, the code <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OCSP-MISMATCH-WITH-CERTS:CAPS" title="GNUTLS_E_OCSP_MISMATCH_WITH_CERTS"><code class="literal">GNUTLS_E_OCSP_MISMATCH_WITH_CERTS</code></a> is returned. +If the response is already expired at the time of loading the code +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED:CAPS" title="GNUTLS_E_EXPIRED"><code class="literal">GNUTLS_E_EXPIRED</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-ocsp-status-request-file2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a credentials structure.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>response_file</p></td> +<td class="parameter_description"><p>a filename of the OCSP response</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>is a certificate index as returned by <a class="link" href="gnutls-abstract.html#gnutls-certificate-set-key" title="gnutls_certificate_set_key ()"><code class="function">gnutls_certificate_set_key()</code></a> and friends</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fmt</p></td> +<td class="parameter_description"><p>is PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-ocsp-status-request-file2.returns"></a><h4>Returns</h4> +<p> On success, the number of loaded responses is returned, +otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-ocsp-status-request-mem"></a><h3>gnutls_certificate_set_ocsp_status_request_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_ocsp_status_request_mem + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *resp</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> fmt</code></em>);</pre> +<p>This function sets the OCSP responses to be sent to the +peer for the certificate chain specified by <em class="parameter"><code>idx</code></em> +. When <em class="parameter"><code>fmt</code></em> + is set +to PEM, multiple responses can be loaded.</p> +<p>Note: the ability to set multiple OCSP responses per credential +structure via the index <em class="parameter"><code>idx</code></em> + was added in version 3.5.6. To keep +backwards compatibility, it requires using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> +with the <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> flag to make the set certificate +functions return an index usable by this function.</p> +<p>This function must be called after setting any certificates, and +cannot be used for certificates that are provided via a callback -- +that is when <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-retrieve-function" title="gnutls_certificate_set_retrieve_function ()"><code class="function">gnutls_certificate_set_retrieve_function()</code></a> is used.</p> +<p>This function can be called multiple times when multiple responses which +apply to the certificate chain are available. +If the response provided does not match any certificates present +in the chain, the code <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OCSP-MISMATCH-WITH-CERTS:CAPS" title="GNUTLS_E_OCSP_MISMATCH_WITH_CERTS"><code class="literal">GNUTLS_E_OCSP_MISMATCH_WITH_CERTS</code></a> is returned. +If the response is already expired at the time of loading the code +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED:CAPS" title="GNUTLS_E_EXPIRED"><code class="literal">GNUTLS_E_EXPIRED</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-ocsp-status-request-mem.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a credentials structure.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>resp_data</p></td> +<td class="parameter_description"><p>a memory buffer holding an OCSP response</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>is a certificate index as returned by <a class="link" href="gnutls-abstract.html#gnutls-certificate-set-key" title="gnutls_certificate_set_key ()"><code class="function">gnutls_certificate_set_key()</code></a> and friends</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fmt</p></td> +<td class="parameter_description"><p>is PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-ocsp-status-request-mem.returns"></a><h4>Returns</h4> +<p> On success, the number of loaded responses is returned, +otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-ocsp-expiration"></a><h3>gnutls_certificate_get_ocsp_expiration ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_certificate_get_ocsp_expiration + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx</code></em>, + <em class="parameter"><code><span class="type">int</span> oidx</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function returns the validity of the loaded OCSP responses, +to provide information on when to reload/refresh them.</p> +<p>Note that the credentials structure should be read-only when in +use, thus when reloading, either the credentials structure must not +be in use by any sessions, or a new credentials structure should be +allocated for new sessions.</p> +<p>When <em class="parameter"><code>oidx</code></em> + is (-1) then the minimum refresh time for all responses +is returned. Otherwise the index specifies the response corresponding +to the <em class="parameter"><code>odix</code></em> + certificate in the certificate chain.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-ocsp-expiration.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a credentials structure.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>is a certificate chain index as returned by <a class="link" href="gnutls-abstract.html#gnutls-certificate-set-key" title="gnutls_certificate_set_key ()"><code class="function">gnutls_certificate_set_key()</code></a> and friends</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oidx</p></td> +<td class="parameter_description"><p>is an OCSP response index</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-get-ocsp-expiration.returns"></a><h4>Returns</h4> +<p> On success, the expiration time of the OCSP response. Otherwise +(time_t)(-1) on error, or (time_t)-2 on out of bounds.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ocsp-status-request-enable-client"></a><h3>gnutls_ocsp_status_request_enable_client ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_ocsp_status_request_enable_client + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *responder_id</code></em>, + <em class="parameter"><code><span class="type">size_t</span> responder_id_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *request_extensions</code></em>);</pre> +<p>This function is to be used by clients to request OCSP response +from the server, using the "status_request" TLS extension. Only +OCSP status type is supported.</p> +<p>Previous versions of GnuTLS supported setting <em class="parameter"><code>responder_id</code></em> + and +<em class="parameter"><code>extensions</code></em> + fields, but due to the difficult semantics of the +parameter usage, and other issues, this support was removed +since 3.6.0 and these parameters must be set to <code class="literal">NULL</code>.</p> +<div class="refsect3"> +<a name="gnutls-ocsp-status-request-enable-client.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>responder_id</p></td> +<td class="parameter_description"><p>ignored, must be <code class="literal">NULL</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>responder_id_size</p></td> +<td class="parameter_description"><p>ignored, must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extensions</p></td> +<td class="parameter_description"><p>ignored, must be <code class="literal">NULL</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ocsp-status-request-enable-client.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ocsp-status-request-get"></a><h3>gnutls_ocsp_status_request_get ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_ocsp_status_request_get (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *response</code></em>);</pre> +<p>This function returns the OCSP status response received +from the TLS server. The <em class="parameter"><code>response</code></em> + should be treated as +constant. If no OCSP response is available then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-ocsp-status-request-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>response</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> with DER encoded OCSP response</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ocsp-status-request-get.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ocsp-status-request-is-checked"></a><h3>gnutls_ocsp_status_request_is_checked ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_ocsp_status_request_is_checked (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>When flags are zero this function returns non-zero if a valid OCSP status +response was included in the TLS handshake. That is, an OCSP status response +which is not too old, superseded or marks the certificate as revoked. +It returns zero otherwise.</p> +<p>When the flag <code class="literal">GNUTLS_OCSP_SR_IS_AVAIL</code> is specified, the function +returns non-zero if an OCSP status response was included in the handshake +even if it was invalid. Otherwise, if no OCSP status response was included, +it returns zero. The <code class="literal">GNUTLS_OCSP_SR_IS_AVAIL</code> flag was introduced in GnuTLS 3.4.0.</p> +<p>This is a helper function when needing to decide whether to perform an +explicit OCSP validity check on the peer's certificate. Should be called after +any of gnutls_certificate_verify_peers*() are called.</p> +<p>This function is always usable on client side, but on server side only +under TLS 1.3, which is the first version of TLS that allows cliend-side OCSP +responses.</p> +<div class="refsect3"> +<a name="gnutls-ocsp-status-request-is-checked.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero or <code class="literal">GNUTLS_OCSP_SR_IS_AVAIL</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ocsp-status-request-is-checked.returns"></a><h4>Returns</h4> +<p> Non-zero if the response was valid, or a zero if it wasn't sent, +or sent and was invalid.</p> +</div> +<p class="since">Since: 3.1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ocsp-status-request-get2"></a><h3>gnutls_ocsp_status_request_get2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_ocsp_status_request_get2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *response</code></em>);</pre> +<p>This function returns the OCSP status response received +from the TLS server for the certificate index provided. +The index corresponds to certificates as returned by +gnutls_certificate_get_peers. When index is zero this +function operates identically to <a class="link" href="gnutls-gnutls.html#gnutls-ocsp-status-request-get" title="gnutls_ocsp_status_request_get ()"><code class="function">gnutls_ocsp_status_request_get()</code></a>.</p> +<p>The returned <em class="parameter"><code>response</code></em> + should be treated as +constant. If no OCSP response is available for the +given index then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +is returned.</p> +<div class="refsect3"> +<a name="gnutls-ocsp-status-request-get2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>the index of peer's certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>response</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> with DER encoded OCSP response</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ocsp-status-request-get2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-rawpk-key-mem"></a><h3>gnutls_certificate_set_rawpk_key_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_rawpk_key_mem (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *spki</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_usage</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **names</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> names_length</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function sets a public/private keypair in the +<span class="type">gnutls_certificate_credentials_t</span> type to be used for authentication +and/or encryption. <em class="parameter"><code>spki</code></em> + and <em class="parameter"><code>privkey</code></em> + should match otherwise set +signatures cannot be validated. In case of no match this function +returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH"><code class="literal">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</code></a>. This function should +be called once for the client because there is currently no mechanism +to determine which raw public-key to select for the peer when there +are multiple present. Multiple raw public keys for the server can be +distinghuished by setting the <em class="parameter"><code>names</code></em> +.</p> +<p>Note here that <em class="parameter"><code>spki</code></em> + is a raw public-key as defined +in RFC7250. It means that there is no surrounding certificate that +holds the public key and that there is therefore no direct mechanism +to prove the authenticity of this key. The keypair can be used during +a TLS handshake but its authenticity should be established via a +different mechanism (e.g. TOFU or known fingerprint).</p> +<p>The supported formats are basic unencrypted key, PKCS8, PKCS12, +and the openssl format and will be autodetected.</p> +<p>If the raw public-key and the private key are given in PEM encoding +then the strings that hold their values must be null terminated.</p> +<p>Key usage (as defined by X.509 extension (2.5.29.15)) can be explicitly +set because there is no certificate structure around the key to define +this value. See for more info <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-key-usage" title="gnutls_x509_crt_get_key_usage ()"><code class="function">gnutls_x509_crt_get_key_usage()</code></a>.</p> +<p>Note that, this function by default returns zero on success and a +negative value on error. Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> +is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> it returns an index +(greater or equal to zero). That index can be used in other functions +to refer to the added key-pair.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-rawpk-key-mem.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>contains a raw public key in +PKIX.SubjectPublicKeyInfo format.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>contains a raw private key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>encoding of the keys. DER or PEM.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>an optional password to unlock the private key pkey.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>An ORed sequence of <code class="literal">GNUTLS_KEY_</code>* flags.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>names</p></td> +<td class="parameter_description"><p>is an array of DNS names belonging to the public-key (NULL if none).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>names_length</p></td> +<td class="parameter_description"><p>holds the length of the names list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>an ORed sequence of <a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t"><span class="type">gnutls_pkcs_encrypt_flags_t</span></a>. +These apply to the private key pkey.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-rawpk-key-mem.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, in case the +key pair does not match <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH"><code class="literal">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</code></a> is returned, +in other erroneous cases a different negative error code is returned.</p> +</div> +<p class="since">Since: 3.6.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-rawpk-key-file"></a><h3>gnutls_certificate_set_rawpk_key_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_rawpk_key_file (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *rawpkfile</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *privkeyfile</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_usage</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **names</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> names_length</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> privkey_flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> pkcs11_flags</code></em>);</pre> +<p>This function sets a public/private keypair read from file in the +<span class="type">gnutls_certificate_credentials_t</span> type to be used for authentication +and/or encryption. <em class="parameter"><code>spki</code></em> + and <em class="parameter"><code>privkey</code></em> + should match otherwise set +signatures cannot be validated. In case of no match this function +returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH"><code class="literal">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</code></a>. This function should +be called once for the client because there is currently no mechanism +to determine which raw public-key to select for the peer when there +are multiple present. Multiple raw public keys for the server can be +distinghuished by setting the <em class="parameter"><code>names</code></em> +.</p> +<p>Note here that <em class="parameter"><code>spki</code></em> + is a raw public-key as defined +in RFC7250. It means that there is no surrounding certificate that +holds the public key and that there is therefore no direct mechanism +to prove the authenticity of this key. The keypair can be used during +a TLS handshake but its authenticity should be established via a +different mechanism (e.g. TOFU or known fingerprint).</p> +<p>The supported formats are basic unencrypted key, PKCS8, PKCS12, +and the openssl format and will be autodetected.</p> +<p>If the raw public-key and the private key are given in PEM encoding +then the strings that hold their values must be null terminated.</p> +<p>Key usage (as defined by X.509 extension (2.5.29.15)) can be explicitly +set because there is no certificate structure around the key to define +this value. See for more info <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-key-usage" title="gnutls_x509_crt_get_key_usage ()"><code class="function">gnutls_x509_crt_get_key_usage()</code></a>.</p> +<p>Note that, this function by default returns zero on success and a +negative value on error. Since 3.5.6, when the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"><code class="literal">GNUTLS_CERTIFICATE_API_V2</code></a> +is set using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-flags" title="gnutls_certificate_set_flags ()"><code class="function">gnutls_certificate_set_flags()</code></a> it returns an index +(greater or equal to zero). That index can be used in other functions +to refer to the added key-pair.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-rawpk-key-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rawpkfile</p></td> +<td class="parameter_description"><p>contains a raw public key in +PKIX.SubjectPublicKeyInfo format.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>privkeyfile</p></td> +<td class="parameter_description"><p>contains a file path to a private key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>encoding of the keys. DER or PEM.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>an optional password to unlock the private key privkeyfile.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>an ORed sequence of <code class="literal">GNUTLS_KEY_</code>* flags.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>names</p></td> +<td class="parameter_description"><p>is an array of DNS names belonging to the public-key (NULL if none).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>names_length</p></td> +<td class="parameter_description"><p>holds the length of the names list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>privkey_flags</p></td> +<td class="parameter_description"><p>an ORed sequence of <a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t"><span class="type">gnutls_pkcs_encrypt_flags_t</span></a>. +These apply to the private key pkey.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pkcs11_flags</p></td> +<td class="parameter_description"><p>one of gnutls_pkcs11_obj_flags. These apply to URLs.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-set-rawpk-key-file.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, in case the +key pair does not match <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH"><code class="literal">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</code></a> is returned, +in other erroneous cases a different negative error code is returned.</p> +</div> +<p class="since">Since: 3.6.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-global-init"></a><h3>gnutls_global_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_global_init (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Since GnuTLS 3.3.0 this function is no longer necessary to be explicitly +called. To disable the implicit call (in a library constructor) of this +function set the environment variable <code class="literal">GNUTLS_NO_IMPLICIT_INIT</code> to 1.</p> +<p>This function performs any required precalculations, detects +the supported CPU capabilities and initializes the underlying +cryptographic backend. In order to free any resources +taken by this call you should <a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()"><code class="function">gnutls_global_deinit()</code></a> +when gnutls usage is no longer needed.</p> +<p>This function increments a global counter, so that +<a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()"><code class="function">gnutls_global_deinit()</code></a> only releases resources when it has been +called as many times as <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>. This is useful when +GnuTLS is used by more than one library in an application. This +function can be called many times, but will only do something the +first time. It is thread safe since GnuTLS 3.3.0.</p> +<p>A subsequent call of this function if the initial has failed will +return the same error code.</p> +<div class="refsect3"> +<a name="gnutls-global-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-global-deinit"></a><h3>gnutls_global_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_global_deinit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>This function deinitializes the global data, that were initialized +using <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.</p> +<p>Since GnuTLS 3.3.0 this function is no longer necessary to be explicitly +called. GnuTLS will automatically deinitialize on library destructor. See +<a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a> for disabling the implicit initialization/deinitialization.</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-get-library-config"></a><h3>gnutls_get_library_config ()</h3> +<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-library-config-st" title="gnutls_library_config_st"><span class="returnvalue">gnutls_library_config_st</span></a> * +gnutls_get_library_config (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Returns the library configuration as key value pairs. +Currently defined keys are:</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p>fips-module-name: the name of the FIPS140 module</p></li> +<li class="listitem"><p>fips-module-version: the version of the FIPS140 module</p></li> +<li class="listitem"><p>libgnutls-soname: the SONAME of the library itself</p></li> +<li class="listitem"><p>libnettle-soname: the library SONAME of linked libnettle</p></li> +<li class="listitem"><p>libhogweed-soname: the library SONAME of linked libhogweed</p></li> +<li class="listitem"><p>libgmp-soname: the library SONAME of linked libgmp</p></li> +<li class="listitem"><p>hardware-features: enabled hardware support features</p></li> +<li class="listitem"><p>tls-features: enabled TLS protocol features</p></li> +</ul></div> +<div class="refsect3"> +<a name="gnutls-get-library-config.returns"></a><h4>Returns</h4> +<p> a NUL-terminated <a class="link" href="gnutls-gnutls.html#gnutls-library-config-st" title="gnutls_library_config_st"><code class="literal">gnutls_library_config_st</code></a> array</p> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-time-func"></a><h3>gnutls_time_func ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +<span class="c_punctuation">(</span>*gnutls_time_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">time_t</span> *t</code></em>);</pre> +<p>Function prototype for <code class="function">time()</code>-like function. Set with +<a class="link" href="gnutls-gnutls.html#gnutls-global-set-time-function" title="gnutls_global_set_time_function ()"><code class="function">gnutls_global_set_time_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-time-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>t</p></td> +<td class="parameter_description"><p>where to store time.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-time-func.returns"></a><h4>Returns</h4> +<p> Number of seconds since the epoch, or (time_t)-1 on errors.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="mutex-init-func"></a><h3>mutex_init_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*mutex_init_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> **mutex</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="mutex-lock-func"></a><h3>mutex_lock_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*mutex_lock_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> **mutex</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="mutex-unlock-func"></a><h3>mutex_unlock_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*mutex_unlock_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> **mutex</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="mutex-deinit-func"></a><h3>mutex_deinit_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*mutex_deinit_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> **mutex</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-global-set-mutex"></a><h3>gnutls_global_set_mutex ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_global_set_mutex (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#mutex-init-func" title="mutex_init_func ()"><span class="type">mutex_init_func</span></a> init</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#mutex-deinit-func" title="mutex_deinit_func ()"><span class="type">mutex_deinit_func</span></a> deinit</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#mutex-lock-func" title="mutex_lock_func ()"><span class="type">mutex_lock_func</span></a> lock</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#mutex-unlock-func" title="mutex_unlock_func ()"><span class="type">mutex_unlock_func</span></a> unlock</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_global_set_mutex</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is discouraged on GnuTLS 3.7.3 or later.</p> +</div> +<p>With this function you are allowed to override the default mutex +locks used in some parts of gnutls and dependent libraries. This function +should be used if you have complete control of your program and libraries. +Do not call this function from a library, or preferably from any application +unless really needed to. GnuTLS will use the appropriate locks for the running +system.</p> +<p>This function must be called prior to any other GnuTLS function; otherwise +the behavior is undefined.</p> +<div class="refsect3"> +<a name="gnutls-global-set-mutex.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>init</p></td> +<td class="parameter_description"><p>mutex initialization function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit</p></td> +<td class="parameter_description"><p>mutex deinitialization function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>lock</p></td> +<td class="parameter_description"><p>mutex locking function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>unlock</p></td> +<td class="parameter_description"><p>mutex unlocking function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alloc-function"></a><h3>gnutls_alloc_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +<span class="c_punctuation">(</span>*gnutls_alloc_function<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">size_t</span> Param1</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-calloc-function"></a><h3>gnutls_calloc_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +<span class="c_punctuation">(</span>*gnutls_calloc_function<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">size_t</span> Param1</code></em>, + <em class="parameter"><code><span class="type">size_t</span> Param2</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-is-secure-function"></a><h3>gnutls_is_secure_function ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_is_secure_function<span class="c_punctuation">)</span> (<em class="parameter"><code>const <span class="type">void</span> *Param1</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-free-function"></a><h3>gnutls_free_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*gnutls_free_function<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-realloc-function"></a><h3>gnutls_realloc_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +<span class="c_punctuation">(</span>*gnutls_realloc_function<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>, + <em class="parameter"><code><span class="type">size_t</span> Param2</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-global-set-time-function"></a><h3>gnutls_global_set_time_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_global_set_time_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-time-func" title="gnutls_time_func ()"><span class="type">gnutls_time_func</span></a> time_func</code></em>);</pre> +<p>This is the function where you can override the default system time +function. The application provided function should behave the same +as the standard function.</p> +<div class="refsect3"> +<a name="gnutls-global-set-time-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>time_func</p></td> +<td class="parameter_description"><p>it's the system time function, a <a class="link" href="gnutls-gnutls.html#gnutls-time-func" title="gnutls_time_func ()"><code class="function">gnutls_time_func()</code></a> callback.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-free"></a><h3>gnutls_free()</h3> +<pre class="programlisting">#define gnutls_free(a) gnutls_free((void *) (a)), a=NULL +</pre> +<p>This function will free data pointed by ptr.</p> +<p>The deallocation function used is the one set by +<code class="function">gnutls_global_set_mem_functions()</code>.</p> +<div class="refsect3"> +<a name="gnutls-free.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>pointer to memory</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-memset"></a><h3>gnutls_memset ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_memset (<em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">int</span> c</code></em>, + <em class="parameter"><code><span class="type">size_t</span> size</code></em>);</pre> +<p>This function will operate similarly to <code class="function">memset()</code>, but will +not be optimized out by the compiler.</p> +<div class="refsect3"> +<a name="gnutls-memset.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the memory to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>c</p></td> +<td class="parameter_description"><p>the constant byte to fill the memory with</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>size</p></td> +<td class="parameter_description"><p>the size of memory</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-memcmp"></a><h3>gnutls_memcmp ()</h3> +<pre class="programlisting"><span class="returnvalue">if</span> +gnutls_memcmp ();</pre> +<p>This function will operate similarly to <code class="function">memcmp()</code>, but will operate +on time that depends only on the size of the string. That is will +not return early if the strings don't match on the first byte.</p> +<div class="refsect3"> +<a name="gnutls-memcmp.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>s1</p></td> +<td class="parameter_description"><p>the first address to compare</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>s2</p></td> +<td class="parameter_description"><p>the second address to compare</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>n</p></td> +<td class="parameter_description"><p>the size of memory to compare</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-memcmp.returns"></a><h4>Returns</h4> +<p> non zero on difference and zero if the buffers are identical.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-log-func"></a><h3>gnutls_log_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*gnutls_log_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">int</span> Param1</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *Param2</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-audit-log-func"></a><h3>gnutls_audit_log_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*gnutls_audit_log_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> Param1</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *Param2</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-global-set-log-function"></a><h3>gnutls_global_set_log_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_global_set_log_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-log-func" title="gnutls_log_func ()"><span class="type">gnutls_log_func</span></a> log_func</code></em>);</pre> +<p>This is the function where you set the logging function gnutls is +going to use. This function only accepts a character array. +Normally you may not use this function since it is only used for +debugging purposes.</p> +<p><em class="parameter"><code>gnutls_log_func</code></em> + is of the form, +void (*gnutls_log_func)( int level, const char*);</p> +<div class="refsect3"> +<a name="gnutls-global-set-log-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>log_func</p></td> +<td class="parameter_description"><p>it's a log function</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-global-set-audit-log-function"></a><h3>gnutls_global_set_audit_log_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_global_set_audit_log_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-audit-log-func" title="gnutls_audit_log_func ()"><span class="type">gnutls_audit_log_func</span></a> log_func</code></em>);</pre> +<p>This is the function to set the audit logging function. This +is a function to report important issues, such as possible +attacks in the protocol. This is different from <a class="link" href="gnutls-gnutls.html#gnutls-global-set-log-function" title="gnutls_global_set_log_function ()"><code class="function">gnutls_global_set_log_function()</code></a> +because it will report also session-specific events. The session +parameter will be null if there is no corresponding TLS session.</p> +<p><em class="parameter"><code>gnutls_audit_log_func</code></em> + is of the form, +void (*gnutls_audit_log_func)( gnutls_session_t, const char*);</p> +<div class="refsect3"> +<a name="gnutls-global-set-audit-log-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>log_func</p></td> +<td class="parameter_description"><p>it is the audit log function</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-global-set-log-level"></a><h3>gnutls_global_set_log_level ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_global_set_log_level (<em class="parameter"><code><span class="type">int</span> level</code></em>);</pre> +<p>This is the function that allows you to set the log level. The +level is an integer between 0 and 9. Higher values mean more +verbosity. The default value is 0. Larger values should only be +used with care, since they may reveal sensitive information.</p> +<p>Use a log level over 10 to enable all debugging options.</p> +<div class="refsect3"> +<a name="gnutls-global-set-log-level.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>level</p></td> +<td class="parameter_description"><p>it's an integer from 0 to 99.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-keylog-func"></a><h3>gnutls_keylog_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_keylog_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *secret</code></em>);</pre> +<p>Function prototype for keylog hooks. It is set using +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-keylog-function" title="gnutls_session_set_keylog_function ()"><code class="function">gnutls_session_set_keylog_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-keylog-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>the current session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>the keylog label</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>secret</p></td> +<td class="parameter_description"><p>the (const) data of the derived secret.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-keylog-func.returns"></a><h4>Returns</h4> +<p> Non zero on error.</p> +</div> +<p class="since">Since: 3.6.13</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-keylog-function"></a><h3>gnutls_session_get_keylog_function ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-keylog-func" title="gnutls_keylog_func ()"><span class="returnvalue">gnutls_keylog_func</span></a> +gnutls_session_get_keylog_function (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the callback function set using +<a class="link" href="gnutls-gnutls.html#gnutls-session-set-keylog-function" title="gnutls_session_set_keylog_function ()"><code class="function">gnutls_session_set_keylog_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-session-get-keylog-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-get-keylog-function.returns"></a><h4>Returns</h4> +<p> The function set or <code class="literal">NULL</code> otherwise.</p> +</div> +<p class="since">Since: 3.6.13</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-set-keylog-function"></a><h3>gnutls_session_set_keylog_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_session_set_keylog_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-keylog-func" title="gnutls_keylog_func ()"><span class="type">gnutls_keylog_func</span></a> func</code></em>);</pre> +<p>This function will set a callback to be called when a new secret is +derived and installed during handshake.</p> +<div class="refsect3"> +<a name="gnutls-session-set-keylog-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.6.13</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-init"></a><h3>gnutls_dh_params_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> *dh_params</code></em>);</pre> +<p>This function will initialize the DH parameters type.</p> +<div class="refsect3"> +<a name="gnutls-dh-params-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>dh_params</p></td> +<td class="parameter_description"><p>The parameters</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-deinit"></a><h3>gnutls_dh_params_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_dh_params_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);</pre> +<p>This function will deinitialize the DH parameters type.</p> +<div class="refsect3"> +<a name="gnutls-dh-params-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>dh_params</p></td> +<td class="parameter_description"><p>The parameters</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-import-raw"></a><h3>gnutls_dh_params_import_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_import_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *prime</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *generator</code></em>);</pre> +<p>This function will replace the pair of prime and generator for use +in the Diffie-Hellman key exchange. The new parameters should be +stored in the appropriate gnutls_datum.</p> +<div class="refsect3"> +<a name="gnutls-dh-params-import-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dh_params</p></td> +<td class="parameter_description"><p>The parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>prime</p></td> +<td class="parameter_description"><p>holds the new prime</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>generator</p></td> +<td class="parameter_description"><p>holds the new generator</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-import-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-import-dsa"></a><h3>gnutls_dh_params_import_dsa ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_import_dsa (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function will import the prime and generator of the DSA key for use +in the Diffie-Hellman key exchange.</p> +<div class="refsect3"> +<a name="gnutls-dh-params-import-dsa.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dh_params</p></td> +<td class="parameter_description"><p>The parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>holds a DSA private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-import-dsa.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-import-raw2"></a><h3>gnutls_dh_params_import_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_import_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *prime</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *generator</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> key_bits</code></em>);</pre> +<p>This function will replace the pair of prime and generator for use +in the Diffie-Hellman key exchange. The new parameters should be +stored in the appropriate gnutls_datum.</p> +<div class="refsect3"> +<a name="gnutls-dh-params-import-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dh_params</p></td> +<td class="parameter_description"><p>The parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>prime</p></td> +<td class="parameter_description"><p>holds the new prime</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>generator</p></td> +<td class="parameter_description"><p>holds the new generator</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_bits</p></td> +<td class="parameter_description"><p>the private key bits (set to zero when unknown)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-import-raw2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-import-raw3"></a><h3>gnutls_dh_params_import_raw3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_import_raw3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *prime</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *generator</code></em>);</pre> +<p>This function will replace the pair of prime and generator for use +in the Diffie-Hellman key exchange. The new parameters should be +stored in the appropriate gnutls_datum.</p> +<div class="refsect3"> +<a name="gnutls-dh-params-import-raw3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dh_params</p></td> +<td class="parameter_description"><p>The parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>prime</p></td> +<td class="parameter_description"><p>holds the new prime</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>holds the subgroup if available, otherwise NULL</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>generator</p></td> +<td class="parameter_description"><p>holds the new generator</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-import-raw3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-import-pkcs3"></a><h3>gnutls_dh_params_import_pkcs3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_import_pkcs3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *pkcs3_params</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);</pre> +<p>This function will extract the DHParams found in a PKCS3 formatted +structure. This is the format generated by "openssl dhparam" tool.</p> +<p>If the structure is PEM encoded, it should have a header +of "BEGIN DH PARAMETERS".</p> +<div class="refsect3"> +<a name="gnutls-dh-params-import-pkcs3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>params</p></td> +<td class="parameter_description"><p>The parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pkcs3_params</p></td> +<td class="parameter_description"><p>should contain a PKCS3 DHParams structure PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of params. PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-import-pkcs3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-generate2"></a><h3>gnutls_dh_params_generate2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_generate2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>);</pre> +<p>This function will generate a new pair of prime and generator for use in +the Diffie-Hellman key exchange. This may take long time.</p> +<p>It is recommended not to set the number of bits directly, but +use <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-pk-bits" title="gnutls_sec_param_to_pk_bits ()"><code class="function">gnutls_sec_param_to_pk_bits()</code></a> instead.</p> +<p>Also note that the DH parameters are only useful to servers. +Since clients use the parameters sent by the server, it's of +no use to call this in client side.</p> +<p>The parameters generated are of the DSA form. It also is possible +to generate provable parameters (following the Shawe-Taylor +algorithm), using <a class="link" href="gnutls-x509.html#gnutls-x509-privkey-generate2" title="gnutls_x509_privkey_generate2 ()"><code class="function">gnutls_x509_privkey_generate2()</code></a> with DSA option +and the <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-PROVABLE:CAPS"><code class="literal">GNUTLS_PRIVKEY_FLAG_PROVABLE</code></a> flag set. These can the +be imported with <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-dsa" title="gnutls_dh_params_import_dsa ()"><code class="function">gnutls_dh_params_import_dsa()</code></a>.</p> +<p>It is no longer recommended for applications to generate parameters. +See the "Parameter generation" section in the manual.</p> +<div class="refsect3"> +<a name="gnutls-dh-params-generate2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dparams</p></td> +<td class="parameter_description"><p>The parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>is the prime's number of bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-generate2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-export-pkcs3"></a><h3>gnutls_dh_params_export_pkcs3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_export_pkcs3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *params_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *params_data_size</code></em>);</pre> +<p>This function will export the given dh parameters to a PKCS3 +DHParams structure. This is the format generated by "openssl dhparam" tool. +If the buffer provided is not long enough to hold the output, then +GNUTLS_E_SHORT_MEMORY_BUFFER will be returned.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN DH PARAMETERS".</p> +<div class="refsect3"> +<a name="gnutls-dh-params-export-pkcs3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>params</p></td> +<td class="parameter_description"><p>Holds the DH parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>params_data</p></td> +<td class="parameter_description"><p>will contain a PKCS3 DHParams structure PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>params_data_size</p></td> +<td class="parameter_description"><p>holds the size of params_data (and will be replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-export-pkcs3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-export2-pkcs3"></a><h3>gnutls_dh_params_export2_pkcs3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_export2_pkcs3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the given dh parameters to a PKCS3 +DHParams structure. This is the format generated by "openssl dhparam" tool. +The data in <em class="parameter"><code>out</code></em> + will be allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN DH PARAMETERS".</p> +<div class="refsect3"> +<a name="gnutls-dh-params-export2-pkcs3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>params</p></td> +<td class="parameter_description"><p>Holds the DH parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain a PKCS3 DHParams structure PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-export2-pkcs3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-export-raw"></a><h3>gnutls_dh_params_export_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_export_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *prime</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *generator</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<p>This function will export the pair of prime and generator for use +in the Diffie-Hellman key exchange. The new parameters will be +allocated using <code class="function">gnutls_malloc()</code> and will be stored in the +appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-dh-params-export-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>params</p></td> +<td class="parameter_description"><p>Holds the DH parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>prime</p></td> +<td class="parameter_description"><p>will hold the new prime</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>generator</p></td> +<td class="parameter_description"><p>will hold the new generator</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>if non null will hold the secret key's number of bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-export-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-cpy"></a><h3>gnutls_dh_params_cpy ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_params_cpy (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dst</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> src</code></em>);</pre> +<p>This function will copy the DH parameters structure from source +to destination. The destination should be already initialized.</p> +<div class="refsect3"> +<a name="gnutls-dh-params-cpy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>Is the destination parameters, which should be initialized.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>src</p></td> +<td class="parameter_description"><p>Is the source parameters</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-params-cpy.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pull-func"></a><h3>gnutls_pull_func ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +<span class="c_punctuation">(</span>*gnutls_pull_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> Param1</code></em>, + <em class="parameter"><code><span class="type">void</span> *Param2</code></em>, + <em class="parameter"><code><span class="type">size_t</span> Param3</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-push-func"></a><h3>gnutls_push_func ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +<span class="c_punctuation">(</span>*gnutls_push_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> Param1</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *Param2</code></em>, + <em class="parameter"><code><span class="type">size_t</span> Param3</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-system-recv-timeout"></a><h3>gnutls_system_recv_timeout ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_system_recv_timeout (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> ptr</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> ms</code></em>);</pre> +<p>Wait for data to be received from the provided socket (<em class="parameter"><code>ptr</code></em> +) within a +timeout period in milliseconds, using <code class="function">select()</code> on the provided <em class="parameter"><code>ptr</code></em> +.</p> +<p>This function is provided as a helper for constructing custom +callbacks for <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-timeout-function" title="gnutls_transport_set_pull_timeout_function ()"><code class="function">gnutls_transport_set_pull_timeout_function()</code></a>, +which can be used if you rely on socket file descriptors.</p> +<p>Returns -1 on error, 0 on timeout, positive value if data are available for reading.</p> +<div class="refsect3"> +<a name="gnutls-system-recv-timeout.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>A file descriptor (wrapped in a gnutls_transport_ptr_t pointer)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ms</p></td> +<td class="parameter_description"><p>The number of milliseconds to wait.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pull-timeout-func"></a><h3>gnutls_pull_timeout_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_pull_timeout_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> Param1</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> ms</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-vec-push-func"></a><h3>gnutls_vec_push_func ()</h3> +<pre class="programlisting"><span class="returnvalue">ssize_t</span> +<span class="c_punctuation">(</span>*gnutls_vec_push_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> Param1</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#giovec-t" title="giovec_t"><span class="type">giovec_t</span></a> *iov</code></em>, + <em class="parameter"><code><span class="type">int</span> iovcnt</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-errno-func"></a><h3>gnutls_errno_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_errno_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> Param1</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-int"></a><h3>gnutls_transport_set_int ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_int (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">int</span> r</code></em>);</pre> +<p>This function sets the first argument of the transport function, such +as <code class="function">send()</code> and <code class="function">recv()</code> for the default callbacks using the +system's socket API.</p> +<p>This function is equivalent to calling <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr" title="gnutls_transport_set_ptr ()"><code class="function">gnutls_transport_set_ptr()</code></a> +with the descriptor, but requires no casts.</p> +<div class="refsect3"> +<a name="gnutls-transport-set-int.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fd</p></td> +<td class="parameter_description"><p>is the socket descriptor for the connection.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-int2"></a><h3>gnutls_transport_set_int2 ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_int2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">int</span> r</code></em>, + <em class="parameter"><code><span class="type">int</span> s</code></em>);</pre> +<p>This function sets the first argument of the transport functions, +such as <code class="function">send()</code> and <code class="function">recv()</code> for the default callbacks using the +system's socket API. With this function you can set two different +descriptors for receiving and sending.</p> +<p>This function is equivalent to calling <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr2" title="gnutls_transport_set_ptr2 ()"><code class="function">gnutls_transport_set_ptr2()</code></a> +with the descriptors, but requires no casts.</p> +<div class="refsect3"> +<a name="gnutls-transport-set-int2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>recv_fd</p></td> +<td class="parameter_description"><p>is socket descriptor for the pull function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>send_fd</p></td> +<td class="parameter_description"><p>is socket descriptor for the push function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-get-int2"></a><h3>gnutls_transport_get_int2 ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_get_int2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">int</span> *r</code></em>, + <em class="parameter"><code><span class="type">int</span> *s</code></em>);</pre> +<p>Used to get the arguments of the transport functions (like PUSH +and PULL). These should have been set using +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-int2" title="gnutls_transport_set_int2 ()"><code class="function">gnutls_transport_set_int2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-transport-get-int2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>recv_int</p></td> +<td class="parameter_description"><p>will hold the value for the pull function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>send_int</p></td> +<td class="parameter_description"><p>will hold the value for the push function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-get-int"></a><h3>gnutls_transport_get_int ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_transport_get_int (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Used to get the first argument of the transport function (like +PUSH and PULL). This must have been set using +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-int" title="gnutls_transport_set_int ()"><code class="function">gnutls_transport_set_int()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-transport-get-int.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-transport-get-int.returns"></a><h4>Returns</h4> +<p> The first argument of the transport function.</p> +</div> +<p class="since">Since: 3.1.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-ptr"></a><h3>gnutls_transport_set_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_ptr (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> ptr</code></em>);</pre> +<p>Used to set the first argument of the transport function (for push +and pull callbacks). In berkeley style sockets this function will set the +connection descriptor.</p> +<div class="refsect3"> +<a name="gnutls-transport-set-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>is the value.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-ptr2"></a><h3>gnutls_transport_set_ptr2 ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_ptr2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> recv_ptr</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> send_ptr</code></em>);</pre> +<p>Used to set the first argument of the transport function (for push +and pull callbacks). In berkeley style sockets this function will set the +connection descriptor. With this function you can use two different +pointers for receiving and sending.</p> +<div class="refsect3"> +<a name="gnutls-transport-set-ptr2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>recv_ptr</p></td> +<td class="parameter_description"><p>is the value for the pull function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>send_ptr</p></td> +<td class="parameter_description"><p>is the value for the push function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-get-ptr"></a><h3>gnutls_transport_get_ptr ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="returnvalue">gnutls_transport_ptr_t</span></a> +gnutls_transport_get_ptr (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Used to get the first argument of the transport function (like +PUSH and PULL). This must have been set using +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr" title="gnutls_transport_set_ptr ()"><code class="function">gnutls_transport_set_ptr()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-transport-get-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-transport-get-ptr.returns"></a><h4>Returns</h4> +<p> The first argument of the transport function.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-get-ptr2"></a><h3>gnutls_transport_get_ptr2 ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_get_ptr2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> *recv_ptr</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> *send_ptr</code></em>);</pre> +<p>Used to get the arguments of the transport functions (like PUSH +and PULL). These should have been set using +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr2" title="gnutls_transport_set_ptr2 ()"><code class="function">gnutls_transport_set_ptr2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-transport-get-ptr2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>recv_ptr</p></td> +<td class="parameter_description"><p>will hold the value for the pull function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>send_ptr</p></td> +<td class="parameter_description"><p>will hold the value for the push function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-vec-push-function"></a><h3>gnutls_transport_set_vec_push_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_vec_push_function + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-vec-push-func" title="gnutls_vec_push_func ()"><span class="type">gnutls_vec_push_func</span></a> vec_func</code></em>);</pre> +<p>Using this function you can override the default writev(2) +function for gnutls to send data. Setting this callback +instead of <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-push-function" title="gnutls_transport_set_push_function ()"><code class="function">gnutls_transport_set_push_function()</code></a> is recommended +since it introduces less overhead in the TLS handshake process.</p> +<p><em class="parameter"><code>vec_func</code></em> + is of the form, +ssize_t (*gnutls_vec_push_func) (gnutls_transport_ptr_t, const giovec_t * iov, int iovcnt);</p> +<div class="refsect3"> +<a name="gnutls-transport-set-vec-push-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>vec_func</p></td> +<td class="parameter_description"><p>a callback function similar to <code class="function">writev()</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-push-function"></a><h3>gnutls_transport_set_push_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_push_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()"><span class="type">gnutls_push_func</span></a> push_func</code></em>);</pre> +<p>This is the function where you set a push function for gnutls to +use in order to send data. If you are going to use berkeley style +sockets, you do not need to use this function since the default +send(2) will probably be ok. Otherwise you should specify this +function for gnutls to be able to send data. +The callback should return a positive number indicating the +bytes sent, and -1 on error.</p> +<p><em class="parameter"><code>push_func</code></em> + is of the form, +ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t);</p> +<div class="refsect3"> +<a name="gnutls-transport-set-push-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>push_func</p></td> +<td class="parameter_description"><p>a callback function similar to <code class="function">write()</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-pull-function"></a><h3>gnutls_transport_set_pull_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_pull_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pull-func" title="gnutls_pull_func ()"><span class="type">gnutls_pull_func</span></a> pull_func</code></em>);</pre> +<p>This is the function where you set a function for gnutls to receive +data. Normally, if you use berkeley style sockets, do not need to +use this function since the default recv(2) will probably be ok. +The callback should return 0 on connection termination, a positive +number indicating the number of bytes received, and -1 on error.</p> +<p><em class="parameter"><code>gnutls_pull_func</code></em> + is of the form, +ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t);</p> +<div class="refsect3"> +<a name="gnutls-transport-set-pull-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pull_func</p></td> +<td class="parameter_description"><p>a callback function similar to <code class="function">read()</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-pull-timeout-function"></a><h3>gnutls_transport_set_pull_timeout_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_pull_timeout_function + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pull-timeout-func" title="gnutls_pull_timeout_func ()"><span class="type">gnutls_pull_timeout_func</span></a> func</code></em>);</pre> +<p>This is the function where you set a function for gnutls to know +whether data are ready to be received. It should wait for data a +given time frame in milliseconds. The callback should return 0 on +timeout, a positive number if data can be received, and -1 on error. +You'll need to override this function if <code class="function">select()</code> is not suitable +for the provided transport calls.</p> +<p>As with <code class="function">select()</code>, if the timeout value is zero the callback should return +zero if no data are immediately available. The special value +<a class="link" href="gnutls-gnutls.html#GNUTLS-INDEFINITE-TIMEOUT:CAPS" title="GNUTLS_INDEFINITE_TIMEOUT"><code class="literal">GNUTLS_INDEFINITE_TIMEOUT</code></a> indicates that the callback should wait indefinitely +for data.</p> +<p><em class="parameter"><code>gnutls_pull_timeout_func</code></em> + is of the form, +int (*gnutls_pull_timeout_func)(gnutls_transport_ptr_t, unsigned int ms);</p> +<p>This callback is necessary when <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-timeout" title="gnutls_handshake_set_timeout ()"><code class="function">gnutls_handshake_set_timeout()</code></a> or +<a class="link" href="gnutls-gnutls.html#gnutls-record-set-timeout" title="gnutls_record_set_timeout ()"><code class="function">gnutls_record_set_timeout()</code></a> are set, under TLS1.3 and for enforcing the DTLS +mode timeouts when in blocking mode.</p> +<p>For compatibility with future GnuTLS versions this callback must be set when +a custom pull function is registered. The callback will not be used when the +session is in TLS mode with non-blocking sockets. That is, when <a class="link" href="gnutls-gnutls.html#GNUTLS-NONBLOCK:CAPS"><code class="literal">GNUTLS_NONBLOCK</code></a> +is specified for a TLS session in <a class="link" href="gnutls-gnutls.html#gnutls-init" title="gnutls_init ()"><code class="function">gnutls_init()</code></a>.</p> +<p>The helper function <a class="link" href="gnutls-gnutls.html#gnutls-system-recv-timeout" title="gnutls_system_recv_timeout ()"><code class="function">gnutls_system_recv_timeout()</code></a> is provided to +simplify writing callbacks.</p> +<div class="refsect3"> +<a name="gnutls-transport-set-pull-timeout-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>a callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-errno-function"></a><h3>gnutls_transport_set_errno_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_errno_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-errno-func" title="gnutls_errno_func ()"><span class="type">gnutls_errno_func</span></a> errno_func</code></em>);</pre> +<p>This is the function where you set a function to retrieve errno +after a failed push or pull operation.</p> +<p><em class="parameter"><code>errno_func</code></em> + is of the form, +int (*gnutls_errno_func)(gnutls_transport_ptr_t); +and should return the errno.</p> +<div class="refsect3"> +<a name="gnutls-transport-set-errno-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>errno_func</p></td> +<td class="parameter_description"><p>a callback function similar to <code class="function">write()</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-set-errno"></a><h3>gnutls_transport_set_errno ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_transport_set_errno (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">int</span> err</code></em>);</pre> +<p>Store <em class="parameter"><code>err</code></em> + in the session-specific errno variable. Useful values +for <em class="parameter"><code>err</code></em> + are EINTR, EAGAIN and EMSGSIZE, other values are treated will be +treated as real errors in the push/pull function.</p> +<p>This function is useful in replacement push and pull functions set by +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-push-function" title="gnutls_transport_set_push_function ()"><code class="function">gnutls_transport_set_push_function()</code></a> and +<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-function" title="gnutls_transport_set_pull_function ()"><code class="function">gnutls_transport_set_pull_function()</code></a> under Windows, where the +replacements may not have access to the same <em class="parameter"><code>errno</code></em> + +variable that is used by GnuTLS (e.g., the application is linked to +msvcr71.dll and gnutls is linked to msvcrt.dll).</p> +<p>This function is unreliable if you are using the same +<em class="parameter"><code>session</code></em> + in different threads for sending and receiving.</p> +<div class="refsect3"> +<a name="gnutls-transport-set-errno.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err</p></td> +<td class="parameter_description"><p>error value to store in session-specific errno variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-set-ptr"></a><h3>gnutls_session_set_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_session_set_ptr (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre> +<p>This function will set (associate) the user given pointer <em class="parameter"><code>ptr</code></em> + to +the session structure. This pointer can be accessed with +<a class="link" href="gnutls-gnutls.html#gnutls-session-get-ptr" title="gnutls_session_get_ptr ()"><code class="function">gnutls_session_get_ptr()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-session-set-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>is the user pointer</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-get-ptr"></a><h3>gnutls_session_get_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +gnutls_session_get_ptr (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get user pointer for session. Useful in callbacks. This is the + pointer set with <a class="link" href="gnutls-gnutls.html#gnutls-session-set-ptr" title="gnutls_session_set_ptr ()"><code class="function">gnutls_session_set_ptr()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-session-get-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-get-ptr.returns"></a><h4>Returns</h4> +<p> the user given pointer from the session structure, or +<code class="literal">NULL</code> if it was never set.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-send-cert"></a><h3>gnutls_openpgp_send_cert ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_openpgp_send_cert (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-status-t" title="enum gnutls_openpgp_crt_status_t"><span class="type">gnutls_openpgp_crt_status_t</span></a> status</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fingerprint"></a><h3>gnutls_fingerprint ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_fingerprint (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><span class="type">void</span> *result</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre> +<p>This function will calculate a fingerprint (actually a hash), of +the given data. The result is not printable data. You should +convert it to hex, or to something else printable.</p> +<p>This is the usual way to calculate a fingerprint of an X.509 DER +encoded certificate. Note however that the fingerprint of an +OpenPGP certificate is not just a hash and cannot be calculated with this +function.</p> +<div class="refsect3"> +<a name="gnutls-fingerprint.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>is a digest algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>is the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>is the place where the result will be copied (may be null).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result_size</p></td> +<td class="parameter_description"><p>should hold the size of the result. The actual size +of the returned result will also be copied there.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-fingerprint.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-random-art"></a><h3>gnutls_random_art ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_random_art (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-random-art-t" title="enum gnutls_random_art_t"><span class="type">gnutls_random_art_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *key_type</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_size</code></em>, + <em class="parameter"><code><span class="type">void</span> *fpr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> fpr_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *art</code></em>);</pre> +<p>This function will convert a given fingerprint to an "artistic" +image. The returned image is allocated using <code class="function">gnutls_malloc()</code>, is +null-terminated but art->size will not account the terminating null.</p> +<div class="refsect3"> +<a name="gnutls-random-art.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The type of the random art (for now only <a class="link" href="gnutls-gnutls.html#GNUTLS-RANDOM-ART-OPENSSH:CAPS"><code class="literal">GNUTLS_RANDOM_ART_OPENSSH</code></a> is supported)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_type</p></td> +<td class="parameter_description"><p>The type of the key (RSA, DSA etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_size</p></td> +<td class="parameter_description"><p>The size of the key in bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fpr</p></td> +<td class="parameter_description"><p>The fingerprint of the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fpr_size</p></td> +<td class="parameter_description"><p>The size of the fingerprint</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>art</p></td> +<td class="parameter_description"><p>The returned random art</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-random-art.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-idna-map"></a><h3>gnutls_idna_map ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_idna_map (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> ilen</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will convert the provided UTF-8 domain name, to +its IDNA mapping in an allocated variable. Note that depending on the flags the used gnutls +library was compiled with, the output of this function may vary (i.e., +may be IDNA2008, or IDNA2003).</p> +<p>To force IDNA2008 specify the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-IDNA-FORCE-2008:CAPS" title="GNUTLS_IDNA_FORCE_2008"><code class="literal">GNUTLS_IDNA_FORCE_2008</code></a>. In +the case GnuTLS is not compiled with the necessary dependencies, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a> will be returned to indicate that +gnutls is unable to perform the requested conversion.</p> +<p>Note also, that this function will return an empty string if an +empty string is provided as input.</p> +<div class="refsect3"> +<a name="gnutls-idna-map.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>input</p></td> +<td class="parameter_description"><p>contain the UTF-8 formatted domain name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ilen</p></td> +<td class="parameter_description"><p>the length of the provided string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>the result in an null-terminated allocated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-idna-map.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-UTF8-STRING:CAPS" title="GNUTLS_E_INVALID_UTF8_STRING"><code class="literal">GNUTLS_E_INVALID_UTF8_STRING</code></a> on invalid UTF-8 data, or 0 on success.</p> +</div> +<p class="since">Since: 3.5.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-idna-reverse-map"></a><h3>gnutls_idna_reverse_map ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_idna_reverse_map (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> ilen</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will convert an ACE (ASCII-encoded) domain name to a UTF-8 domain name.</p> +<p>If GnuTLS is compiled without IDNA support, then this function +will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +<p>Note also, that this function will return an empty string if an +empty string is provided as input.</p> +<div class="refsect3"> +<a name="gnutls-idna-reverse-map.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>input</p></td> +<td class="parameter_description"><p>contain the ACE (IDNA) formatted domain name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ilen</p></td> +<td class="parameter_description"><p>the length of the provided string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>the result in an null-terminated allocated UTF-8 string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-idna-reverse-map.returns"></a><h4>Returns</h4> +<p> A negative error code on error, or 0 on success.</p> +</div> +<p class="since">Since: 3.5.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-free-client-credentials"></a><h3>gnutls_srp_free_client_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_srp_free_client_credentials (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> sc</code></em>);</pre> +<p>Free a gnutls_srp_client_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-srp-free-client-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_srp_client_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-allocate-client-credentials"></a><h3>gnutls_srp_allocate_client_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srp_allocate_client_credentials + (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> *sc</code></em>);</pre> +<p>Allocate a gnutls_srp_client_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-srp-allocate-client-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a pointer to a <span class="type">gnutls_srp_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-allocate-client-credentials.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or an +error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-set-client-credentials"></a><h3>gnutls_srp_set_client_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srp_set_client_credentials (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *username</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre> +<p>This function sets the username and password, in a +<span class="type">gnutls_srp_client_credentials_t</span> type. Those will be used in +SRP authentication. <em class="parameter"><code>username</code></em> + should be an ASCII string or UTF-8 +string. In case of a UTF-8 string it is recommended to be following +the PRECIS framework for usernames (rfc8265). The password can +be in ASCII format, or normalized using <a class="link" href="gnutls-gnutls.html#gnutls-utf8-password-normalize" title="gnutls_utf8_password_normalize ()"><code class="function">gnutls_utf8_password_normalize()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-srp-set-client-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_srp_client_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>username</p></td> +<td class="parameter_description"><p>is the user's userid</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>is the user's password</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-set-client-credentials.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or an +error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-free-server-credentials"></a><h3>gnutls_srp_free_server_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_srp_free_server_credentials (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> sc</code></em>);</pre> +<p>Free a gnutls_srp_server_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-srp-free-server-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_srp_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-allocate-server-credentials"></a><h3>gnutls_srp_allocate_server_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srp_allocate_server_credentials + (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> *sc</code></em>);</pre> +<p>Allocate a gnutls_srp_server_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-srp-allocate-server-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a pointer to a <span class="type">gnutls_srp_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-allocate-server-credentials.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or an +error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-set-server-credentials-file"></a><h3>gnutls_srp_set_server_credentials_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srp_set_server_credentials_file + (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password_file</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password_conf_file</code></em>);</pre> +<p>This function sets the password files, in a +<span class="type">gnutls_srp_server_credentials_t</span> type. Those password files +hold usernames and verifiers and will be used for SRP +authentication.</p> +<div class="refsect3"> +<a name="gnutls-srp-set-server-credentials-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_srp_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password_file</p></td> +<td class="parameter_description"><p>is the SRP password file (tpasswd)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password_conf_file</p></td> +<td class="parameter_description"><p>is the SRP password conf file (tpasswd.conf)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-set-server-credentials-file.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or an +error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-server-get-username"></a><h3>gnutls_srp_server_get_username ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_srp_server_get_username (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the username of the peer. This should +only be called in case of SRP authentication and in case of a +server. Returns NULL in case of an error.</p> +<div class="refsect3"> +<a name="gnutls-srp-server-get-username.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-server-get-username.returns"></a><h4>Returns</h4> +<p> SRP username of the peer, or NULL in case of error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-set-prime-bits"></a><h3>gnutls_srp_set_prime_bits ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_srp_set_prime_bits (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>);</pre> +<p>This function sets the minimum accepted number of bits, for use in +an SRP key exchange. If zero, the default 2048 bits will be used.</p> +<p>In the client side it sets the minimum accepted number of bits. If +a server sends a prime with less bits than that +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER:CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER"><code class="literal">GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER</code></a> will be returned by the +handshake.</p> +<p>This function has no effect in server side.</p> +<div class="refsect3"> +<a name="gnutls-srp-set-prime-bits.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>is the number of bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-verifier"></a><h3>gnutls_srp_verifier ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srp_verifier (<em class="parameter"><code>const <span class="type">char</span> *username</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *salt</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *generator</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *prime</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *res</code></em>);</pre> +<p>This function will create an SRP verifier, as specified in +RFC2945. The <em class="parameter"><code>prime</code></em> + and <em class="parameter"><code>generator</code></em> + should be one of the static +parameters defined in gnutls/gnutls.h or may be generated.</p> +<p>The verifier will be allocated with <em class="parameter"><code><code class="function">gnutls_malloc()</code></code></em> + and will be stored in +<em class="parameter"><code>res</code></em> + using binary format.</p> +<div class="refsect3"> +<a name="gnutls-srp-verifier.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>username</p></td> +<td class="parameter_description"><p>is the user's name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>is the user's password</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt</p></td> +<td class="parameter_description"><p>should be some randomly generated bytes</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>generator</p></td> +<td class="parameter_description"><p>is the generator of the group</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>prime</p></td> +<td class="parameter_description"><p>is the group's prime</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>where the verifier will be stored.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-verifier.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or an +error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-set-server-credentials-function"></a><h3>gnutls_srp_set_server_credentials_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_srp_set_server_credentials_function + (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_srp_server_credentials_function</span> *func</code></em>);</pre> +<p>This function can be used to set a callback to retrieve the user's +SRP credentials. The callback's function form is:</p> +<p>int (*callback)(gnutls_session_t, const char* username, + gnutls_datum_t *salt, gnutls_datum_t *verifier, gnutls_datum_t *generator, + gnutls_datum_t *prime);</p> +<p><em class="parameter"><code>username</code></em> + contains the actual username. +The <em class="parameter"><code>salt</code></em> +, <em class="parameter"><code>verifier</code></em> +, <em class="parameter"><code>generator</code></em> + and <em class="parameter"><code>prime</code></em> + must be filled +in using the <code class="function">gnutls_malloc()</code>. For convenience <em class="parameter"><code>prime</code></em> + and <em class="parameter"><code>generator</code></em> + +may also be one of the static parameters defined in gnutls.h.</p> +<p>Initially, the data field is NULL in every <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> +structure that the callback has to fill in. When the +callback is done GnuTLS deallocates all of those buffers +which are non-NULL, regardless of the return value.</p> +<p>In order to prevent attackers from guessing valid usernames, +if a user does not exist, g and n values should be filled in +using a random user's parameters. In that case the callback must +return the special value (1). +See <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-fake-salt-seed" title="gnutls_srp_set_server_fake_salt_seed ()"><span class="type">gnutls_srp_set_server_fake_salt_seed</span></a> too. +If this is not required for your application, return a negative +number from the callback to abort the handshake.</p> +<p>The callback function will only be called once per handshake. +The callback function should return 0 on success, while +-1 indicates an error.</p> +<div class="refsect3"> +<a name="gnutls-srp-set-server-credentials-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_srp_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-set-client-credentials-function"></a><h3>gnutls_srp_set_client_credentials_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_srp_set_client_credentials_function + (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_srp_client_credentials_function</span> *func</code></em>);</pre> +<p>This function can be used to set a callback to retrieve the +username and password for client SRP authentication. The +callback's function form is:</p> +<p>int (*callback)(gnutls_session_t, char** username, char**password);</p> +<p>The <em class="parameter"><code>username</code></em> + and <em class="parameter"><code>password</code></em> + must be allocated using +<code class="function">gnutls_malloc()</code>.</p> +<p>The <em class="parameter"><code>username</code></em> + should be an ASCII string or UTF-8 +string. In case of a UTF-8 string it is recommended to be following +the PRECIS framework for usernames (rfc8265). The password can +be in ASCII format, or normalized using <a class="link" href="gnutls-gnutls.html#gnutls-utf8-password-normalize" title="gnutls_utf8_password_normalize ()"><code class="function">gnutls_utf8_password_normalize()</code></a>.</p> +<p>The callback function will be called once per handshake before the +initial hello message is sent.</p> +<p>The callback should not return a negative error code the second +time called, since the handshake procedure will be aborted.</p> +<p>The callback function should return 0 on success. +-1 indicates an error.</p> +<div class="refsect3"> +<a name="gnutls-srp-set-client-credentials-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_srp_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-base64-encode"></a><h3>gnutls_srp_base64_encode ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srp_base64_encode (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><span class="type">char</span> *result</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre> +<p>This function will convert the given data to printable data, using +the base64 encoding, as used in the libsrp. This is the encoding +used in SRP password files. If the provided buffer is not long +enough GNUTLS_E_SHORT_MEMORY_BUFFER is returned.</p> +<p>Warning! This base64 encoding is not the "standard" encoding, so +do not use it for non-SRP purposes.</p> +<div class="refsect3"> +<a name="gnutls-srp-base64-encode.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contain the raw data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the place where base64 data will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result_size</p></td> +<td class="parameter_description"><p>holds the size of the result</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-base64-encode.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the buffer given is not +long enough, or 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-base64-encode2"></a><h3>gnutls_srp_base64_encode2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srp_base64_encode2 (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *result</code></em>);</pre> +<p>This function will convert the given data to printable data, using +the base64 encoding. This is the encoding used in SRP password +files. This function will allocate the required memory to hold +the encoded data.</p> +<p>You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a> to free the returned data.</p> +<p>Warning! This base64 encoding is not the "standard" encoding, so +do not use it for non-SRP purposes.</p> +<div class="refsect3"> +<a name="gnutls-srp-base64-encode2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contains the raw data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>will hold the newly allocated encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-base64-encode2.returns"></a><h4>Returns</h4> +<p> 0 on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-base64-decode"></a><h3>gnutls_srp_base64_decode ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srp_base64_decode (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *b64_data</code></em>, + <em class="parameter"><code><span class="type">char</span> *result</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre> +<p>This function will decode the given encoded data, using the base64 +encoding found in libsrp.</p> +<p>Note that <em class="parameter"><code>b64_data</code></em> + should be null terminated.</p> +<p>Warning! This base64 encoding is not the "standard" encoding, so +do not use it for non-SRP purposes.</p> +<div class="refsect3"> +<a name="gnutls-srp-base64-decode.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>b64_data</p></td> +<td class="parameter_description"><p>contain the encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the place where decoded data will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result_size</p></td> +<td class="parameter_description"><p>holds the size of the result</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-base64-decode.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the buffer given is not +long enough, or 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-base64-decode2"></a><h3>gnutls_srp_base64_decode2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_srp_base64_decode2 (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *b64_data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *result</code></em>);</pre> +<p>This function will decode the given encoded data. The decoded data +will be allocated, and stored into result. It will decode using +the base64 algorithm as used in libsrp.</p> +<p>You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a> to free the returned data.</p> +<p>Warning! This base64 encoding is not the "standard" encoding, so +do not use it for non-SRP purposes.</p> +<div class="refsect3"> +<a name="gnutls-srp-base64-decode2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>b64_data</p></td> +<td class="parameter_description"><p>contains the encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the place where decoded data lie</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-srp-base64-decode2.returns"></a><h4>Returns</h4> +<p> 0 on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-set-server-fake-salt-seed"></a><h3>gnutls_srp_set_server_fake_salt_seed ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_srp_set_server_fake_salt_seed (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> sc</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *seed</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> salt_length</code></em>);</pre> +<p>This function sets the seed that is used to generate salts for +invalid (non-existent) usernames.</p> +<p>In order to prevent attackers from guessing valid usernames, +when a user does not exist gnutls generates a salt and a verifier +and proceeds with the protocol as usual. +The authentication will ultimately fail, but the client cannot tell +whether the username is valid (exists) or invalid.</p> +<p>If an attacker learns the seed, given a salt (which is part of the +handshake) which was generated when the seed was in use, it can tell +whether or not the authentication failed because of an unknown username. +This seed cannot be used to reveal application data or passwords.</p> +<p><em class="parameter"><code>salt_length</code></em> + should represent the salt length your application uses. +Generating fake salts longer than 20 bytes is not supported.</p> +<p>By default the seed is a random value, different each time a +<span class="type">gnutls_srp_server_credentials_t</span> is allocated and fake salts are +16 bytes long.</p> +<div class="refsect3"> +<a name="gnutls-srp-set-server-fake-salt-seed.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_srp_server_credentials_t</span> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed</p></td> +<td class="parameter_description"><p>is the seed data, only needs to be valid until the function +returns; size of the seed must be greater than zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt_length</p></td> +<td class="parameter_description"><p>is the length of the generated fake salts</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-free-client-credentials"></a><h3>gnutls_psk_free_client_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_psk_free_client_credentials (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> sc</code></em>);</pre> +<p>Free a gnutls_psk_client_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-psk-free-client-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_client_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-allocate-client-credentials"></a><h3>gnutls_psk_allocate_client_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_psk_allocate_client_credentials + (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> *sc</code></em>);</pre> +<p>Allocate a gnutls_psk_client_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-psk-allocate-client-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a pointer to a <span class="type">gnutls_psk_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-allocate-client-credentials.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-client-credentials"></a><h3>gnutls_psk_set_client_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_psk_set_client_credentials (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *username</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-psk-key-flags" title="enum gnutls_psk_key_flags"><span class="type">gnutls_psk_key_flags</span></a> flags</code></em>);</pre> +<p>This function sets the username and password, in a +gnutls_psk_client_credentials_t type. Those will be used in +PSK authentication. <em class="parameter"><code>username</code></em> + should be an ASCII string or UTF-8 +string. In case of a UTF-8 string it is recommended to be following +the PRECIS framework for usernames (rfc8265). The key can be either +in raw byte format or in Hex format (without the 0x prefix).</p> +<div class="refsect3"> +<a name="gnutls-psk-set-client-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_client_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>username</p></td> +<td class="parameter_description"><p>is the user's zero-terminated userid</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is the user's key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>indicate the format of the key, either +<a class="link" href="gnutls-gnutls.html#GNUTLS-PSK-KEY-RAW:CAPS"><code class="literal">GNUTLS_PSK_KEY_RAW</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-PSK-KEY-HEX:CAPS"><code class="literal">GNUTLS_PSK_KEY_HEX</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-set-client-credentials.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-client-credentials2"></a><h3>gnutls_psk_set_client_credentials2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_psk_set_client_credentials2 (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *username</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-psk-key-flags" title="enum gnutls_psk_key_flags"><span class="type">gnutls_psk_key_flags</span></a> flags</code></em>);</pre> +<p>This function is identical to <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials" title="gnutls_psk_set_client_credentials ()"><code class="function">gnutls_psk_set_client_credentials()</code></a>, +except that it allows a non-null-terminated username to be introduced.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-client-credentials2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_client_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>username</p></td> +<td class="parameter_description"><p>is the userid</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>is the user's key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>indicate the format of the key, either +<a class="link" href="gnutls-gnutls.html#GNUTLS-PSK-KEY-RAW:CAPS"><code class="literal">GNUTLS_PSK_KEY_RAW</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-PSK-KEY-HEX:CAPS"><code class="literal">GNUTLS_PSK_KEY_HEX</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-set-client-credentials2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-free-server-credentials"></a><h3>gnutls_psk_free_server_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_psk_free_server_credentials (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> sc</code></em>);</pre> +<p>Free a gnutls_psk_server_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-psk-free-server-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-allocate-server-credentials"></a><h3>gnutls_psk_allocate_server_credentials ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_psk_allocate_server_credentials + (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> *sc</code></em>);</pre> +<p>Allocate a gnutls_psk_server_credentials_t structure.</p> +<div class="refsect3"> +<a name="gnutls-psk-allocate-server-credentials.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>sc</p></td> +<td class="parameter_description"><p>is a pointer to a <span class="type">gnutls_psk_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-allocate-server-credentials.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-server-credentials-file"></a><h3>gnutls_psk_set_server_credentials_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_psk_set_server_credentials_file + (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password_file</code></em>);</pre> +<p>This function sets the password file, in a +<span class="type">gnutls_psk_server_credentials_t</span> type. This password file +holds usernames and keys and will be used for PSK authentication.</p> +<p>Each entry in the file consists of a username, followed by a colon +(':') and a hex-encoded key. If the username contains a colon or +any other special character, it can be hex-encoded preceded by a +'#'.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-server-credentials-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password_file</p></td> +<td class="parameter_description"><p>is the PSK password file (passwd.psk)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-set-server-credentials-file.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-server-credentials-hint"></a><h3>gnutls_psk_set_server_credentials_hint ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_psk_set_server_credentials_hint + (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *hint</code></em>);</pre> +<p>This function sets the identity hint, in a +<span class="type">gnutls_psk_server_credentials_t</span> type. This hint is sent to +the client to help it chose a good PSK credential (i.e., username +and password).</p> +<div class="refsect3"> +<a name="gnutls-psk-set-server-credentials-hint.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hint</p></td> +<td class="parameter_description"><p>is the PSK identity hint string</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-set-server-credentials-hint.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-server-get-username"></a><h3>gnutls_psk_server_get_username ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_psk_server_get_username (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This should only be called in case of PSK authentication and in +case of a server.</p> +<p>The returned pointer should be considered constant (do not free) and valid +for the lifetime of the session.</p> +<p>This function will return <code class="literal">NULL</code> if the username has embedded NULL bytes. +In that case, <a class="link" href="gnutls-gnutls.html#gnutls-psk-server-get-username2" title="gnutls_psk_server_get_username2 ()"><code class="function">gnutls_psk_server_get_username2()</code></a> should be used to retrieve the username.</p> +<div class="refsect3"> +<a name="gnutls-psk-server-get-username.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-server-get-username.returns"></a><h4>Returns</h4> +<p> the username of the peer, or <code class="literal">NULL</code> in case of an error, +or if the username has embedded NULLs.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-server-get-username2"></a><h3>gnutls_psk_server_get_username2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_psk_server_get_username2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>Return a pointer to the username of the peer in the supplied datum. Does not +need to be null-terminated.</p> +<p>This should only be called in case of PSK authentication and in +case of a server.</p> +<p>The returned pointer should be considered constant (do not free) and valid +for the lifetime of the session.</p> +<div class="refsect3"> +<a name="gnutls-psk-server-get-username2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>username</p></td> +<td class="parameter_description"><p>a datum that will be filled in by this function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-server-get-username2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a>, or a negative value in case of an error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-client-get-hint"></a><h3>gnutls_psk_client_get_hint ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_psk_client_get_hint (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>The PSK identity hint may give the client help in deciding which +username to use. This should only be called in case of PSK +authentication and in case of a client.</p> +<p>Note: there is no hint in TLS 1.3, so this function will return <code class="literal">NULL</code> +if TLS 1.3 has been negotiated.</p> +<div class="refsect3"> +<a name="gnutls-psk-client-get-hint.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-client-get-hint.returns"></a><h4>Returns</h4> +<p> the identity hint of the peer, or <code class="literal">NULL</code> in case of an error or if TLS 1.3 is being used.</p> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-server-credentials-function"></a><h3>gnutls_psk_set_server_credentials_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_psk_set_server_credentials_function + (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_psk_server_credentials_function</span> *func</code></em>);</pre> +<p>This function can be used to set a callback to retrieve the user's PSK credentials. +The callback's function form is: +int (*callback)(gnutls_session_t, const char* username, + gnutls_datum_t* key);</p> +<p><em class="parameter"><code>username</code></em> + contains the actual username. +The <em class="parameter"><code>key</code></em> + must be filled in using the <code class="function">gnutls_malloc()</code>.</p> +<p>In case the callback returned a negative number then gnutls will +assume that the username does not exist.</p> +<p>The callback function will only be called once per handshake. The +callback function should return 0 on success, while -1 indicates +an error.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-server-credentials-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-server-credentials-function2"></a><h3>gnutls_psk_set_server_credentials_function2 ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_psk_set_server_credentials_function2 + (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_psk_server_credentials_function2</span> *func</code></em>);</pre> +<p>This function can be used to set a callback to retrieve the user's PSK credentials. +The callback's function form is: +int (*callback)(gnutls_session_t, const gnutls_datum_t* username, + gnutls_datum_t* key);</p> +<p>This callback function has the same semantics as that of <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-function" title="gnutls_psk_set_server_credentials_function ()"><code class="function">gnutls_psk_set_server_credentials_function()</code></a>, +but it allows non-string usernames to be used.</p> +<p><em class="parameter"><code>username</code></em> + contains the actual username. +The <em class="parameter"><code>key</code></em> + must be filled in using the <code class="function">gnutls_malloc()</code>.</p> +<p>In case the callback returned a negative number then gnutls will +assume that the username does not exist.</p> +<p>The callback function will only be called once per handshake. The +callback function should return 0 on success, while -1 indicates +an error.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-server-credentials-function2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-client-credentials-function"></a><h3>gnutls_psk_set_client_credentials_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_psk_set_client_credentials_function + (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_psk_client_credentials_function</span> *func</code></em>);</pre> +<p>This function can be used to set a callback to retrieve the username and +password for client PSK authentication. +The callback's function form is: +int (*callback)(gnutls_session_t, char** username, + gnutls_datum_t* key);</p> +<p>The <em class="parameter"><code>username</code></em> + and <em class="parameter"><code>key->data</code></em> + must be allocated using <code class="function">gnutls_malloc()</code>. +The <em class="parameter"><code>username</code></em> + should be an ASCII string or UTF-8 +string. In case of a UTF-8 string it is recommended to be following +the PRECIS framework for usernames (rfc8265).</p> +<p>The callback function will be called once per handshake.</p> +<p>The callback function should return 0 on success. +-1 indicates an error.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-client-credentials-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-client-credentials-function2"></a><h3>gnutls_psk_set_client_credentials_function2 ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_psk_set_client_credentials_function2 + (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_psk_client_credentials_function2</span> *func</code></em>);</pre> +<p>This function can be used to set a callback to retrieve the username and +password for client PSK authentication. +The callback's function form is: +int (*callback)(gnutls_session_t, gnutls_datum_t* username, + gnutls_datum_t* key);</p> +<p>This callback function has the same semantics as that of <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials-function" title="gnutls_psk_set_client_credentials_function ()"><code class="function">gnutls_psk_set_client_credentials_function()</code></a>, +but it allows non-string usernames to be used.</p> +<p>The <em class="parameter"><code>username</code></em> + and <em class="parameter"><code>key->data</code></em> + must be allocated using <code class="function">gnutls_malloc()</code>. +The <em class="parameter"><code>username</code></em> + should be an ASCII string or UTF-8 +string. In case of a UTF-8 string it is recommended to be following +the PRECIS framework for usernames (rfc8265).</p> +<p>The callback function will be called once per handshake.</p> +<p>The callback function should return 0 on success. +-1 indicates an error.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-client-credentials-function2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_psk_server_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hex-encode"></a><h3>gnutls_hex_encode ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hex_encode (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><span class="type">char</span> *result</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre> +<p>This function will convert the given data to printable data, using +the hex encoding, as used in the PSK password files.</p> +<p>Note that the size of the result includes the null terminator.</p> +<div class="refsect3"> +<a name="gnutls-hex-encode.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contain the raw data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the place where hex data will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result_size</p></td> +<td class="parameter_description"><p>holds the size of the result</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hex-encode.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the buffer given is not +long enough, or 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hex-decode"></a><h3>gnutls_hex_decode ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hex_decode (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *hex_data</code></em>, + <em class="parameter"><code><span class="type">void</span> *result</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre> +<p>This function will decode the given encoded data, using the hex +encoding used by PSK password files.</p> +<p>Initially <em class="parameter"><code>result_size</code></em> + must hold the maximum size available in +<em class="parameter"><code>result</code></em> +, and on return it will contain the number of bytes written.</p> +<div class="refsect3"> +<a name="gnutls-hex-decode.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>hex_data</p></td> +<td class="parameter_description"><p>contain the encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the place where decoded data will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result_size</p></td> +<td class="parameter_description"><p>holds the size of the result</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hex-decode.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the buffer given is not +long enough, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PARSING-ERROR:CAPS" title="GNUTLS_E_PARSING_ERROR"><code class="literal">GNUTLS_E_PARSING_ERROR</code></a> on invalid hex data, or 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hex-encode2"></a><h3>gnutls_hex_encode2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hex_encode2 (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *result</code></em>);</pre> +<p>This function will convert the given data to printable data, using +the hex encoding, as used in the PSK password files.</p> +<p>Note that the size of the result does NOT include the null terminator.</p> +<div class="refsect3"> +<a name="gnutls-hex-encode2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contain the raw data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the result in an allocated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hex-encode2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hex-decode2"></a><h3>gnutls_hex_decode2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hex_decode2 (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *result</code></em>);</pre> +<p>This function will decode the given encoded data, using the hex +encoding used by PSK password files.</p> +<div class="refsect3"> +<a name="gnutls-hex-decode2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>hex_data</p></td> +<td class="parameter_description"><p>contain the encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the result in an allocated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hex-decode2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PARSING-ERROR:CAPS" title="GNUTLS_E_PARSING_ERROR"><code class="literal">GNUTLS_E_PARSING_ERROR</code></a> on invalid hex data, or 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-server-dh-params"></a><h3>gnutls_psk_set_server_dh_params ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_psk_set_server_dh_params (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_psk_set_server_dh_params</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set the Diffie-Hellman parameters for an +anonymous server to use. These parameters will be used in +Diffie-Hellman exchange with PSK cipher suites.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-server-dh-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_psk_server_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dh_params</p></td> +<td class="parameter_description"><p>is a structure that holds Diffie-Hellman parameters.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-server-known-dh-params"></a><h3>gnutls_psk_set_server_known_dh_params ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_psk_set_server_known_dh_params (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="type">gnutls_sec_param_t</span></a> sec_param</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_psk_set_server_known_dh_params</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set the Diffie-Hellman parameters for a +PSK server to use. These parameters will be used in +Ephemeral Diffie-Hellman cipher suites and will be selected from +the FFDHE set of RFC7919 according to the security level provided.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-server-known-dh-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_psk_server_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sec_param</p></td> +<td class="parameter_description"><p>is an option of the <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><code class="literal">gnutls_sec_param_t</code></a> enumeration</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-psk-set-server-known-dh-params.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-server-params-function"></a><h3>gnutls_psk_set_server_params_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_psk_set_server_params_function (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_psk_set_server_params_function</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set a callback in order for the server to get +the Diffie-Hellman parameters for PSK authentication. The callback +should return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-server-params-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-set-prime-bits"></a><h3>gnutls_dh_set_prime_bits ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_dh_set_prime_bits (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>);</pre> +<p>This function sets the number of bits, for use in a Diffie-Hellman +key exchange. This is used both in DH ephemeral and DH anonymous +cipher suites. This will set the minimum size of the prime that +will be used for the handshake.</p> +<p>In the client side it sets the minimum accepted number of bits. If +a server sends a prime with less bits than that +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-DH-PRIME-UNACCEPTABLE:CAPS" title="GNUTLS_E_DH_PRIME_UNACCEPTABLE"><code class="literal">GNUTLS_E_DH_PRIME_UNACCEPTABLE</code></a> will be returned by the handshake.</p> +<p>Note that this function will warn via the audit log for value that +are believed to be weak.</p> +<p>The function has no effect in server side.</p> +<p>Note that since 3.1.7 this function is deprecated. The minimum +number of bits is set by the priority string level. +Also this function must be called after <a class="link" href="gnutls-gnutls.html#gnutls-priority-set-direct" title="gnutls_priority_set_direct ()"><code class="function">gnutls_priority_set_direct()</code></a> +or the set value may be overridden by the selected priority options.</p> +<div class="refsect3"> +<a name="gnutls-dh-set-prime-bits.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>is the number of bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-get-secret-bits"></a><h3>gnutls_dh_get_secret_bits ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_get_secret_bits (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the bits used in the last Diffie-Hellman +key exchange with the peer. Should be used for both anonymous and +ephemeral Diffie-Hellman.</p> +<div class="refsect3"> +<a name="gnutls-dh-get-secret-bits.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-get-secret-bits.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-get-peers-public-bits"></a><h3>gnutls_dh_get_peers_public_bits ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_get_peers_public_bits (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get the Diffie-Hellman public key bit size. Can be used for both +anonymous and ephemeral Diffie-Hellman.</p> +<div class="refsect3"> +<a name="gnutls-dh-get-peers-public-bits.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-get-peers-public-bits.returns"></a><h4>Returns</h4> +<p> The public key bit size used in the last Diffie-Hellman +key exchange with the peer, or a negative error code in case of error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-get-prime-bits"></a><h3>gnutls_dh_get_prime_bits ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_get_prime_bits (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function will return the bits of the prime used in the last +Diffie-Hellman key exchange with the peer. Should be used for both +anonymous and ephemeral Diffie-Hellman. Note that some ciphers, +like RSA and DSA without DHE, do not use a Diffie-Hellman key +exchange, and then this function will return 0.</p> +<div class="refsect3"> +<a name="gnutls-dh-get-prime-bits.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-get-prime-bits.returns"></a><h4>Returns</h4> +<p> The Diffie-Hellman bit strength is returned, or 0 if no +Diffie-Hellman key exchange was done, or a negative error code on +failure.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-get-group"></a><h3>gnutls_dh_get_group ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_get_group (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *raw_gen</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *raw_prime</code></em>);</pre> +<p>This function will return the group parameters used in the last +Diffie-Hellman key exchange with the peer. These are the prime and +the generator used. This function should be used for both +anonymous and ephemeral Diffie-Hellman. The output parameters must +be freed with <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<p>Note, that the prime and generator are exported as non-negative +integers and may include a leading zero byte.</p> +<div class="refsect3"> +<a name="gnutls-dh-get-group.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_gen</p></td> +<td class="parameter_description"><p>will hold the generator.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_prime</p></td> +<td class="parameter_description"><p>will hold the prime.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-get-group.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-get-pubkey"></a><h3>gnutls_dh_get_pubkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_dh_get_pubkey (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *raw_key</code></em>);</pre> +<p>This function will return the peer's public key used in the last +Diffie-Hellman key exchange. This function should be used for both +anonymous and ephemeral Diffie-Hellman. The output parameters must +be freed with <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<p>Note, that public key is exported as non-negative +integer and may include a leading zero byte.</p> +<div class="refsect3"> +<a name="gnutls-dh-get-pubkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_key</p></td> +<td class="parameter_description"><p>will hold the public key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-dh-get-pubkey.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-retrieve-function"></a><h3>gnutls_certificate_set_retrieve_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_retrieve_function + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_certificate_retrieve_function</span> *func</code></em>);</pre> +<p>This function sets a callback to be called in order to retrieve the +certificate to be used in the handshake. The callback will take control +only if a certificate is requested by the peer. You are advised +to use <a class="link" href="gnutls-abstract.html#gnutls-certificate-set-retrieve-function2" title="gnutls_certificate_set_retrieve_function2 ()"><code class="function">gnutls_certificate_set_retrieve_function2()</code></a> because it +is much more efficient in the processing it requires from gnutls.</p> +<p>The callback's function prototype is: +int (*callback)(gnutls_session_t, const gnutls_datum_t* req_ca_dn, int nreqs, +const gnutls_pk_algorithm_t* pk_algos, int pk_algos_length, gnutls_retr2_st* st);</p> +<p><em class="parameter"><code>req_ca_dn</code></em> + is only used in X.509 certificates. +Contains a list with the CA names that the server considers trusted. +This is a hint and typically the client should send a certificate that is signed +by one of these CAs. These names, when available, are DER encoded. To get a more +meaningful value use the function <a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get" title="gnutls_x509_rdn_get ()"><code class="function">gnutls_x509_rdn_get()</code></a>.</p> +<p><em class="parameter"><code>pk_algos</code></em> + contains a list with server's acceptable public key algorithms. +The certificate returned should support the server's given algorithms.</p> +<p><em class="parameter"><code>st</code></em> + should contain the certificates and private keys.</p> +<p>If the callback function is provided then gnutls will call it, in the +handshake, after the certificate request message has been received.</p> +<p>In server side pk_algos and req_ca_dn are NULL.</p> +<p>The callback function should set the certificate list to be sent, +and return 0 on success. If no certificate was selected then the +number of certificates should be set to zero. The value (-1) +indicates error and the handshake will be terminated. If both certificates +are set in the credentials and a callback is available, the callback +takes predence.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-retrieve-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-verify-function"></a><h3>gnutls_certificate_set_verify_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_verify_function + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>, + <em class="parameter"><code><span class="type">gnutls_certificate_verify_function</span> *func</code></em>);</pre> +<p>This function sets a callback to be called when peer's certificate +has been received in order to verify it on receipt rather than +doing after the handshake is completed.</p> +<p>The callback's function prototype is: +int (*callback)(gnutls_session_t);</p> +<p>If the callback function is provided then gnutls will call it, in the +handshake, just after the certificate message has been received. +To verify or obtain the certificate the <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>, +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get" title="gnutls_certificate_type_get ()"><code class="function">gnutls_certificate_type_get()</code></a>, <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers" title="gnutls_certificate_get_peers ()"><code class="function">gnutls_certificate_get_peers()</code></a> functions +can be used.</p> +<p>The callback function should return 0 for the handshake to continue +or non-zero to terminate.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-verify-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cred</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-server-set-request"></a><h3>gnutls_certificate_server_set_request ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_server_set_request (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-request-t" title="enum gnutls_certificate_request_t"><span class="type">gnutls_certificate_request_t</span></a> req</code></em>);</pre> +<p>This function specifies if we (in case of a server) are going to +send a certificate request message to the client. If <em class="parameter"><code>req</code></em> + is +GNUTLS_CERT_REQUIRE then the server will return the <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-FOUND:CAPS" title="GNUTLS_E_NO_CERTIFICATE_FOUND"><code class="literal">GNUTLS_E_NO_CERTIFICATE_FOUND</code></a> +error if the peer does not provide a certificate. If you do not call this +function then the client will not be asked to send a certificate. Invoking +the function with <em class="parameter"><code>req</code></em> + GNUTLS_CERT_IGNORE has the same effect.</p> +<div class="refsect3"> +<a name="gnutls-certificate-server-set-request.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>req</p></td> +<td class="parameter_description"><p>is one of GNUTLS_CERT_REQUEST, GNUTLS_CERT_REQUIRE, GNUTLS_CERT_IGNORE</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-peers"></a><h3>gnutls_certificate_get_peers ()</h3> +<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="returnvalue">gnutls_datum_t</span></a> * +gnutls_certificate_get_peers (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *list_size</code></em>);</pre> +<p>Get the peer's raw certificate (chain) as sent by the peer. These +certificates are in raw format (DER encoded for X.509). In case of +a X.509 then a certificate list may be present. The list +is provided as sent by the server; the server must send as first +certificate in the list its own certificate, following the +issuer's certificate, then the issuer's issuer etc. However, there +are servers which violate this principle and thus on certain +occasions this may be an unsorted list.</p> +<p>In resumed sessions, this function will return the peer's certificate +list as used in the first/original session.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-peers.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>list_size</p></td> +<td class="parameter_description"><p>is the length of the certificate list (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-get-peers.returns"></a><h4>Returns</h4> +<p> a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> containing the peer's +certificates, or <code class="literal">NULL</code> in case of an error or if no certificate +was used.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-ours"></a><h3>gnutls_certificate_get_ours ()</h3> +<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="returnvalue">gnutls_datum_t</span></a> * +gnutls_certificate_get_ours (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Gets the certificate as sent to the peer in the last handshake. +The certificate is in raw (DER) format. No certificate +list is being returned. Only the first certificate.</p> +<p>This function returns the certificate that was sent in the current +handshake. In subsequent resumed sessions this function will return +<code class="literal">NULL</code>. That differs from <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers" title="gnutls_certificate_get_peers ()"><code class="function">gnutls_certificate_get_peers()</code></a> which always +returns the peer's certificate used in the original session.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-ours.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-get-ours.returns"></a><h4>Returns</h4> +<p> a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> containing our +certificate, or <code class="literal">NULL</code> in case of an error or if no certificate +was used.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-peers-subkey-id"></a><h3>gnutls_certificate_get_peers_subkey_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_get_peers_subkey_id + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *id</code></em>);</pre> +<p>This function is no-op.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-peers-subkey-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>will contain the ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-get-peers-subkey-id.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-activation-time-peers"></a><h3>gnutls_certificate_activation_time_peers ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_certificate_activation_time_peers + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_certificate_activation_time_peers</code> is deprecated and should not be used in newly-written code.</p> +<p>gnutls_certificate_verify_peers2() now verifies activation times.</p> +</div> +<p>This function will return the peer's certificate activation time.</p> +<div class="refsect3"> +<a name="gnutls-certificate-activation-time-peers.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-activation-time-peers.returns"></a><h4>Returns</h4> +<p> (time_t)-1 on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-expiration-time-peers"></a><h3>gnutls_certificate_expiration_time_peers ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_certificate_expiration_time_peers + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_certificate_expiration_time_peers</code> is deprecated and should not be used in newly-written code.</p> +<p>gnutls_certificate_verify_peers2() now verifies expiration times.</p> +</div> +<p>This function will return the peer's certificate expiration time.</p> +<div class="refsect3"> +<a name="gnutls-certificate-expiration-time-peers.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-expiration-time-peers.returns"></a><h4>Returns</h4> +<p> (time_t)-1 on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-client-get-request-status"></a><h3>gnutls_certificate_client_get_request_status ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_certificate_client_get_request_status + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>Get whether client certificate was requested on the last +handshake or not.</p> +<div class="refsect3"> +<a name="gnutls-certificate-client-get-request-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-client-get-request-status.returns"></a><h4>Returns</h4> +<p> 0 if the peer (server) did not request client +authentication or 1 otherwise.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-verify-peers2"></a><h3>gnutls_certificate_verify_peers2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_verify_peers2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *status</code></em>);</pre> +<p>This function will verify the peer's certificate and store +the status in the <em class="parameter"><code>status</code></em> + variable as a bitwise OR of gnutls_certificate_status_t +values or zero if the certificate is trusted. Note that value in <em class="parameter"><code>status</code></em> + +is set only when the return value of this function is success (i.e, failure +to trust a certificate does not imply a negative return value). +The default verification flags used by this function can be overridden +using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-flags" title="gnutls_certificate_set_verify_flags ()"><code class="function">gnutls_certificate_set_verify_flags()</code></a>.</p> +<p>This function will take into account the stapled OCSP responses sent by the server, +as well as the following X.509 certificate extensions: Name Constraints, +Key Usage, and Basic Constraints (pathlen).</p> +<p>Note that you must also check the peer's name in order to check if +the verified certificate belongs to the actual peer, see <a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-hostname" title="gnutls_x509_crt_check_hostname ()"><code class="function">gnutls_x509_crt_check_hostname()</code></a>, +or use <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers3" title="gnutls_certificate_verify_peers3 ()"><code class="function">gnutls_certificate_verify_peers3()</code></a>.</p> +<p>To avoid denial of service attacks some +default upper limits regarding the certificate key size and chain +size are set. To override them use <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-limits" title="gnutls_certificate_set_verify_limits ()"><code class="function">gnutls_certificate_set_verify_limits()</code></a>.</p> +<p>Note that when using raw public-keys verification will not work because there is +no corresponding certificate body belonging to the raw key that can be verified. In that +case this function will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-verify-peers2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>status</p></td> +<td class="parameter_description"><p>is the output of the verification</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-verify-peers2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) when the validation is performed, or a negative error code otherwise. +A successful error code means that the <em class="parameter"><code>status</code></em> +parameter must be checked to obtain the validation status.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-verify-peers3"></a><h3>gnutls_certificate_verify_peers3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_verify_peers3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *hostname</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *status</code></em>);</pre> +<p>This function will verify the peer's certificate and store the +the status in the <em class="parameter"><code>status</code></em> + variable as a bitwise OR of gnutls_certificate_status_t +values or zero if the certificate is trusted. Note that value in <em class="parameter"><code>status</code></em> + +is set only when the return value of this function is success (i.e, failure +to trust a certificate does not imply a negative return value). +The default verification flags used by this function can be overridden +using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-flags" title="gnutls_certificate_set_verify_flags ()"><code class="function">gnutls_certificate_set_verify_flags()</code></a>. See the documentation +of <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a> for details in the verification process.</p> +<p>This function will take into account the stapled OCSP responses sent by the server, +as well as the following X.509 certificate extensions: Name Constraints, +Key Usage, and Basic Constraints (pathlen).</p> +<p>If the <em class="parameter"><code>hostname</code></em> + provided is non-NULL then this function will compare +the hostname in the certificate against it. The comparison will follow +the RFC6125 recommendations. If names do not match the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-UNEXPECTED-OWNER:CAPS"><code class="literal">GNUTLS_CERT_UNEXPECTED_OWNER</code></a> status flag will be set.</p> +<p>In order to verify the purpose of the end-certificate (by checking the extended +key usage), use <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers" title="gnutls_certificate_verify_peers ()"><code class="function">gnutls_certificate_verify_peers()</code></a>.</p> +<p>To avoid denial of service attacks some +default upper limits regarding the certificate key size and chain +size are set. To override them use <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-limits" title="gnutls_certificate_set_verify_limits ()"><code class="function">gnutls_certificate_set_verify_limits()</code></a>.</p> +<p>Note that when using raw public-keys verification will not work because there is +no corresponding certificate body belonging to the raw key that can be verified. In that +case this function will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-verify-peers3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hostname</p></td> +<td class="parameter_description"><p>is the expected name of the peer; may be <code class="literal">NULL</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>status</p></td> +<td class="parameter_description"><p>is the output of the verification</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-verify-peers3.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) when the validation is performed, or a negative error code otherwise. +A successful error code means that the <em class="parameter"><code>status</code></em> +parameter must be checked to obtain the validation status.</p> +</div> +<p class="since">Since: 3.1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-verify-peers"></a><h3>gnutls_certificate_verify_peers ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_verify_peers (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-typed-vdata-st" title="gnutls_typed_vdata_st"><span class="type">gnutls_typed_vdata_st</span></a> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> elements</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *status</code></em>);</pre> +<p>This function will verify the peer's certificate and store the +the status in the <em class="parameter"><code>status</code></em> + variable as a bitwise OR of gnutls_certificate_status_t +values or zero if the certificate is trusted. Note that value in <em class="parameter"><code>status</code></em> + +is set only when the return value of this function is success (i.e, failure +to trust a certificate does not imply a negative return value). +The default verification flags used by this function can be overridden +using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-flags" title="gnutls_certificate_set_verify_flags ()"><code class="function">gnutls_certificate_set_verify_flags()</code></a>. See the documentation +of <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a> for details in the verification process.</p> +<p>This function will take into account the stapled OCSP responses sent by the server, +as well as the following X.509 certificate extensions: Name Constraints, +Key Usage, and Basic Constraints (pathlen).</p> +<p>The acceptable <em class="parameter"><code>data</code></em> + types are <a class="link" href="gnutls-gnutls.html#GNUTLS-DT-DNS-HOSTNAME:CAPS"><code class="literal">GNUTLS_DT_DNS_HOSTNAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-DT-RFC822NAME:CAPS"><code class="literal">GNUTLS_DT_RFC822NAME</code></a> and <a class="link" href="gnutls-gnutls.html#GNUTLS-DT-KEY-PURPOSE-OID:CAPS"><code class="literal">GNUTLS_DT_KEY_PURPOSE_OID</code></a>. +The former two accept as data a null-terminated hostname or email address, and the latter a null-terminated +object identifier (e.g., <a class="link" href="gnutls-x509.html#GNUTLS-KP-TLS-WWW-SERVER:CAPS" title="GNUTLS_KP_TLS_WWW_SERVER"><code class="literal">GNUTLS_KP_TLS_WWW_SERVER</code></a>).</p> +<p>If a DNS hostname is provided then this function will compare +the hostname in the certificate against the given. If names do not match the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-UNEXPECTED-OWNER:CAPS"><code class="literal">GNUTLS_CERT_UNEXPECTED_OWNER</code></a> status flag will be set. +If a key purpose OID is provided and the end-certificate contains the extended key +usage PKIX extension, it will be required to be have the provided key purpose +or be marked for any purpose, otherwise verification status will have the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-SIGNER-CONSTRAINTS-FAILURE:CAPS"><code class="literal">GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE</code></a> flag set.</p> +<p>To avoid denial of service attacks some +default upper limits regarding the certificate key size and chain +size are set. To override them use <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-limits" title="gnutls_certificate_set_verify_limits ()"><code class="function">gnutls_certificate_set_verify_limits()</code></a>.</p> +<p>Note that when using raw public-keys verification will not work because there is +no corresponding certificate body belonging to the raw key that can be verified. In that +case this function will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-verify-peers.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a gnutls session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>an array of typed data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>elements</p></td> +<td class="parameter_description"><p>the number of data elements</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>status</p></td> +<td class="parameter_description"><p>is the output of the verification</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-verify-peers.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) when the validation is performed, or a negative error code otherwise. +A successful error code means that the <em class="parameter"><code>status</code></em> +parameter must be checked to obtain the validation status.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-verification-status-print"></a><h3>gnutls_certificate_verification_status_print ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_verification_status_print + (<em class="parameter"><code>unsigned <span class="type">int</span> status</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will pretty print the status of a verification +process -- eg. the one obtained by <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers3" title="gnutls_certificate_verify_peers3 ()"><code class="function">gnutls_certificate_verify_peers3()</code></a>.</p> +<p>The output <em class="parameter"><code>out</code></em> + needs to be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-verification-status-print.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>status</p></td> +<td class="parameter_description"><p>The status flags to be printed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The certificate type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>Newly allocated datum with (0) terminated string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-verification-status-print.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pem-base64-encode"></a><h3>gnutls_pem_base64_encode ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pem_base64_encode (<em class="parameter"><code>const <span class="type">char</span> *msg</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><span class="type">char</span> *result</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre> +<p>This function will convert the given data to printable data, using +the base64 encoding. This is the encoding used in PEM messages.</p> +<p>The output string will be null terminated, although the output size will +not include the terminating null.</p> +<div class="refsect3"> +<a name="gnutls-pem-base64-encode.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>msg</p></td> +<td class="parameter_description"><p>is a message to be put in the header (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contain the raw data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the place where base64 data will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result_size</p></td> +<td class="parameter_description"><p>holds the size of the result</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pem-base64-encode.returns"></a><h4>Returns</h4> +<p> On success <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> is returned if the buffer given is +not long enough, or 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pem-base64-decode"></a><h3>gnutls_pem_base64_decode ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pem_base64_decode (<em class="parameter"><code>const <span class="type">char</span> *header</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *b64_data</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *result</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre> +<p>This function will decode the given encoded data. If the header +given is non <code class="literal">NULL</code> this function will search for "-----BEGIN header" +and decode only this part. Otherwise it will decode the first PEM +packet found.</p> +<div class="refsect3"> +<a name="gnutls-pem-base64-decode.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>header</p></td> +<td class="parameter_description"><p>A null terminated string with the PEM header (eg. CERTIFICATE)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>b64_data</p></td> +<td class="parameter_description"><p>contain the encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the place where decoded data will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result_size</p></td> +<td class="parameter_description"><p>holds the size of the result</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pem-base64-decode.returns"></a><h4>Returns</h4> +<p> On success <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> is returned if the buffer given is +not long enough, or 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pem-base64-encode2"></a><h3>gnutls_pem_base64_encode2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pem_base64_encode2 (<em class="parameter"><code>const <span class="type">char</span> *msg</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *result</code></em>);</pre> +<p>This function will convert the given data to printable data, using +the base64 encoding. This is the encoding used in PEM messages. +This function will allocate the required memory to hold the encoded +data.</p> +<p>You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a> to free the returned data.</p> +<p>Note, that prior to GnuTLS 3.4.0 this function was available +under the name <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode-alloc" title="gnutls_pem_base64_encode_alloc"><code class="function">gnutls_pem_base64_encode_alloc()</code></a>. There is +compatibility macro pointing to this function.</p> +<div class="refsect3"> +<a name="gnutls-pem-base64-encode2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>header</p></td> +<td class="parameter_description"><p>is a message to be put in the encoded header (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contains the raw data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>will hold the newly allocated encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pem-base64-encode2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pem-base64-decode2"></a><h3>gnutls_pem_base64_decode2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pem_base64_decode2 (<em class="parameter"><code>const <span class="type">char</span> *header</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *b64_data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *result</code></em>);</pre> +<p>This function will decode the given encoded data. The decoded data +will be allocated, and stored into result. If the header given is +non null this function will search for "-----BEGIN header" and +decode only this part. Otherwise it will decode the first PEM +packet found.</p> +<p>You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a> to free the returned data.</p> +<p>Note, that prior to GnuTLS 3.4.0 this function was available +under the name <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode-alloc" title="gnutls_pem_base64_decode_alloc"><code class="function">gnutls_pem_base64_decode_alloc()</code></a>. There is +compatibility macro pointing to this function.</p> +<div class="refsect3"> +<a name="gnutls-pem-base64-decode2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>header</p></td> +<td class="parameter_description"><p>The PEM header (eg. CERTIFICATE)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>b64_data</p></td> +<td class="parameter_description"><p>contains the encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the location of decoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pem-base64-decode2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-base64-encode2"></a><h3>gnutls_base64_encode2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_base64_encode2 (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *result</code></em>);</pre> +<p>This function will convert the given data to printable data, using +the base64 encoding. This function will allocate the required +memory to hold the encoded data.</p> +<p>You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a> to free the returned data.</p> +<div class="refsect3"> +<a name="gnutls-base64-encode2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>contains the raw data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>will hold the newly allocated encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-base64-encode2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-base64-decode2"></a><h3>gnutls_base64_decode2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_base64_decode2 (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *b64_data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *result</code></em>);</pre> +<p>This function will decode the given base64 encoded data. The decoded data +will be allocated, and stored into result.</p> +<p>You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a> to free the returned data.</p> +<div class="refsect3"> +<a name="gnutls-base64-decode2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>base64</p></td> +<td class="parameter_description"><p>contains the encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>the location of decoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-base64-decode2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-params-function"></a><h3>gnutls_certificate_set_params_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_params_function + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_certificate_set_params_function</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set a callback in order for the server to get +the Diffie-Hellman or RSA parameters for certificate +authentication. The callback should return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-params-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_certificate_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anon-set-params-function"></a><h3>gnutls_anon_set_params_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anon_set_params_function (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_anon_set_params_function</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set a callback in order for the server to get +the Diffie-Hellman or RSA parameters for anonymous authentication. +The callback should return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success.</p> +<div class="refsect3"> +<a name="gnutls-anon-set-params-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_anon_server_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-set-params-function"></a><h3>gnutls_psk_set_params_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_psk_set_params_function (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre> +<div class="warning"> +<p><code class="literal">gnutls_psk_set_params_function</code> is deprecated and should not be used in newly-written code.</p> +<p>This function is unnecessary and discouraged on GnuTLS 3.6.0 +or later. Since 3.6.0, DH parameters are negotiated +following RFC7919.</p> +</div> +<p>This function will set a callback in order for the server to get +the Diffie-Hellman or RSA parameters for PSK authentication. The +callback should return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success.</p> +<div class="refsect3"> +<a name="gnutls-psk-set-params-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a gnutls_psk_server_credentials_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-hex2bin"></a><h3>gnutls_hex2bin ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_hex2bin (<em class="parameter"><code>const <span class="type">char</span> *hex_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> hex_size</code></em>, + <em class="parameter"><code><span class="type">void</span> *bin_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *bin_size</code></em>);</pre> +<p>Convert a buffer with hex data to binary data. This function +unlike <a class="link" href="gnutls-gnutls.html#gnutls-hex-decode" title="gnutls_hex_decode ()"><code class="function">gnutls_hex_decode()</code></a> can parse hex data with separators +between numbers. That is, it ignores any non-hex characters.</p> +<div class="refsect3"> +<a name="gnutls-hex2bin.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>hex_data</p></td> +<td class="parameter_description"><p>string with data in hex format</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hex_size</p></td> +<td class="parameter_description"><p>size of hex data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bin_data</p></td> +<td class="parameter_description"><p>output array with binary data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bin_size</p></td> +<td class="parameter_description"><p>when calling should hold maximum size of <em class="parameter"><code>bin_data</code></em> +, +on return will hold actual length of <em class="parameter"><code>bin_data</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-hex2bin.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-store-func"></a><h3>gnutls_tdb_store_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_tdb_store_func<span class="c_punctuation">)</span> (<em class="parameter"><code>const <span class="type">char</span> *db_name</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *host</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *service</code></em>, + <em class="parameter"><code><span class="type">time_t</span> expiration</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *pubkey</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-store-commitment-func"></a><h3>gnutls_tdb_store_commitment_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_tdb_store_commitment_func<span class="c_punctuation">)</span> (<em class="parameter"><code>const <span class="type">char</span> *db_name</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *host</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *service</code></em>, + <em class="parameter"><code><span class="type">time_t</span> expiration</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> hash_algo</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *hash</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-verify-func"></a><h3>gnutls_tdb_verify_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_tdb_verify_func<span class="c_punctuation">)</span> (<em class="parameter"><code>const <span class="type">char</span> *db_name</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *host</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *service</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *pubkey</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-init"></a><h3>gnutls_tdb_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_tdb_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t"><span class="type">gnutls_tdb_t</span></a> *tdb</code></em>);</pre> +<p>This function will initialize a public key trust storage structure.</p> +<div class="refsect3"> +<a name="gnutls-tdb-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>tdb</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-tdb-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-set-store-func"></a><h3>gnutls_tdb_set_store_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_tdb_set_store_func (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t"><span class="type">gnutls_tdb_t</span></a> tdb</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-store-func" title="gnutls_tdb_store_func ()"><span class="type">gnutls_tdb_store_func</span></a> store</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-set-store-commitment-func"></a><h3>gnutls_tdb_set_store_commitment_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_tdb_set_store_commitment_func (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t"><span class="type">gnutls_tdb_t</span></a> tdb</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-store-commitment-func" title="gnutls_tdb_store_commitment_func ()"><span class="type">gnutls_tdb_store_commitment_func</span></a> cstore</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-set-verify-func"></a><h3>gnutls_tdb_set_verify_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_tdb_set_verify_func (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t"><span class="type">gnutls_tdb_t</span></a> tdb</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-verify-func" title="gnutls_tdb_verify_func ()"><span class="type">gnutls_tdb_verify_func</span></a> verify</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-deinit"></a><h3>gnutls_tdb_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_tdb_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t"><span class="type">gnutls_tdb_t</span></a> tdb</code></em>);</pre> +<p>This function will deinitialize a public key trust storage structure.</p> +<div class="refsect3"> +<a name="gnutls-tdb-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>tdb</p></td> +<td class="parameter_description"><p>The structure to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-verify-stored-pubkey"></a><h3>gnutls_verify_stored_pubkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_verify_stored_pubkey (<em class="parameter"><code>const <span class="type">char</span> *db_name</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t"><span class="type">gnutls_tdb_t</span></a> tdb</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *host</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *service</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> cert_type</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will try to verify a raw public-key or a public-key provided via +a raw (DER-encoded) certificate using a list of stored public keys. +The <em class="parameter"><code>service</code></em> + field if non-NULL should be a port number.</p> +<p>The <em class="parameter"><code>db_name</code></em> + variable if non-null specifies a custom backend for +the retrieval of entries. If it is NULL then the +default file backend will be used. In POSIX-like systems the +file backend uses the $HOME/.gnutls/known_hosts file.</p> +<p>Note that if the custom storage backend is provided the +retrieval function should return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH"><code class="literal">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</code></a> +if the host/service pair is found but key doesn't match, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-FOUND:CAPS" title="GNUTLS_E_NO_CERTIFICATE_FOUND"><code class="literal">GNUTLS_E_NO_CERTIFICATE_FOUND</code></a> if no such host/service with +the given key is found, and 0 if it was found. The storage +function should return 0 on success.</p> +<p>As of GnuTLS 3.6.6 this function also verifies raw public keys.</p> +<div class="refsect3"> +<a name="gnutls-verify-stored-pubkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>db_name</p></td> +<td class="parameter_description"><p>A file specifying the stored keys (use NULL for the default)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tdb</p></td> +<td class="parameter_description"><p>A storage structure or NULL to use the default</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>host</p></td> +<td class="parameter_description"><p>The peer's name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>service</p></td> +<td class="parameter_description"><p>non-NULL if this key is specific to a service (e.g. http)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_type</p></td> +<td class="parameter_description"><p>The type of the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>The raw (der) data of the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be 0.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-verify-stored-pubkey.returns"></a><h4>Returns</h4> +<p> If no associated public key is found +then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-FOUND:CAPS" title="GNUTLS_E_NO_CERTIFICATE_FOUND"><code class="literal">GNUTLS_E_NO_CERTIFICATE_FOUND</code></a> will be returned. If a key +is found but does not match <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH"><code class="literal">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</code></a> +is returned. On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +or a negative error value on other errors.</p> +</div> +<p class="since">Since: 3.0.13</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-store-commitment"></a><h3>gnutls_store_commitment ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_store_commitment (<em class="parameter"><code>const <span class="type">char</span> *db_name</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t"><span class="type">gnutls_tdb_t</span></a> tdb</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *host</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *service</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> hash_algo</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *hash</code></em>, + <em class="parameter"><code><span class="type">time_t</span> expiration</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will store the provided hash commitment to +the list of stored public keys. The key with the given +hash will be considered valid until the provided expiration time.</p> +<p>The <em class="parameter"><code>tdb</code></em> + variable if non-null specifies a custom backend for +the storage of entries. If it is NULL then the +default file backend will be used.</p> +<p>Note that this function is not thread safe with the default backend.</p> +<div class="refsect3"> +<a name="gnutls-store-commitment.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>db_name</p></td> +<td class="parameter_description"><p>A file specifying the stored keys (use NULL for the default)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tdb</p></td> +<td class="parameter_description"><p>A storage structure or NULL to use the default</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>host</p></td> +<td class="parameter_description"><p>The peer's name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>service</p></td> +<td class="parameter_description"><p>non-NULL if this key is specific to a service (e.g. http)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash_algo</p></td> +<td class="parameter_description"><p>The hash algorithm type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hash</p></td> +<td class="parameter_description"><p>The raw hash</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>expiration</p></td> +<td class="parameter_description"><p>The expiration time (use 0 to disable expiration)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be 0 or <a class="link" href="gnutls-gnutls.html#GNUTLS-SCOMMIT-FLAG-ALLOW-BROKEN:CAPS" title="GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN"><code class="literal">GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-store-commitment.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-store-pubkey"></a><h3>gnutls_store_pubkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_store_pubkey (<em class="parameter"><code>const <span class="type">char</span> *db_name</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-tdb-t" title="gnutls_tdb_t"><span class="type">gnutls_tdb_t</span></a> tdb</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *host</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *service</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> cert_type</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cert</code></em>, + <em class="parameter"><code><span class="type">time_t</span> expiration</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will store a raw public-key or a public-key provided via +a raw (DER-encoded) certificate to the list of stored public keys. The key +will be considered valid until the provided expiration time.</p> +<p>The <em class="parameter"><code>tdb</code></em> + variable if non-null specifies a custom backend for +the storage of entries. If it is NULL then the +default file backend will be used.</p> +<p>Unless an alternative <em class="parameter"><code>tdb</code></em> + is provided, the storage format is a textual format +consisting of a line for each host with fields separated by '|'. The contents of +the fields are a format-identifier which is set to 'g0', the hostname that the +rest of the data applies to, the numeric port or host name, the expiration +time in seconds since the epoch (0 for no expiration), and a base64 +encoding of the raw (DER) public key information (SPKI) of the peer.</p> +<p>As of GnuTLS 3.6.6 this function also accepts raw public keys.</p> +<div class="refsect3"> +<a name="gnutls-store-pubkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>db_name</p></td> +<td class="parameter_description"><p>A file specifying the stored keys (use NULL for the default)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tdb</p></td> +<td class="parameter_description"><p>A storage structure or NULL to use the default</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>host</p></td> +<td class="parameter_description"><p>The peer's name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>service</p></td> +<td class="parameter_description"><p>non-NULL if this key is specific to a service (e.g. http)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_type</p></td> +<td class="parameter_description"><p>The type of the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>The data of the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>expiration</p></td> +<td class="parameter_description"><p>The expiration time (use 0 to disable expiration)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be 0.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-store-pubkey.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0.13</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-load-file"></a><h3>gnutls_load_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_load_file (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +<p>This function will load a file into a datum. The data are +zero terminated but the terminating null is not included in length. +The returned data are allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>Note that this function is not designed for reading sensitive materials, +such as private keys, on practical applications. When the reading fails +in the middle, the partially loaded content might remain on memory.</p> +<div class="refsect3"> +<a name="gnutls-load-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>filename</p></td> +<td class="parameter_description"><p>the name of the file to load</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>Where the file will be stored</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-load-file.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise +an error code is returned.</p> +<p>Since 3.1.0</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-url-is-supported"></a><h3>gnutls_url_is_supported ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_url_is_supported (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>);</pre> +<p>Check whether the provided <em class="parameter"><code>url</code></em> + is supported. Depending on the system libraries +GnuTLS may support pkcs11, tpmkey or other URLs.</p> +<div class="refsect3"> +<a name="gnutls-url-is-supported.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A URI to be tested</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-url-is-supported.returns"></a><h4>Returns</h4> +<p> return non-zero if the given URL is supported, and zero if +it is not known.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pin-callback-t"></a><h3>gnutls_pin_callback_t ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_pin_callback_t<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *userdata</code></em>, + <em class="parameter"><code><span class="type">int</span> attempt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *token_label</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code><span class="type">char</span> *pin</code></em>, + <em class="parameter"><code><span class="type">size_t</span> pin_max</code></em>);</pre> +<p>Callback function type for PKCS<span class="type">11</span> or TPM PIN entry. It is set by +functions like <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" title="gnutls_pkcs11_set_pin_function ()"><code class="function">gnutls_pkcs11_set_pin_function()</code></a>.</p> +<p>The callback should provides the PIN code to unlock the token with +label <em class="parameter"><code>token_label</code></em> +, specified by the URL <em class="parameter"><code>token_url</code></em> +.</p> +<p>The PIN code, as a NUL-terminated ASCII string, should be copied +into the <em class="parameter"><code>pin</code></em> + buffer (of maximum size <em class="parameter"><code>pin_max</code></em> +), and return 0 to +indicate success. Alternatively, the callback may return a +negative gnutls error code to indicate failure and cancel PIN entry +(in which case, the contents of the <em class="parameter"><code>pin</code></em> + parameter are ignored).</p> +<p>When a PIN is required, the callback will be invoked repeatedly +(and indefinitely) until either the returned PIN code is correct, +the callback returns failure, or the token refuses login (e.g. when +the token is locked due to too many incorrect PINs!). For the +first such invocation, the <em class="parameter"><code>attempt</code></em> + counter will have value zero; +it will increase by one for each subsequent attempt.</p> +<div class="refsect3"> +<a name="gnutls-pin-callback-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>user-controlled data from <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" title="gnutls_pkcs11_set_pin_function ()"><code class="function">gnutls_pkcs11_set_pin_function()</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>attempt</p></td> +<td class="parameter_description"><p>pin-attempt counter, initially 0.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>URL of token.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>token_label</p></td> +<td class="parameter_description"><p>label of token.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-pin-flag-t" title="enum gnutls_pin_flag_t"><span class="type">gnutls_pin_flag_t</span></a> flag.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pin</p></td> +<td class="parameter_description"><p>buffer to hold PIN, of size <em class="parameter"><code>pin_max</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pin_max</p></td> +<td class="parameter_description"><p>size of <em class="parameter"><code>pin</code></em> +buffer.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pin-callback-t.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-pin-function"></a><h3>gnutls_certificate_set_pin_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_pin_function (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> Param1</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-buffer-append-data"></a><h3>gnutls_buffer_append_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_buffer_append_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-buffer-t" title="gnutls_buffer_t"><span class="type">gnutls_buffer_t</span></a> Param1</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>);</pre> +<p>Appends the provided <em class="parameter"><code>data</code></em> + to the destination buffer.</p> +<div class="refsect3"> +<a name="gnutls-buffer-append-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dest</p></td> +<td class="parameter_description"><p>the buffer to append to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-buffer-append-data.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-utf8-password-normalize"></a><h3>gnutls_utf8_password_normalize ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_utf8_password_normalize (<em class="parameter"><code>const <span class="type">uint8_t</span> *password</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> password_len</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will convert the provided UTF-8 password according +to the normalization rules in RFC7613.</p> +<p>If the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-UTF8-IGNORE-ERRS:CAPS" title="GNUTLS_UTF8_IGNORE_ERRS"><code class="literal">GNUTLS_UTF8_IGNORE_ERRS</code></a> is specified, any UTF-8 encoding +errors will be ignored, and in that case the output will be a copy of the input.</p> +<div class="refsect3"> +<a name="gnutls-utf8-password-normalize.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>contain the UTF-8 formatted password</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>plen</p></td> +<td class="parameter_description"><p>the length of the provided password</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>the result in an null-terminated allocated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-utf8-password-normalize.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-UTF8-STRING:CAPS" title="GNUTLS_E_INVALID_UTF8_STRING"><code class="literal">GNUTLS_E_INVALID_UTF8_STRING</code></a> on invalid UTF-8 data, or 0 on success.</p> +</div> +<p class="since">Since: 3.5.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-set-data"></a><h3>gnutls_ext_set_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_ext_set_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-priv-data-t" title="gnutls_ext_priv_data_t"><span class="type">gnutls_ext_priv_data_t</span></a> Param3</code></em>);</pre> +<p>This function allows an extension handler to store data in the current session +and retrieve them later on. The set data will be deallocated using +the gnutls_ext_deinit_data_func.</p> +<div class="refsect3"> +<a name="gnutls-ext-set-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> opaque pointer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tls_id</p></td> +<td class="parameter_description"><p>the numeric id of the extension</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the private data to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-get-data"></a><h3>gnutls_ext_get_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_ext_get_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-priv-data-t" title="gnutls_ext_priv_data_t"><span class="type">gnutls_ext_priv_data_t</span></a> *Param3</code></em>);</pre> +<p>This function retrieves any data previously stored with <a class="link" href="gnutls-gnutls.html#gnutls-ext-set-data" title="gnutls_ext_set_data ()"><code class="function">gnutls_ext_set_data()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-ext-get-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> opaque pointer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tls_id</p></td> +<td class="parameter_description"><p>the numeric id of the extension</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>a pointer to the private data to retrieve</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ext-get-data.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-get-current-msg"></a><h3>gnutls_ext_get_current_msg ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_ext_get_current_msg (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre> +<p>This function allows an extension handler to obtain the message +this extension is being called from. The returned value is a single +entry of the <a class="link" href="gnutls-gnutls.html#gnutls-ext-flags-t" title="enum gnutls_ext_flags_t"><code class="literal">gnutls_ext_flags_t</code></a> enumeration. That is, if an +extension was registered with the <a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-FLAG-HRR:CAPS"><code class="literal">GNUTLS_EXT_FLAG_HRR</code></a> and +<a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-FLAG-EE:CAPS"><code class="literal">GNUTLS_EXT_FLAG_EE</code></a> flags, the value when called during parsing of the +encrypted extensions message will be <a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-FLAG-EE:CAPS"><code class="literal">GNUTLS_EXT_FLAG_EE</code></a>.</p> +<p>If not called under an extension handler, its value is undefined.</p> +<div class="refsect3"> +<a name="gnutls-ext-get-current-msg.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> opaque pointer</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-recv-func"></a><h3>gnutls_ext_recv_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_ext_recv_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-send-func"></a><h3>gnutls_ext_send_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_ext_send_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-buffer-t" title="gnutls_buffer_t"><span class="type">gnutls_buffer_t</span></a> extdata</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-deinit-data-func"></a><h3>gnutls_ext_deinit_data_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*gnutls_ext_deinit_data_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-priv-data-t" title="gnutls_ext_priv_data_t"><span class="type">gnutls_ext_priv_data_t</span></a> data</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-pack-func"></a><h3>gnutls_ext_pack_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_ext_pack_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-priv-data-t" title="gnutls_ext_priv_data_t"><span class="type">gnutls_ext_priv_data_t</span></a> data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-buffer-t" title="gnutls_buffer_t"><span class="type">gnutls_buffer_t</span></a> packed_data</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-unpack-func"></a><h3>gnutls_ext_unpack_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_ext_unpack_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-buffer-t" title="gnutls_buffer_t"><span class="type">gnutls_buffer_t</span></a> packed_data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-priv-data-t" title="gnutls_ext_priv_data_t"><span class="type">gnutls_ext_priv_data_t</span></a> *data</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-raw-process-func"></a><h3>gnutls_ext_raw_process_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_ext_raw_process_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> tls_id</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> data_size</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-raw-parse"></a><h3>gnutls_ext_raw_parse ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_ext_raw_parse (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-raw-process-func" title="gnutls_ext_raw_process_func ()"><span class="type">gnutls_ext_raw_process_func</span></a> cb</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function iterates through the TLS extensions as passed in +<em class="parameter"><code>data</code></em> +, passing the individual extension data to callback. The +<em class="parameter"><code>data</code></em> + must conform to Extension extensions<0..2^16-1> format.</p> +<p>If flags is <code class="literal">GNUTLS_EXT_RAW_TLS_FLAG_CLIENT_HELLO</code> then this function +will parse the extension data from the position, as if the packet in +<em class="parameter"><code>data</code></em> + is a client hello (without record or handshake headers) - +as provided by <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-hook-function" title="gnutls_handshake_set_hook_function ()"><code class="function">gnutls_handshake_set_hook_function()</code></a>.</p> +<p>The return value of the callback will be propagated.</p> +<div class="refsect3"> +<a name="gnutls-ext-raw-parse.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>ctx</p></td> +<td class="parameter_description"><p>a pointer to pass to callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cb</p></td> +<td class="parameter_description"><p>callback function to process each extension found</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>TLS extension data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero or <a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-RAW-FLAG-TLS-CLIENT-HELLO:CAPS" title="GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO"><code class="literal">GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-RAW-FLAG-DTLS-CLIENT-HELLO:CAPS" title="GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO"><code class="literal">GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ext-raw-parse.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code. On unknown +flags it returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-register"></a><h3>gnutls_ext_register ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_ext_register (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>, + <em class="parameter"><code><span class="type">int</span> type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t"><span class="type">gnutls_ext_parse_type_t</span></a> parse_point</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()"><span class="type">gnutls_ext_recv_func</span></a> recv_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()"><span class="type">gnutls_ext_send_func</span></a> send_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-deinit-data-func" title="gnutls_ext_deinit_data_func ()"><span class="type">gnutls_ext_deinit_data_func</span></a> deinit_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-pack-func" title="gnutls_ext_pack_func ()"><span class="type">gnutls_ext_pack_func</span></a> pack_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-unpack-func" title="gnutls_ext_unpack_func ()"><span class="type">gnutls_ext_unpack_func</span></a> unpack_func</code></em>);</pre> +<p>This function will register a new extension type. The extension will remain +registered until <a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()"><code class="function">gnutls_global_deinit()</code></a> is called. If the extension type +is already registered then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ALREADY-REGISTERED:CAPS" title="GNUTLS_E_ALREADY_REGISTERED"><code class="literal">GNUTLS_E_ALREADY_REGISTERED</code></a> will be returned.</p> +<p>Each registered extension can store temporary data into the gnutls_session_t +structure using <a class="link" href="gnutls-gnutls.html#gnutls-ext-set-data" title="gnutls_ext_set_data ()"><code class="function">gnutls_ext_set_data()</code></a>, and they can be retrieved using +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-data" title="gnutls_ext_get_data ()"><code class="function">gnutls_ext_get_data()</code></a>.</p> +<p>Any extensions registered with this function are valid for the client +and TLS1.2 server hello (or encrypted extensions for TLS1.3).</p> +<p>This function is not thread safe.</p> +<div class="refsect3"> +<a name="gnutls-ext-register.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>the name of the extension to register</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>the numeric TLS id of the extension</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>parse_point</p></td> +<td class="parameter_description"><p>the parse type of the extension (see gnutls_ext_parse_type_t)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>recv_func</p></td> +<td class="parameter_description"><p>a function to receive the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>send_func</p></td> +<td class="parameter_description"><p>a function to send the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit_func</p></td> +<td class="parameter_description"><p>a function deinitialize any private data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pack_func</p></td> +<td class="parameter_description"><p>a function which serializes the extension's private data (used on session packing for resumption)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>unpack_func</p></td> +<td class="parameter_description"><p>a function which will deserialize the extension's private data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ext-register.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-ext-register"></a><h3>gnutls_session_ext_register ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_ext_register (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> Param1</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *name</code></em>, + <em class="parameter"><code><span class="type">int</span> type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t"><span class="type">gnutls_ext_parse_type_t</span></a> parse_point</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()"><span class="type">gnutls_ext_recv_func</span></a> recv_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()"><span class="type">gnutls_ext_send_func</span></a> send_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-deinit-data-func" title="gnutls_ext_deinit_data_func ()"><span class="type">gnutls_ext_deinit_data_func</span></a> deinit_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-pack-func" title="gnutls_ext_pack_func ()"><span class="type">gnutls_ext_pack_func</span></a> pack_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-unpack-func" title="gnutls_ext_unpack_func ()"><span class="type">gnutls_ext_unpack_func</span></a> unpack_func</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will register a new extension type. The extension will be +only usable within the registered session. If the extension type +is already registered then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ALREADY-REGISTERED:CAPS" title="GNUTLS_E_ALREADY_REGISTERED"><code class="literal">GNUTLS_E_ALREADY_REGISTERED</code></a> will be returned, +unless the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-EXT-FLAG-OVERRIDE-INTERNAL:CAPS"><code class="literal">GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL</code></a> is specified. The latter +flag when specified can be used to override certain extensions introduced +after 3.6.0. It is expected to be used by applications which handle +custom extensions that are not currently supported in GnuTLS, but direct +support for them may be added in the future.</p> +<p>Each registered extension can store temporary data into the gnutls_session_t +structure using <a class="link" href="gnutls-gnutls.html#gnutls-ext-set-data" title="gnutls_ext_set_data ()"><code class="function">gnutls_ext_set_data()</code></a>, and they can be retrieved using +<a class="link" href="gnutls-gnutls.html#gnutls-ext-get-data" title="gnutls_ext_get_data ()"><code class="function">gnutls_ext_get_data()</code></a>.</p> +<p>The validity of the extension registered can be given by the appropriate flags +of <a class="link" href="gnutls-gnutls.html#gnutls-ext-flags-t" title="enum gnutls_ext_flags_t"><code class="literal">gnutls_ext_flags_t</code></a>. If no validity is given, then the registered extension +will be valid for client and TLS1.2 server hello (or encrypted extensions for TLS1.3).</p> +<div class="refsect3"> +<a name="gnutls-session-ext-register.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>the session for which this extension will be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>the name of the extension to register</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>the numeric id of the extension</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>parse_point</p></td> +<td class="parameter_description"><p>the parse type of the extension (see gnutls_ext_parse_type_t)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>recv_func</p></td> +<td class="parameter_description"><p>a function to receive the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>send_func</p></td> +<td class="parameter_description"><p>a function to send the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deinit_func</p></td> +<td class="parameter_description"><p>a function deinitialize any private data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pack_func</p></td> +<td class="parameter_description"><p>a function which serializes the extension's private data (used on session packing for resumption)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>unpack_func</p></td> +<td class="parameter_description"><p>a function which will deserialize the extension's private data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero or flags from <a class="link" href="gnutls-gnutls.html#gnutls-ext-flags-t" title="enum gnutls_ext_flags_t"><code class="literal">gnutls_ext_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-ext-register.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.5.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-get-name"></a><h3>gnutls_ext_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_ext_get_name (<em class="parameter"><code>unsigned <span class="type">int</span> ext</code></em>);</pre> +<p>Convert a TLS extension numeric ID to a printable string.</p> +<div class="refsect3"> +<a name="gnutls-ext-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>ext</p></td> +<td class="parameter_description"><p>is a TLS extension numeric ID</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ext-get-name.returns"></a><h4>Returns</h4> +<p> a pointer to a string that contains the name of the +specified cipher, or <code class="literal">NULL</code>.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-get-name2"></a><h3>gnutls_ext_get_name2 ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_ext_get_name2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> tls_id</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t"><span class="type">gnutls_ext_parse_type_t</span></a> parse_point</code></em>);</pre> +<p>Convert a TLS extension numeric ID to a printable string.</p> +<div class="refsect3"> +<a name="gnutls-ext-get-name2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> opaque pointer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tls_id</p></td> +<td class="parameter_description"><p>is a TLS extension numeric ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>parse_point</p></td> +<td class="parameter_description"><p>the parse type of the extension</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-ext-get-name2.returns"></a><h4>Returns</h4> +<p> a pointer to a string that contains the name of the +specified cipher, or <code class="literal">NULL</code>.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-supp-recv-func"></a><h3>gnutls_supp_recv_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_supp_recv_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-supp-send-func"></a><h3>gnutls_supp_send_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_supp_send_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-buffer-t" title="gnutls_buffer_t"><span class="type">gnutls_buffer_t</span></a> buf</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-supplemental-register"></a><h3>gnutls_supplemental_register ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_supplemental_register (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t"><span class="type">gnutls_supplemental_data_format_type_t</span></a> type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-supp-recv-func" title="gnutls_supp_recv_func ()"><span class="type">gnutls_supp_recv_func</span></a> supp_recv_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-supp-send-func" title="gnutls_supp_send_func ()"><span class="type">gnutls_supp_send_func</span></a> supp_send_func</code></em>);</pre> +<p>This function will register a new supplemental data type (rfc4680). +The registered data will remain until <a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()"><code class="function">gnutls_global_deinit()</code></a> +is called. The provided <em class="parameter"><code>type</code></em> + must be an unassigned type in +<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t"><code class="literal">gnutls_supplemental_data_format_type_t</code></a>. If the type is already +registered or handled by GnuTLS internally <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ALREADY-REGISTERED:CAPS" title="GNUTLS_E_ALREADY_REGISTERED"><code class="literal">GNUTLS_E_ALREADY_REGISTERED</code></a> +will be returned.</p> +<p>This function is not thread safe. As supplemental data are not defined under +TLS 1.3, this function will disable TLS 1.3 support globally.</p> +<div class="refsect3"> +<a name="gnutls-supplemental-register.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>the name of the supplemental data to register</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>the type of the supplemental data format</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>recv_func</p></td> +<td class="parameter_description"><p>the function to receive the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>send_func</p></td> +<td class="parameter_description"><p>the function to send the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-supplemental-register.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-supplemental-register"></a><h3>gnutls_session_supplemental_register ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_session_supplemental_register (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *name</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t"><span class="type">gnutls_supplemental_data_format_type_t</span></a> type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-supp-recv-func" title="gnutls_supp_recv_func ()"><span class="type">gnutls_supp_recv_func</span></a> supp_recv_func</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-supp-send-func" title="gnutls_supp_send_func ()"><span class="type">gnutls_supp_send_func</span></a> supp_send_func</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will register a new supplemental data type (rfc4680). +The registered supplemental functions will be used for that specific +session. The provided <em class="parameter"><code>type</code></em> + must be an unassigned type in +<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t"><code class="literal">gnutls_supplemental_data_format_type_t</code></a>.</p> +<p>If the type is already registered or handled by GnuTLS internally +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ALREADY-REGISTERED:CAPS" title="GNUTLS_E_ALREADY_REGISTERED"><code class="literal">GNUTLS_E_ALREADY_REGISTERED</code></a> will be returned.</p> +<p>As supplemental data are not defined under TLS 1.3, this function will +disable TLS 1.3 support for the given session.</p> +<div class="refsect3"> +<a name="gnutls-session-supplemental-register.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>the session for which this will be registered</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>the name of the supplemental data to register</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>the type of the supplemental data format</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>recv_func</p></td> +<td class="parameter_description"><p>the function to receive the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>send_func</p></td> +<td class="parameter_description"><p>the function to send the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-session-supplemental-register.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.5.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-supplemental-recv"></a><h3>gnutls_supplemental_recv ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_supplemental_recv (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> do_recv_supplemental</code></em>);</pre> +<p>This function is to be called by an extension handler to +instruct gnutls to attempt to receive supplemental data +during the handshake process.</p> +<div class="refsect3"> +<a name="gnutls-supplemental-recv.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>do_recv_supplemental</p></td> +<td class="parameter_description"><p>non-zero in order to expect supplemental data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-supplemental-send"></a><h3>gnutls_supplemental_send ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_supplemental_send (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> do_send_supplemental</code></em>);</pre> +<p>This function is to be called by an extension handler to +instruct gnutls to send supplemental data during the handshake process.</p> +<div class="refsect3"> +<a name="gnutls-supplemental-send.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>do_send_supplemental</p></td> +<td class="parameter_description"><p>non-zero in order to send supplemental data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anti-replay-init"></a><h3>gnutls_anti_replay_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_anti_replay_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> *anti_replay</code></em>);</pre> +<p>This function will allocate and initialize the <em class="parameter"><code>anti_replay</code></em> + context +to be usable for detect replay attacks. The context can then be +attached to a <em class="parameter"><code>gnutls_session_t</code></em> + with +<a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-enable" title="gnutls_anti_replay_enable ()"><code class="function">gnutls_anti_replay_enable()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-anti-replay-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>anti_replay</p></td> +<td class="parameter_description"><p>is a pointer to <a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-anti-replay-init.returns"></a><h4>Returns</h4> +<p> Zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anti-replay-deinit"></a><h3>gnutls_anti_replay_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anti_replay_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> anti_replay</code></em>);</pre> +<p>This function will deinitialize all resources occupied by the given +anti-replay context.</p> +<div class="refsect3"> +<a name="gnutls-anti-replay-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>anti_replay</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_anti_replay</span> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anti-replay-set-window"></a><h3>gnutls_anti_replay_set_window ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anti_replay_set_window (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> anti_replay</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> window</code></em>);</pre> +<p>Sets the time window used for ClientHello recording. In order to +protect against replay attacks, the server records ClientHello +messages within this time period from the last update, and +considers it a replay when a ClientHello outside of the period; if +a ClientHello arrives within this period, the server checks the +database and detects duplicates.</p> +<p>For the details of the algorithm, see RFC 8446, section 8.2.</p> +<div class="refsect3"> +<a name="gnutls-anti-replay-set-window.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>anti_replay</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>window</p></td> +<td class="parameter_description"><p>is the time window recording ClientHello, in milliseconds</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anti-replay-enable"></a><h3>gnutls_anti_replay_enable ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anti_replay_enable (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> anti_replay</code></em>);</pre> +<p>Request that the server should use anti-replay mechanism.</p> +<div class="refsect3"> +<a name="gnutls-anti-replay-enable.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>anti_replay</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-db-add-func"></a><h3>gnutls_db_add_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_db_add_func<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>, + <em class="parameter"><code><span class="type">time_t</span> exp_time</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anti-replay-set-add-function"></a><h3>gnutls_anti_replay_set_add_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anti_replay_set_add_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> Param1</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-add-func" title="gnutls_db_add_func ()"><span class="type">gnutls_db_add_func</span></a> add_func</code></em>);</pre> +<p>Sets the function that will be used to store an entry if it is not +already present in the resumed sessions database. This function returns 0 +if the entry is successfully stored, and a negative error code +otherwise. In particular, if the entry is found in the database, +it returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DB-ENTRY-EXISTS:CAPS" title="GNUTLS_E_DB_ENTRY_EXISTS"><code class="literal">GNUTLS_E_DB_ENTRY_EXISTS</code></a>.</p> +<p>The arguments to the <em class="parameter"><code>add_func</code></em> + are:</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p><code class="literal">ptr</code>: the pointer set with <a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-set-ptr" title="gnutls_anti_replay_set_ptr ()"><code class="function">gnutls_anti_replay_set_ptr()</code></a></p></li> +<li class="listitem"><p><code class="literal">exp_time</code>: the expiration time of the entry</p></li> +<li class="listitem"><p><code class="literal">key</code>: a pointer to the key</p></li> +<li class="listitem"><p><code class="literal">data</code>: a pointer to data to store</p></li> +</ul></div> +<p>The data set by this function can be examined using +<a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry-expire-time" title="gnutls_db_check_entry_expire_time ()"><code class="function">gnutls_db_check_entry_expire_time()</code></a> and <a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry-time" title="gnutls_db_check_entry_time ()"><code class="function">gnutls_db_check_entry_time()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-anti-replay-set-add-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>anti_replay</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>add_func</p></td> +<td class="parameter_description"><p>is the function.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.6.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anti-replay-set-ptr"></a><h3>gnutls_anti_replay_set_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_anti_replay_set_ptr (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> Param1</code></em>, + <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre> +<p>Sets the pointer that will be provided to db add function +as the first argument.</p> +<div class="refsect3"> +<a name="gnutls-anti-replay-set-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>anti_replay</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-anti-replay-t" title="gnutls_anti_replay_t"><span class="type">gnutls_anti_replay_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>is the pointer</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-read-func"></a><h3>gnutls_handshake_read_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_handshake_read_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-record-encryption-level-t" title="enum gnutls_record_encryption_level_t"><span class="type">gnutls_record_encryption_level_t</span></a> level</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="type">gnutls_handshake_description_t</span></a> htype</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>);</pre> +<p>Function prototype for handshake intercepting hooks. It is set using +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-read-function" title="gnutls_handshake_set_read_function ()"><code class="function">gnutls_handshake_set_read_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-handshake-read-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>the current session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>htype</p></td> +<td class="parameter_description"><p>the type of the handshake message (<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="type">gnutls_handshake_description_t</span></a>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>level</p></td> +<td class="parameter_description"><p><a class="link" href="gnutls-gnutls.html#gnutls-record-encryption-level-t" title="enum gnutls_record_encryption_level_t"><span class="type">gnutls_record_encryption_level_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the (const) data that was being sent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>the size of data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-handshake-read-func.returns"></a><h4>Returns</h4> +<p> Non zero on error.</p> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-set-read-function"></a><h3>gnutls_handshake_set_read_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_handshake_set_read_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-handshake-read-func" title="gnutls_handshake_read_func ()"><span class="type">gnutls_handshake_read_func</span></a> func</code></em>);</pre> +<p>This function will set a callback to be called when a handshake +message is being sent.</p> +<div class="refsect3"> +<a name="gnutls-handshake-set-read-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-write"></a><h3>gnutls_handshake_write ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_handshake_write (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-record-encryption-level-t" title="enum gnutls_record_encryption_level_t"><span class="type">gnutls_record_encryption_level_t</span></a> level</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>);</pre> +<p>This function processes a handshake message in the encryption level +specified with <em class="parameter"><code>level</code></em> +. Prior to calling this function, a handshake +read callback must be set on <em class="parameter"><code>session</code></em> +. Use +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-read-function" title="gnutls_handshake_set_read_function ()"><code class="function">gnutls_handshake_set_read_function()</code></a> to do this.</p> +<div class="refsect3"> +<a name="gnutls-handshake-write.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>level</p></td> +<td class="parameter_description"><p>the current encryption level for reading a handshake message</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the (const) handshake data to be processed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>the size of data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-secret-func"></a><h3>gnutls_handshake_secret_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_handshake_secret_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-record-encryption-level-t" title="enum gnutls_record_encryption_level_t"><span class="type">gnutls_record_encryption_level_t</span></a> level</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *secret_read</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *secret_write</code></em>, + <em class="parameter"><code><span class="type">size_t</span> secret_size</code></em>);</pre> +<p>Function prototype for secret hooks. It is set using +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-secret-function" title="gnutls_handshake_set_secret_function ()"><code class="function">gnutls_handshake_set_secret_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-handshake-secret-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>the current session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>level</p></td> +<td class="parameter_description"><p>the encryption level</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>secret_read</p></td> +<td class="parameter_description"><p>the secret used for reading, can be <code class="literal">NULL</code> if not set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>secret_write</p></td> +<td class="parameter_description"><p>the secret used for writing, can be <code class="literal">NULL</code> if not set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>secret_size</p></td> +<td class="parameter_description"><p>the size of the secrets</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-handshake-secret-func.returns"></a><h4>Returns</h4> +<p> Non zero on error.</p> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-set-secret-function"></a><h3>gnutls_handshake_set_secret_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_handshake_set_secret_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-handshake-secret-func" title="gnutls_handshake_secret_func ()"><span class="type">gnutls_handshake_secret_func</span></a> func</code></em>);</pre> +<p>This function will set a callback to be called when a new traffic +secret is installed.</p> +<div class="refsect3"> +<a name="gnutls-handshake-set-secret-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>the secret func</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alert-read-func"></a><h3>gnutls_alert_read_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_alert_read_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-record-encryption-level-t" title="enum gnutls_record_encryption_level_t"><span class="type">gnutls_record_encryption_level_t</span></a> level</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-level-t" title="enum gnutls_alert_level_t"><span class="type">gnutls_alert_level_t</span></a> alert_level</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> alert_desc</code></em>);</pre> +<p>Function prototype for alert intercepting hooks. It is set using +<a class="link" href="gnutls-gnutls.html#gnutls-alert-set-read-function" title="gnutls_alert_set_read_function ()"><code class="function">gnutls_alert_set_read_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-alert-read-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>the current session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>level</p></td> +<td class="parameter_description"><p><a class="link" href="gnutls-gnutls.html#gnutls-record-encryption-level-t" title="enum gnutls_record_encryption_level_t"><span class="type">gnutls_record_encryption_level_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alert_level</p></td> +<td class="parameter_description"><p>the level of the alert</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alert_desc</p></td> +<td class="parameter_description"><p>the alert description</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-alert-read-func.returns"></a><h4>Returns</h4> +<p> Non zero on error.</p> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alert-set-read-function"></a><h3>gnutls_alert_set_read_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_alert_set_read_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-read-func" title="gnutls_alert_read_func ()"><span class="type">gnutls_alert_read_func</span></a> func</code></em>);</pre> +<p>This function will set a callback to be called when an alert +message is being sent.</p> +<div class="refsect3"> +<a name="gnutls-alert-set-read-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the function to be called</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-mode-enabled"></a><h3>gnutls_fips140_mode_enabled ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_fips140_mode_enabled (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Checks whether this library is in FIPS140 mode. The returned +value corresponds to the library mode as set with +<a class="link" href="gnutls-gnutls.html#gnutls-fips140-set-mode" title="gnutls_fips140_set_mode ()"><code class="function">gnutls_fips140_set_mode()</code></a>.</p> +<p>If <a class="link" href="gnutls-gnutls.html#gnutls-fips140-set-mode" title="gnutls_fips140_set_mode ()"><code class="function">gnutls_fips140_set_mode()</code></a> was called with <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SET-MODE-THREAD:CAPS" title="GNUTLS_FIPS140_SET_MODE_THREAD"><code class="literal">GNUTLS_FIPS140_SET_MODE_THREAD</code></a> +then this function will return the current thread's FIPS140 mode, otherwise +the global value is returned.</p> +<div class="refsect3"> +<a name="gnutls-fips140-mode-enabled.returns"></a><h4>Returns</h4> +<p> return non-zero if true or zero if false.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-set-mode"></a><h3>gnutls_fips140_set_mode ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_fips140_set_mode (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-fips-mode-t" title="enum gnutls_fips_mode_t"><span class="type">gnutls_fips_mode_t</span></a> mode</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>That function is not thread-safe when changing the mode with no flags +(globally), and should be called prior to creating any threads. Its +behavior with no flags after threads are created is undefined.</p> +<p>When the flag <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SET-MODE-THREAD:CAPS" title="GNUTLS_FIPS140_SET_MODE_THREAD"><code class="literal">GNUTLS_FIPS140_SET_MODE_THREAD</code></a> is specified +then this call will change the FIPS140-2 mode for this particular +thread and not for the whole process. That way an application +can utilize this function to set and reset mode for specific +operations.</p> +<p>This function never fails but will be a no-op if used when +the library is not in FIPS140-2 mode. When asked to switch to unknown +values for <em class="parameter"><code>mode</code></em> + or to <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SELFTESTS:CAPS"><code class="literal">GNUTLS_FIPS140_SELFTESTS</code></a> mode, the library +switches to <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-STRICT:CAPS"><code class="literal">GNUTLS_FIPS140_STRICT</code></a> mode.</p> +<div class="refsect3"> +<a name="gnutls-fips140-set-mode.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>mode</p></td> +<td class="parameter_description"><p>the FIPS140-2 mode to switch to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero or <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-SET-MODE-THREAD:CAPS" title="GNUTLS_FIPS140_SET_MODE_THREAD"><code class="literal">GNUTLS_FIPS140_SET_MODE_THREAD</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.6.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-FIPS140-SET-LAX-MODE:CAPS"></a><h3>GNUTLS_FIPS140_SET_LAX_MODE</h3> +<pre class="programlisting">#define GNUTLS_FIPS140_SET_LAX_MODE()</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-FIPS140-SET-STRICT-MODE:CAPS"></a><h3>GNUTLS_FIPS140_SET_STRICT_MODE</h3> +<pre class="programlisting">#define GNUTLS_FIPS140_SET_STRICT_MODE()</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-context-init"></a><h3>gnutls_fips140_context_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_fips140_context_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-t" title="gnutls_fips140_context_t"><span class="type">gnutls_fips140_context_t</span></a> *context</code></em>);</pre> +<p>Create and initialize the FIPS context object.</p> +<div class="refsect3"> +<a name="gnutls-fips140-context-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>context</p></td> +<td class="parameter_description"><p>location to store <em class="parameter"><code>gnutls_fips140_context_t</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-fips140-context-init.returns"></a><h4>Returns</h4> +<p> 0 upon success, a negative error code otherwise</p> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-context-deinit"></a><h3>gnutls_fips140_context_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_fips140_context_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-t" title="gnutls_fips140_context_t"><span class="type">gnutls_fips140_context_t</span></a> context</code></em>);</pre> +<p>Uninitialize and release the FIPS context <em class="parameter"><code>context</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-fips140-context-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>context</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-t" title="gnutls_fips140_context_t"><span class="type">gnutls_fips140_context_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-get-operation-state"></a><h3>gnutls_fips140_get_operation_state ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-fips140-operation-state-t" title="enum gnutls_fips140_operation_state_t"><span class="returnvalue">gnutls_fips140_operation_state_t</span></a> +gnutls_fips140_get_operation_state (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-t" title="gnutls_fips140_context_t"><span class="type">gnutls_fips140_context_t</span></a> context</code></em>);</pre> +<p>Get the previous operation state of <em class="parameter"><code>context</code></em> + in terms of FIPS.</p> +<div class="refsect3"> +<a name="gnutls-fips140-get-operation-state.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>context</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-t" title="gnutls_fips140_context_t"><span class="type">gnutls_fips140_context_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-fips140-get-operation-state.returns"></a><h4>Returns</h4> +<p> a <a class="link" href="gnutls-gnutls.html#gnutls-fips140-operation-state-t" title="enum gnutls_fips140_operation_state_t"><span class="type">gnutls_fips140_operation_state_t</span></a></p> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-push-context"></a><h3>gnutls_fips140_push_context ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_fips140_push_context (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-t" title="gnutls_fips140_context_t"><span class="type">gnutls_fips140_context_t</span></a> context</code></em>);</pre> +<p>Associate the FIPS <em class="parameter"><code>context</code></em> + to the current thread, diverting the +currently active context. If a cryptographic operation is ongoing +in the current thread, e.g., <code class="function">gnutls_aead_cipher_init()</code> is called +but <a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-deinit" title="gnutls_aead_cipher_deinit ()"><code class="function">gnutls_aead_cipher_deinit()</code></a> is not yet called, it returns an +error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +<p>The operation state of <em class="parameter"><code>context</code></em> + will be reset to +<a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-OP-INITIAL:CAPS"><code class="literal">GNUTLS_FIPS140_OP_INITIAL</code></a>.</p> +<p>This function is no-op if FIPS140 is not compiled in nor enabled +at run-time.</p> +<div class="refsect3"> +<a name="gnutls-fips140-push-context.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>context</p></td> +<td class="parameter_description"><p>a <a class="link" href="gnutls-gnutls.html#gnutls-fips140-context-t" title="gnutls_fips140_context_t"><span class="type">gnutls_fips140_context_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-fips140-push-context.returns"></a><h4>Returns</h4> +<p> 0 upon success, a negative error code otherwise</p> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-pop-context"></a><h3>gnutls_fips140_pop_context ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_fips140_pop_context (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Dissociate the FIPS context currently +active on the current thread, reverting to the previously active +context. If a cryptographic operation is ongoing in the current +thread, e.g., <code class="function">gnutls_aead_cipher_init()</code> is called but +<a class="link" href="gnutls-crypto.html#gnutls-aead-cipher-deinit" title="gnutls_aead_cipher_deinit ()"><code class="function">gnutls_aead_cipher_deinit()</code></a> is not yet called, it returns an error +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</p> +<p>This function is no-op if FIPS140 is not compiled in nor enabled +at run-time.</p> +<div class="refsect3"> +<a name="gnutls-fips140-pop-context.returns"></a><h4>Returns</h4> +<p> 0 upon success, a negative error code otherwise</p> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-run-self-tests"></a><h3>gnutls_fips140_run_self_tests ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_fips140_run_self_tests (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Manually perform the second round of the FIPS140 self-tests, +including:</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p>Known answer tests (KAT) for the selected set of symmetric +cipher, MAC, public key, KDF, and DRBG</p></li> +<li class="listitem"><p>Library integrity checks</p></li> +</ul></div> +<p>Upon failure with FIPS140 mode enabled, it makes the library +unusable. This function is not thread-safe.</p> +<div class="refsect3"> +<a name="gnutls-fips140-run-self-tests.returns"></a><h4>Returns</h4> +<p> 0 upon success, a negative error code otherwise</p> +</div> +<p class="since">Since: 3.7.7</p> +</div> +</div> +<div class="refsect1"> +<a name="gnutls-gnutls.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="GNUTLS-VERSION:CAPS"></a><h3>GNUTLS_VERSION</h3> +<pre class="programlisting">#define GNUTLS_VERSION "3.7.9" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-VERSION-MAJOR:CAPS"></a><h3>GNUTLS_VERSION_MAJOR</h3> +<pre class="programlisting">#define GNUTLS_VERSION_MAJOR 3 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-VERSION-MINOR:CAPS"></a><h3>GNUTLS_VERSION_MINOR</h3> +<pre class="programlisting">#define GNUTLS_VERSION_MINOR 7 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-VERSION-PATCH:CAPS"></a><h3>GNUTLS_VERSION_PATCH</h3> +<pre class="programlisting">#define GNUTLS_VERSION_PATCH 9 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-VERSION-NUMBER:CAPS"></a><h3>GNUTLS_VERSION_NUMBER</h3> +<pre class="programlisting">#define GNUTLS_VERSION_NUMBER 0x030709 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-CIPHER-RIJNDAEL-128-CBC:CAPS"></a><h3>GNUTLS_CIPHER_RIJNDAEL_128_CBC</h3> +<pre class="programlisting">#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-CIPHER-RIJNDAEL-256-CBC:CAPS"></a><h3>GNUTLS_CIPHER_RIJNDAEL_256_CBC</h3> +<pre class="programlisting">#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-CIPHER-RIJNDAEL-CBC:CAPS"></a><h3>GNUTLS_CIPHER_RIJNDAEL_CBC</h3> +<pre class="programlisting">#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-CIPHER-ARCFOUR:CAPS"></a><h3>GNUTLS_CIPHER_ARCFOUR</h3> +<pre class="programlisting">#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-SKIP-GLOBAL-INIT:CAPS"></a><h3>GNUTLS_SKIP_GLOBAL_INIT</h3> +<pre class="programlisting">#define GNUTLS_SKIP_GLOBAL_INIT</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cipher-algorithm-t"></a><h3>enum gnutls_cipher_algorithm_t</h3> +<p>Enumeration of different symmetric encryption algorithms.</p> +<div class="refsect3"> +<a name="gnutls-cipher-algorithm-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-UNKNOWN:CAPS"></a>GNUTLS_CIPHER_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Value to identify an unknown/unsupported algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-NULL:CAPS"></a>GNUTLS_CIPHER_NULL</p></td> +<td class="enum_member_description"> +<p>The NULL (identity) encryption algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-ARCFOUR-128:CAPS"></a>GNUTLS_CIPHER_ARCFOUR_128</p></td> +<td class="enum_member_description"> +<p>ARCFOUR stream cipher with 128-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-3DES-CBC:CAPS"></a>GNUTLS_CIPHER_3DES_CBC</p></td> +<td class="enum_member_description"> +<p>3DES in CBC mode.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-128-CBC:CAPS"></a>GNUTLS_CIPHER_AES_128_CBC</p></td> +<td class="enum_member_description"> +<p>AES in CBC mode with 128-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-256-CBC:CAPS"></a>GNUTLS_CIPHER_AES_256_CBC</p></td> +<td class="enum_member_description"> +<p>AES in CBC mode with 256-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-ARCFOUR-40:CAPS"></a>GNUTLS_CIPHER_ARCFOUR_40</p></td> +<td class="enum_member_description"> +<p>ARCFOUR stream cipher with 40-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-CAMELLIA-128-CBC:CAPS"></a>GNUTLS_CIPHER_CAMELLIA_128_CBC</p></td> +<td class="enum_member_description"> +<p>Camellia in CBC mode with 128-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-CAMELLIA-256-CBC:CAPS"></a>GNUTLS_CIPHER_CAMELLIA_256_CBC</p></td> +<td class="enum_member_description"> +<p>Camellia in CBC mode with 256-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-192-CBC:CAPS"></a>GNUTLS_CIPHER_AES_192_CBC</p></td> +<td class="enum_member_description"> +<p>AES in CBC mode with 192-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-128-GCM:CAPS"></a>GNUTLS_CIPHER_AES_128_GCM</p></td> +<td class="enum_member_description"> +<p>AES in GCM mode with 128-bit keys (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-256-GCM:CAPS"></a>GNUTLS_CIPHER_AES_256_GCM</p></td> +<td class="enum_member_description"> +<p>AES in GCM mode with 256-bit keys (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-CAMELLIA-192-CBC:CAPS"></a>GNUTLS_CIPHER_CAMELLIA_192_CBC</p></td> +<td class="enum_member_description"> +<p>Camellia in CBC mode with 192-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-SALSA20-256:CAPS"></a>GNUTLS_CIPHER_SALSA20_256</p></td> +<td class="enum_member_description"> +<p>Salsa20 with 256-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-ESTREAM-SALSA20-256:CAPS"></a>GNUTLS_CIPHER_ESTREAM_SALSA20_256</p></td> +<td class="enum_member_description"> +<p>Estream's Salsa20 variant with 256-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-CAMELLIA-128-GCM:CAPS"></a>GNUTLS_CIPHER_CAMELLIA_128_GCM</p></td> +<td class="enum_member_description"> +<p>CAMELLIA in GCM mode with 128-bit keys (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-CAMELLIA-256-GCM:CAPS"></a>GNUTLS_CIPHER_CAMELLIA_256_GCM</p></td> +<td class="enum_member_description"> +<p>CAMELLIA in GCM mode with 256-bit keys (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-RC2-40-CBC:CAPS"></a>GNUTLS_CIPHER_RC2_40_CBC</p></td> +<td class="enum_member_description"> +<p>RC2 in CBC mode with 40-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-DES-CBC:CAPS"></a>GNUTLS_CIPHER_DES_CBC</p></td> +<td class="enum_member_description"> +<p>DES in CBC mode (56-bit keys).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-128-CCM:CAPS"></a>GNUTLS_CIPHER_AES_128_CCM</p></td> +<td class="enum_member_description"> +<p>AES in CCM mode with 128-bit keys (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-256-CCM:CAPS"></a>GNUTLS_CIPHER_AES_256_CCM</p></td> +<td class="enum_member_description"> +<p>AES in CCM mode with 256-bit keys (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-128-CCM-8:CAPS"></a>GNUTLS_CIPHER_AES_128_CCM_8</p></td> +<td class="enum_member_description"> +<p>AES in CCM mode with 64-bit tag and 128-bit keys (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-256-CCM-8:CAPS"></a>GNUTLS_CIPHER_AES_256_CCM_8</p></td> +<td class="enum_member_description"> +<p>AES in CCM mode with 64-bit tag and 256-bit keys (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-CHACHA20-POLY1305:CAPS"></a>GNUTLS_CIPHER_CHACHA20_POLY1305</p></td> +<td class="enum_member_description"> +<p>The Chacha20 cipher with the Poly1305 authenticator (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-GOST28147-TC26Z-CFB:CAPS"></a>GNUTLS_CIPHER_GOST28147_TC26Z_CFB</p></td> +<td class="enum_member_description"> +<p>GOST 28147-89 (Magma) cipher in CFB mode with TC26 Z S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-GOST28147-CPA-CFB:CAPS"></a>GNUTLS_CIPHER_GOST28147_CPA_CFB</p></td> +<td class="enum_member_description"> +<p>GOST 28147-89 (Magma) cipher in CFB mode with CryptoPro A S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-GOST28147-CPB-CFB:CAPS"></a>GNUTLS_CIPHER_GOST28147_CPB_CFB</p></td> +<td class="enum_member_description"> +<p>GOST 28147-89 (Magma) cipher in CFB mode with CryptoPro B S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-GOST28147-CPC-CFB:CAPS"></a>GNUTLS_CIPHER_GOST28147_CPC_CFB</p></td> +<td class="enum_member_description"> +<p>GOST 28147-89 (Magma) cipher in CFB mode with CryptoPro C S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-GOST28147-CPD-CFB:CAPS"></a>GNUTLS_CIPHER_GOST28147_CPD_CFB</p></td> +<td class="enum_member_description"> +<p>GOST 28147-89 (Magma) cipher in CFB mode with CryptoPro D S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-128-CFB8:CAPS"></a>GNUTLS_CIPHER_AES_128_CFB8</p></td> +<td class="enum_member_description"> +<p>AES in CFB8 mode with 128-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-192-CFB8:CAPS"></a>GNUTLS_CIPHER_AES_192_CFB8</p></td> +<td class="enum_member_description"> +<p>AES in CFB8 mode with 192-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-256-CFB8:CAPS"></a>GNUTLS_CIPHER_AES_256_CFB8</p></td> +<td class="enum_member_description"> +<p>AES in CFB8 mode with 256-bit keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-128-XTS:CAPS"></a>GNUTLS_CIPHER_AES_128_XTS</p></td> +<td class="enum_member_description"> +<p>AES in XTS mode with 128-bit key + 128bit tweak key.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-256-XTS:CAPS"></a>GNUTLS_CIPHER_AES_256_XTS</p></td> +<td class="enum_member_description"> +<p>AES in XTS mode with 256-bit key + 256bit tweak key. +Note that the XTS ciphers are message oriented. +The whole message needs to be provided with a single call, because +cipher-stealing requires to know where the message actually terminates +in order to be able to compute where the stealing occurs.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-GOST28147-TC26Z-CNT:CAPS"></a>GNUTLS_CIPHER_GOST28147_TC26Z_CNT</p></td> +<td class="enum_member_description"> +<p>GOST 28147-89 (Magma) cipher in CNT mode with TC26 Z S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-CHACHA20-64:CAPS"></a>GNUTLS_CIPHER_CHACHA20_64</p></td> +<td class="enum_member_description"> +<p>Chacha20 cipher with 64-bit nonces and 64-bit block counters.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-CHACHA20-32:CAPS"></a>GNUTLS_CIPHER_CHACHA20_32</p></td> +<td class="enum_member_description"> +<p>Chacha20 cipher with 96-bit nonces and 32-bit block counters.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-128-SIV:CAPS"></a>GNUTLS_CIPHER_AES_128_SIV</p></td> +<td class="enum_member_description"> +<p>AES in SIV mode with 128-bit key.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-256-SIV:CAPS"></a>GNUTLS_CIPHER_AES_256_SIV</p></td> +<td class="enum_member_description"> +<p>AES in SIV mode with 256-bit key. +Note that the SIV ciphers can only be used with +the AEAD interface, and the IV plays a role as +the authentication tag while it is prepended to +the cipher text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES-192-GCM:CAPS"></a>GNUTLS_CIPHER_AES_192_GCM</p></td> +<td class="enum_member_description"> +<p>AES in GCM mode with 192-bit keys (AEAD).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-MAGMA-CTR-ACPKM:CAPS"></a>GNUTLS_CIPHER_MAGMA_CTR_ACPKM</p></td> +<td class="enum_member_description"> +<p>GOST R 34.12-2015 (Magma) cipher in CTR-ACPKM mode.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-KUZNYECHIK-CTR-ACPKM:CAPS"></a>GNUTLS_CIPHER_KUZNYECHIK_CTR_ACPKM</p></td> +<td class="enum_member_description"> +<p>GOST R 34.12-2015 (Kuznyechik) cipher in CTR-ACPKM mode.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-IDEA-PGP-CFB:CAPS"></a>GNUTLS_CIPHER_IDEA_PGP_CFB</p></td> +<td class="enum_member_description"> +<p>IDEA in CFB mode (placeholder - unsupported).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-3DES-PGP-CFB:CAPS"></a>GNUTLS_CIPHER_3DES_PGP_CFB</p></td> +<td class="enum_member_description"> +<p>3DES in CFB mode (placeholder - unsupported).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-CAST5-PGP-CFB:CAPS"></a>GNUTLS_CIPHER_CAST5_PGP_CFB</p></td> +<td class="enum_member_description"> +<p>CAST5 in CFB mode (placeholder - unsupported).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-BLOWFISH-PGP-CFB:CAPS"></a>GNUTLS_CIPHER_BLOWFISH_PGP_CFB</p></td> +<td class="enum_member_description"> +<p>Blowfish in CFB mode (placeholder - unsupported).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-SAFER-SK128-PGP-CFB:CAPS"></a>GNUTLS_CIPHER_SAFER_SK128_PGP_CFB</p></td> +<td class="enum_member_description"> +<p>Safer-SK in CFB mode with 128-bit keys (placeholder - unsupported).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES128-PGP-CFB:CAPS"></a>GNUTLS_CIPHER_AES128_PGP_CFB</p></td> +<td class="enum_member_description"> +<p>AES in CFB mode with 128-bit keys (placeholder - unsupported).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES192-PGP-CFB:CAPS"></a>GNUTLS_CIPHER_AES192_PGP_CFB</p></td> +<td class="enum_member_description"> +<p>AES in CFB mode with 192-bit keys (placeholder - unsupported).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-AES256-PGP-CFB:CAPS"></a>GNUTLS_CIPHER_AES256_PGP_CFB</p></td> +<td class="enum_member_description"> +<p>AES in CFB mode with 256-bit keys (placeholder - unsupported).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CIPHER-TWOFISH-PGP-CFB:CAPS"></a>GNUTLS_CIPHER_TWOFISH_PGP_CFB</p></td> +<td class="enum_member_description"> +<p>Twofish in CFB mode (placeholder - unsupported).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-kx-algorithm-t"></a><h3>enum gnutls_kx_algorithm_t</h3> +<p>Enumeration of different key exchange algorithms.</p> +<div class="refsect3"> +<a name="gnutls-kx-algorithm-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-UNKNOWN:CAPS"></a>GNUTLS_KX_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-RSA:CAPS"></a>GNUTLS_KX_RSA</p></td> +<td class="enum_member_description"> +<p>RSA key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-DHE-DSS:CAPS"></a>GNUTLS_KX_DHE_DSS</p></td> +<td class="enum_member_description"> +<p>DHE-DSS key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-DHE-RSA:CAPS"></a>GNUTLS_KX_DHE_RSA</p></td> +<td class="enum_member_description"> +<p>DHE-RSA key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-ANON-DH:CAPS"></a>GNUTLS_KX_ANON_DH</p></td> +<td class="enum_member_description"> +<p>Anon-DH key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-SRP:CAPS"></a>GNUTLS_KX_SRP</p></td> +<td class="enum_member_description"> +<p>SRP key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-RSA-EXPORT:CAPS"></a>GNUTLS_KX_RSA_EXPORT</p></td> +<td class="enum_member_description"> +<p>RSA-EXPORT key-exchange algorithm (defunc).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-SRP-RSA:CAPS"></a>GNUTLS_KX_SRP_RSA</p></td> +<td class="enum_member_description"> +<p>SRP-RSA key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-SRP-DSS:CAPS"></a>GNUTLS_KX_SRP_DSS</p></td> +<td class="enum_member_description"> +<p>SRP-DSS key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-PSK:CAPS"></a>GNUTLS_KX_PSK</p></td> +<td class="enum_member_description"> +<p>PSK key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-DHE-PSK:CAPS"></a>GNUTLS_KX_DHE_PSK</p></td> +<td class="enum_member_description"> +<p>DHE-PSK key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-ANON-ECDH:CAPS"></a>GNUTLS_KX_ANON_ECDH</p></td> +<td class="enum_member_description"> +<p>Anon-ECDH key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-ECDHE-RSA:CAPS"></a>GNUTLS_KX_ECDHE_RSA</p></td> +<td class="enum_member_description"> +<p>ECDHE-RSA key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-ECDHE-ECDSA:CAPS"></a>GNUTLS_KX_ECDHE_ECDSA</p></td> +<td class="enum_member_description"> +<p>ECDHE-ECDSA key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-ECDHE-PSK:CAPS"></a>GNUTLS_KX_ECDHE_PSK</p></td> +<td class="enum_member_description"> +<p>ECDHE-PSK key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-RSA-PSK:CAPS"></a>GNUTLS_KX_RSA_PSK</p></td> +<td class="enum_member_description"> +<p>RSA-PSK key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KX-VKO-GOST-12:CAPS"></a>GNUTLS_KX_VKO_GOST_12</p></td> +<td class="enum_member_description"> +<p>VKO GOST R 34.10-2012 key-exchange algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-params-type-t"></a><h3>enum gnutls_params_type_t</h3> +<p>Enumeration of different TLS session parameter types.</p> +<div class="refsect3"> +<a name="gnutls-params-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PARAMS-RSA-EXPORT:CAPS"></a>GNUTLS_PARAMS_RSA_EXPORT</p></td> +<td class="enum_member_description"> +<p>Session RSA-EXPORT parameters (defunc).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PARAMS-DH:CAPS"></a>GNUTLS_PARAMS_DH</p></td> +<td class="enum_member_description"> +<p>Session Diffie-Hellman parameters.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PARAMS-ECDH:CAPS"></a>GNUTLS_PARAMS_ECDH</p></td> +<td class="enum_member_description"> +<p>Session Elliptic-Curve Diffie-Hellman parameters.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-credentials-type-t"></a><h3>enum gnutls_credentials_type_t</h3> +<p>Enumeration of different credential types.</p> +<div class="refsect3"> +<a name="gnutls-credentials-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRD-CERTIFICATE:CAPS"></a>GNUTLS_CRD_CERTIFICATE</p></td> +<td class="enum_member_description"> +<p>Certificate credential.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRD-ANON:CAPS"></a>GNUTLS_CRD_ANON</p></td> +<td class="enum_member_description"> +<p>Anonymous credential.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRD-SRP:CAPS"></a>GNUTLS_CRD_SRP</p></td> +<td class="enum_member_description"> +<p>SRP credential.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRD-PSK:CAPS"></a>GNUTLS_CRD_PSK</p></td> +<td class="enum_member_description"> +<p>PSK credential.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRD-IA:CAPS"></a>GNUTLS_CRD_IA</p></td> +<td class="enum_member_description"> +<p>IA credential.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-MAC-SHA:CAPS"></a><h3>GNUTLS_MAC_SHA</h3> +<pre class="programlisting">#define GNUTLS_MAC_SHA GNUTLS_MAC_SHA1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-DIG-SHA:CAPS"></a><h3>GNUTLS_DIG_SHA</h3> +<pre class="programlisting">#define GNUTLS_DIG_SHA GNUTLS_DIG_SHA1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-mac-algorithm-t"></a><h3>enum gnutls_mac_algorithm_t</h3> +<p>Enumeration of different Message Authentication Code (MAC) +algorithms.</p> +<div class="refsect3"> +<a name="gnutls-mac-algorithm-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-UNKNOWN:CAPS"></a>GNUTLS_MAC_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown MAC algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-NULL:CAPS"></a>GNUTLS_MAC_NULL</p></td> +<td class="enum_member_description"> +<p>NULL MAC algorithm (empty output).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-MD5:CAPS"></a>GNUTLS_MAC_MD5</p></td> +<td class="enum_member_description"> +<p>HMAC-MD5 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHA1:CAPS"></a>GNUTLS_MAC_SHA1</p></td> +<td class="enum_member_description"> +<p>HMAC-SHA-1 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-RMD160:CAPS"></a>GNUTLS_MAC_RMD160</p></td> +<td class="enum_member_description"> +<p>HMAC-RMD160 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-MD2:CAPS"></a>GNUTLS_MAC_MD2</p></td> +<td class="enum_member_description"> +<p>HMAC-MD2 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHA256:CAPS"></a>GNUTLS_MAC_SHA256</p></td> +<td class="enum_member_description"> +<p>HMAC-SHA-256 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHA384:CAPS"></a>GNUTLS_MAC_SHA384</p></td> +<td class="enum_member_description"> +<p>HMAC-SHA-384 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHA512:CAPS"></a>GNUTLS_MAC_SHA512</p></td> +<td class="enum_member_description"> +<p>HMAC-SHA-512 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHA224:CAPS"></a>GNUTLS_MAC_SHA224</p></td> +<td class="enum_member_description"> +<p>HMAC-SHA-224 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHA3-224:CAPS"></a>GNUTLS_MAC_SHA3_224</p></td> +<td class="enum_member_description"> +<p>Reserved; unimplemented.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHA3-256:CAPS"></a>GNUTLS_MAC_SHA3_256</p></td> +<td class="enum_member_description"> +<p>Reserved; unimplemented.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHA3-384:CAPS"></a>GNUTLS_MAC_SHA3_384</p></td> +<td class="enum_member_description"> +<p>Reserved; unimplemented.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHA3-512:CAPS"></a>GNUTLS_MAC_SHA3_512</p></td> +<td class="enum_member_description"> +<p>Reserved; unimplemented.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-MD5-SHA1:CAPS"></a>GNUTLS_MAC_MD5_SHA1</p></td> +<td class="enum_member_description"> +<p>Combined MD5+SHA1 MAC placeholder.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-GOSTR-94:CAPS"></a>GNUTLS_MAC_GOSTR_94</p></td> +<td class="enum_member_description"> +<p>HMAC GOST R 34.11-94 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-STREEBOG-256:CAPS"></a>GNUTLS_MAC_STREEBOG_256</p></td> +<td class="enum_member_description"> +<p>HMAC GOST R 34.11-2001 (Streebog) algorithm, 256 bit.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-STREEBOG-512:CAPS"></a>GNUTLS_MAC_STREEBOG_512</p></td> +<td class="enum_member_description"> +<p>HMAC GOST R 34.11-2001 (Streebog) algorithm, 512 bit.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-AEAD:CAPS"></a>GNUTLS_MAC_AEAD</p></td> +<td class="enum_member_description"> +<p>MAC implicit through AEAD cipher.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-UMAC-96:CAPS"></a>GNUTLS_MAC_UMAC_96</p></td> +<td class="enum_member_description"> +<p>The UMAC-96 MAC algorithm (requires nonce).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-UMAC-128:CAPS"></a>GNUTLS_MAC_UMAC_128</p></td> +<td class="enum_member_description"> +<p>The UMAC-128 MAC algorithm (requires nonce).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-AES-CMAC-128:CAPS"></a>GNUTLS_MAC_AES_CMAC_128</p></td> +<td class="enum_member_description"> +<p>The AES-CMAC-128 MAC algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-AES-CMAC-256:CAPS"></a>GNUTLS_MAC_AES_CMAC_256</p></td> +<td class="enum_member_description"> +<p>The AES-CMAC-256 MAC algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-AES-GMAC-128:CAPS"></a>GNUTLS_MAC_AES_GMAC_128</p></td> +<td class="enum_member_description"> +<p>The AES-GMAC-128 MAC algorithm (requires nonce).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-AES-GMAC-192:CAPS"></a>GNUTLS_MAC_AES_GMAC_192</p></td> +<td class="enum_member_description"> +<p>The AES-GMAC-192 MAC algorithm (requires nonce).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-AES-GMAC-256:CAPS"></a>GNUTLS_MAC_AES_GMAC_256</p></td> +<td class="enum_member_description"> +<p>The AES-GMAC-256 MAC algorithm (requires nonce).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-GOST28147-TC26Z-IMIT:CAPS"></a>GNUTLS_MAC_GOST28147_TC26Z_IMIT</p></td> +<td class="enum_member_description"> +<p>The GOST 28147-89 working in IMIT mode with TC26 Z S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHAKE-128:CAPS"></a>GNUTLS_MAC_SHAKE_128</p></td> +<td class="enum_member_description"> +<p>Reserved; unimplemented.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-SHAKE-256:CAPS"></a>GNUTLS_MAC_SHAKE_256</p></td> +<td class="enum_member_description"> +<p>Reserved; unimplemented.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-MAGMA-OMAC:CAPS"></a>GNUTLS_MAC_MAGMA_OMAC</p></td> +<td class="enum_member_description"> +<p>GOST R 34.12-2015 (Magma) in OMAC (CMAC) mode.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-MAC-KUZNYECHIK-OMAC:CAPS"></a>GNUTLS_MAC_KUZNYECHIK_OMAC</p></td> +<td class="enum_member_description"> +<p>GOST R 34.12-2015 (Kuznyechik) in OMAC (CMAC) mode.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-digest-algorithm-t"></a><h3>enum gnutls_digest_algorithm_t</h3> +<p>Enumeration of different digest (hash) algorithms.</p> +<div class="refsect3"> +<a name="gnutls-digest-algorithm-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-UNKNOWN:CAPS"></a>GNUTLS_DIG_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown hash algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-NULL:CAPS"></a>GNUTLS_DIG_NULL</p></td> +<td class="enum_member_description"> +<p>NULL hash algorithm (empty output).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-MD5:CAPS"></a>GNUTLS_DIG_MD5</p></td> +<td class="enum_member_description"> +<p>MD5 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHA1:CAPS"></a>GNUTLS_DIG_SHA1</p></td> +<td class="enum_member_description"> +<p>SHA-1 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-RMD160:CAPS"></a>GNUTLS_DIG_RMD160</p></td> +<td class="enum_member_description"> +<p>RMD160 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-MD2:CAPS"></a>GNUTLS_DIG_MD2</p></td> +<td class="enum_member_description"> +<p>MD2 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHA256:CAPS"></a>GNUTLS_DIG_SHA256</p></td> +<td class="enum_member_description"> +<p>SHA-256 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHA384:CAPS"></a>GNUTLS_DIG_SHA384</p></td> +<td class="enum_member_description"> +<p>SHA-384 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHA512:CAPS"></a>GNUTLS_DIG_SHA512</p></td> +<td class="enum_member_description"> +<p>SHA-512 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHA224:CAPS"></a>GNUTLS_DIG_SHA224</p></td> +<td class="enum_member_description"> +<p>SHA-224 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHA3-224:CAPS"></a>GNUTLS_DIG_SHA3_224</p></td> +<td class="enum_member_description"> +<p>SHA3-224 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHA3-256:CAPS"></a>GNUTLS_DIG_SHA3_256</p></td> +<td class="enum_member_description"> +<p>SHA3-256 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHA3-384:CAPS"></a>GNUTLS_DIG_SHA3_384</p></td> +<td class="enum_member_description"> +<p>SHA3-384 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHA3-512:CAPS"></a>GNUTLS_DIG_SHA3_512</p></td> +<td class="enum_member_description"> +<p>SHA3-512 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-MD5-SHA1:CAPS"></a>GNUTLS_DIG_MD5_SHA1</p></td> +<td class="enum_member_description"> +<p>Combined MD5+SHA1 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-GOSTR-94:CAPS"></a>GNUTLS_DIG_GOSTR_94</p></td> +<td class="enum_member_description"> +<p>GOST R 34.11-94 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-STREEBOG-256:CAPS"></a>GNUTLS_DIG_STREEBOG_256</p></td> +<td class="enum_member_description"> +<p>GOST R 34.11-2001 (Streebog) algorithm, 256 bit.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-STREEBOG-512:CAPS"></a>GNUTLS_DIG_STREEBOG_512</p></td> +<td class="enum_member_description"> +<p>GOST R 34.11-2001 (Streebog) algorithm, 512 bit.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHAKE-128:CAPS"></a>GNUTLS_DIG_SHAKE_128</p></td> +<td class="enum_member_description"> +<p>Reserved; unimplemented.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DIG-SHAKE-256:CAPS"></a>GNUTLS_DIG_SHAKE_256</p></td> +<td class="enum_member_description"> +<p>Reserved; unimplemented.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-MAX-ALGORITHM-NUM:CAPS"></a><h3>GNUTLS_MAX_ALGORITHM_NUM</h3> +<pre class="programlisting">#define GNUTLS_MAX_ALGORITHM_NUM 128 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-MAX-SESSION-ID-SIZE:CAPS"></a><h3>GNUTLS_MAX_SESSION_ID_SIZE</h3> +<pre class="programlisting">#define GNUTLS_MAX_SESSION_ID_SIZE 32 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-compression-method-t"></a><h3>enum gnutls_compression_method_t</h3> +<p>Enumeration of different TLS compression methods.</p> +<div class="refsect3"> +<a name="gnutls-compression-method-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-COMP-UNKNOWN:CAPS"></a>GNUTLS_COMP_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown compression method.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-COMP-NULL:CAPS"></a>GNUTLS_COMP_NULL</p></td> +<td class="enum_member_description"> +<p>The NULL compression method (no compression).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-COMP-DEFLATE:CAPS"></a>GNUTLS_COMP_DEFLATE</p></td> +<td class="enum_member_description"> +<p>The DEFLATE compression method from zlib.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-COMP-ZLIB:CAPS"></a>GNUTLS_COMP_ZLIB</p></td> +<td class="enum_member_description"> +<p>Same as <a class="link" href="gnutls-gnutls.html#GNUTLS-COMP-DEFLATE:CAPS"><code class="literal">GNUTLS_COMP_DEFLATE</code></a>.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-COMP-BROTLI:CAPS"></a>GNUTLS_COMP_BROTLI</p></td> +<td class="enum_member_description"> +<p>Brotli compression method.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-COMP-ZSTD:CAPS"></a>GNUTLS_COMP_ZSTD</p></td> +<td class="enum_member_description"> +<p>Zstandard compression method.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-init-flags-t"></a><h3>enum gnutls_init_flags_t</h3> +<p><em class="parameter"><code>GNUTLS_SERVER</code></em> +: Connection end is a server. +<em class="parameter"><code>GNUTLS_CLIENT</code></em> +: Connection end is a client. +<em class="parameter"><code>GNUTLS_DATAGRAM</code></em> +: Connection is datagram oriented (DTLS). Since 3.0.0. +<em class="parameter"><code>GNUTLS_NONBLOCK</code></em> +: Connection should not block. Since 3.0.0. +<em class="parameter"><code>GNUTLS_NO_SIGNAL</code></em> +: In systems where SIGPIPE is delivered on send, it will be disabled. That flag has effect in systems which support the MSG_NOSIGNAL sockets flag (since 3.4.2). +<em class="parameter"><code>GNUTLS_NO_EXTENSIONS</code></em> +: Do not enable any TLS extensions by default (since 3.1.2). As TLS 1.2 and later require extensions this option is considered obsolete and should not be used. +<em class="parameter"><code>GNUTLS_NO_REPLAY_PROTECTION</code></em> +: Disable any replay protection in DTLS. This must only be used if replay protection is achieved using other means. Since 3.2.2. +<em class="parameter"><code>GNUTLS_ALLOW_ID_CHANGE</code></em> +: Allow the peer to replace its certificate, or change its ID during a rehandshake. This change is often used in attacks and thus prohibited by default. Since 3.5.0. +<em class="parameter"><code>GNUTLS_ENABLE_FALSE_START</code></em> +: Enable the TLS false start on client side if the negotiated ciphersuites allow it. This will enable sending data prior to the handshake being complete, and may introduce a risk of crypto failure when combined with certain key exchanged; for that GnuTLS may not enable that option in ciphersuites that are known to be not safe for false start. Since 3.5.0. +<em class="parameter"><code>GNUTLS_ENABLE_EARLY_START</code></em> +: Under TLS1.3 allow the server to return earlier than the full handshake + finish; similarly to false start the handshake will be completed once data are received by the + client, while the server is able to transmit sooner. This is not enabled by default as it could + break certain existing server assumptions and use-cases. Since 3.6.4. +<em class="parameter"><code>GNUTLS_ENABLE_EARLY_DATA</code></em> +: Under TLS1.3 allow the server to receive early data sent as part of the initial ClientHello (0-RTT). + This can also be used to explicitly indicate that the client will send early data. + This is not enabled by default as early data has weaker security properties than other data. Since 3.6.5. +<em class="parameter"><code>GNUTLS_FORCE_CLIENT_CERT</code></em> +: When in client side and only a single cert is specified, send that certificate irrespective of the issuers expected by the server. Since 3.5.0. +<em class="parameter"><code>GNUTLS_NO_TICKETS</code></em> +: Flag to indicate that the session should not use resumption with session tickets. +<em class="parameter"><code>GNUTLS_NO_TICKETS_TLS12</code></em> +: Flag to indicate that the session should not use resumption with session tickets. This flag only has effect if TLS 1.2 is used. +<em class="parameter"><code>GNUTLS_KEY_SHARE_TOP3</code></em> +: Generate key shares for the top-3 different groups which are enabled. + That is, as each group is associated with a key type (EC, finite field, x25519), generate + three keys using <a class="link" href="gnutls-gnutls.html#GNUTLS-PK-DH:CAPS"><code class="literal">GNUTLS_PK_DH</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-PK-EC:CAPS" title="GNUTLS_PK_EC"><code class="literal">GNUTLS_PK_EC</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-PK-ECDH-X25519:CAPS"><code class="literal">GNUTLS_PK_ECDH_X25519</code></a> if all of them are enabled. +<em class="parameter"><code>GNUTLS_KEY_SHARE_TOP2</code></em> +: Generate key shares for the top-2 different groups which are enabled. + For example (ECDH + x25519). This is the default. +<em class="parameter"><code>GNUTLS_KEY_SHARE_TOP</code></em> +: Generate key share for the first group which is enabled. + For example x25519. This option is the most performant for client (less CPU spent + generating keys), but if the server doesn't support the advertized option it may + result to more roundtrips needed to discover the server's choice. +<em class="parameter"><code>GNUTLS_NO_AUTO_REKEY</code></em> +: Disable auto-rekeying under TLS1.3. If this option is not specified + gnutls will force a rekey after 2^24 records have been sent. +<em class="parameter"><code>GNUTLS_POST_HANDSHAKE_AUTH</code></em> +: Enable post handshake authentication for server and client. When set and + a server requests authentication after handshake <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REAUTH-REQUEST:CAPS" title="GNUTLS_E_REAUTH_REQUEST"><code class="literal">GNUTLS_E_REAUTH_REQUEST</code></a> will be returned + by <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a>. A client should then call <a class="link" href="gnutls-gnutls.html#gnutls-reauth" title="gnutls_reauth ()"><code class="function">gnutls_reauth()</code></a> to re-authenticate. +<em class="parameter"><code>GNUTLS_SAFE_PADDING_CHECK</code></em> +: Flag to indicate that the TLS 1.3 padding check will be done in a + safe way which doesn't leak the pad size based on GnuTLS processing time. This is of use to + applications which hide the length of transferred data via the TLS1.3 padding mechanism and + are already taking steps to hide the data processing time. This comes at a performance + penalty. +<em class="parameter"><code>GNUTLS_AUTO_REAUTH</code></em> +: Enable transparent re-authentication in client side when the server + requests to. That is, reauthentication is handled within <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a>, and + the <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS" title="GNUTLS_E_REHANDSHAKE"><code class="literal">GNUTLS_E_REHANDSHAKE</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REAUTH-REQUEST:CAPS" title="GNUTLS_E_REAUTH_REQUEST"><code class="literal">GNUTLS_E_REAUTH_REQUEST</code></a> are not returned. This must be + enabled with <a class="link" href="gnutls-gnutls.html#GNUTLS-POST-HANDSHAKE-AUTH:CAPS"><code class="literal">GNUTLS_POST_HANDSHAKE_AUTH</code></a> for TLS1.3. Enabling this flag requires to restore + interrupted calls to <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a> based on the output of <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a>, + since <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()"><code class="function">gnutls_record_recv()</code></a> could be interrupted when sending when this flag is enabled. + Note this flag may not be used if you are using the same session for sending and receiving + in different threads. +<em class="parameter"><code>GNUTLS_ENABLE_RAWPK</code></em> +: Allows raw public-keys to be negotiated during the handshake. Since 3.6.6. +<em class="parameter"><code>GNUTLS_NO_AUTO_SEND_TICKET</code></em> +: Under TLS1.3 disable auto-sending of + session tickets during the handshake. +<em class="parameter"><code>GNUTLS_NO_END_OF_EARLY_DATA</code></em> +: Under TLS1.3 suppress sending EndOfEarlyData message. Since 3.7.2.</p> +<p>Enumeration of different flags for <a class="link" href="gnutls-gnutls.html#gnutls-init" title="gnutls_init ()"><code class="function">gnutls_init()</code></a> function. All the flags +can be combined except <em class="parameter"><code>GNUTLS_SERVER</code></em> + and <em class="parameter"><code>GNUTLS_CLIENT</code></em> + which are mutually +exclusive.</p> +<p>The key share options relate to the TLS 1.3 key share extension +which is a speculative key generation expecting that the server +would support the generated key.</p> +<div class="refsect3"> +<a name="gnutls-init-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SERVER:CAPS"></a>GNUTLS_SERVER</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CLIENT:CAPS"></a>GNUTLS_CLIENT</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DATAGRAM:CAPS"></a>GNUTLS_DATAGRAM</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-NONBLOCK:CAPS"></a>GNUTLS_NONBLOCK</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-NO-EXTENSIONS:CAPS"></a>GNUTLS_NO_EXTENSIONS</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-NO-REPLAY-PROTECTION:CAPS"></a>GNUTLS_NO_REPLAY_PROTECTION</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-NO-SIGNAL:CAPS"></a>GNUTLS_NO_SIGNAL</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ALLOW-ID-CHANGE:CAPS"></a>GNUTLS_ALLOW_ID_CHANGE</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ENABLE-FALSE-START:CAPS"></a>GNUTLS_ENABLE_FALSE_START</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FORCE-CLIENT-CERT:CAPS"></a>GNUTLS_FORCE_CLIENT_CERT</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-NO-TICKETS:CAPS"></a>GNUTLS_NO_TICKETS</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEY-SHARE-TOP:CAPS"></a>GNUTLS_KEY_SHARE_TOP</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEY-SHARE-TOP2:CAPS"></a>GNUTLS_KEY_SHARE_TOP2</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEY-SHARE-TOP3:CAPS"></a>GNUTLS_KEY_SHARE_TOP3</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-POST-HANDSHAKE-AUTH:CAPS"></a>GNUTLS_POST_HANDSHAKE_AUTH</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-NO-AUTO-REKEY:CAPS"></a>GNUTLS_NO_AUTO_REKEY</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAFE-PADDING-CHECK:CAPS"></a>GNUTLS_SAFE_PADDING_CHECK</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ENABLE-EARLY-START:CAPS"></a>GNUTLS_ENABLE_EARLY_START</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ENABLE-RAWPK:CAPS"></a>GNUTLS_ENABLE_RAWPK</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-AUTO-REAUTH:CAPS"></a>GNUTLS_AUTO_REAUTH</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ENABLE-EARLY-DATA:CAPS"></a>GNUTLS_ENABLE_EARLY_DATA</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-NO-AUTO-SEND-TICKET:CAPS"></a>GNUTLS_NO_AUTO_SEND_TICKET</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-NO-END-OF-EARLY-DATA:CAPS"></a>GNUTLS_NO_END_OF_EARLY_DATA</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-NO-TICKETS-TLS12:CAPS"></a>GNUTLS_NO_TICKETS_TLS12</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-SERVER:CAPS"></a><h3>GNUTLS_SERVER</h3> +<pre class="programlisting">#define GNUTLS_SERVER (1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-CLIENT:CAPS"></a><h3>GNUTLS_CLIENT</h3> +<pre class="programlisting">#define GNUTLS_CLIENT (1<<1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-DATAGRAM:CAPS"></a><h3>GNUTLS_DATAGRAM</h3> +<pre class="programlisting">#define GNUTLS_DATAGRAM (1<<2) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-NONBLOCK:CAPS"></a><h3>GNUTLS_NONBLOCK</h3> +<pre class="programlisting">#define GNUTLS_NONBLOCK (1<<3) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-NO-EXTENSIONS:CAPS"></a><h3>GNUTLS_NO_EXTENSIONS</h3> +<pre class="programlisting">#define GNUTLS_NO_EXTENSIONS (1<<4) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-NO-REPLAY-PROTECTION:CAPS"></a><h3>GNUTLS_NO_REPLAY_PROTECTION</h3> +<pre class="programlisting">#define GNUTLS_NO_REPLAY_PROTECTION (1<<5) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-NO-SIGNAL:CAPS"></a><h3>GNUTLS_NO_SIGNAL</h3> +<pre class="programlisting">#define GNUTLS_NO_SIGNAL (1<<6) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-ALLOW-ID-CHANGE:CAPS"></a><h3>GNUTLS_ALLOW_ID_CHANGE</h3> +<pre class="programlisting">#define GNUTLS_ALLOW_ID_CHANGE (1<<7) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-ENABLE-FALSE-START:CAPS"></a><h3>GNUTLS_ENABLE_FALSE_START</h3> +<pre class="programlisting">#define GNUTLS_ENABLE_FALSE_START (1<<8) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-FORCE-CLIENT-CERT:CAPS"></a><h3>GNUTLS_FORCE_CLIENT_CERT</h3> +<pre class="programlisting">#define GNUTLS_FORCE_CLIENT_CERT (1<<9) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-NO-TICKETS:CAPS"></a><h3>GNUTLS_NO_TICKETS</h3> +<pre class="programlisting">#define GNUTLS_NO_TICKETS (1<<10) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-ENABLE-CERT-TYPE-NEG:CAPS"></a><h3>GNUTLS_ENABLE_CERT_TYPE_NEG</h3> +<pre class="programlisting">#define GNUTLS_ENABLE_CERT_TYPE_NEG 0 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alert-level-t"></a><h3>enum gnutls_alert_level_t</h3> +<p>Enumeration of different TLS alert severities.</p> +<div class="refsect3"> +<a name="gnutls-alert-level-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-AL-WARNING:CAPS"></a>GNUTLS_AL_WARNING</p></td> +<td class="enum_member_description"> +<p>Alert of warning severity.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-AL-FATAL:CAPS"></a>GNUTLS_AL_FATAL</p></td> +<td class="enum_member_description"> +<p>Alert of fatal severity.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alert-description-t"></a><h3>enum gnutls_alert_description_t</h3> +<p>Enumeration of different TLS alerts.</p> +<div class="refsect3"> +<a name="gnutls-alert-description-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-CLOSE-NOTIFY:CAPS"></a>GNUTLS_A_CLOSE_NOTIFY</p></td> +<td class="enum_member_description"> +<p>Close notify.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-UNEXPECTED-MESSAGE:CAPS"></a>GNUTLS_A_UNEXPECTED_MESSAGE</p></td> +<td class="enum_member_description"> +<p>Unexpected message.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-BAD-RECORD-MAC:CAPS"></a>GNUTLS_A_BAD_RECORD_MAC</p></td> +<td class="enum_member_description"> +<p>Bad record MAC.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-DECRYPTION-FAILED:CAPS"></a>GNUTLS_A_DECRYPTION_FAILED</p></td> +<td class="enum_member_description"> +<p>Decryption failed.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-RECORD-OVERFLOW:CAPS"></a>GNUTLS_A_RECORD_OVERFLOW</p></td> +<td class="enum_member_description"> +<p>Record overflow.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-DECOMPRESSION-FAILURE:CAPS"></a>GNUTLS_A_DECOMPRESSION_FAILURE</p></td> +<td class="enum_member_description"> +<p>Decompression failed.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-HANDSHAKE-FAILURE:CAPS"></a>GNUTLS_A_HANDSHAKE_FAILURE</p></td> +<td class="enum_member_description"> +<p>Handshake failed.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-SSL3-NO-CERTIFICATE:CAPS"></a>GNUTLS_A_SSL3_NO_CERTIFICATE</p></td> +<td class="enum_member_description"> +<p>No certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-BAD-CERTIFICATE:CAPS"></a>GNUTLS_A_BAD_CERTIFICATE</p></td> +<td class="enum_member_description"> +<p>Certificate is bad.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-UNSUPPORTED-CERTIFICATE:CAPS"></a>GNUTLS_A_UNSUPPORTED_CERTIFICATE</p></td> +<td class="enum_member_description"> +<p>Certificate is not supported.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-CERTIFICATE-REVOKED:CAPS"></a>GNUTLS_A_CERTIFICATE_REVOKED</p></td> +<td class="enum_member_description"> +<p>Certificate was revoked.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-CERTIFICATE-EXPIRED:CAPS"></a>GNUTLS_A_CERTIFICATE_EXPIRED</p></td> +<td class="enum_member_description"> +<p>Certificate is expired.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-CERTIFICATE-UNKNOWN:CAPS"></a>GNUTLS_A_CERTIFICATE_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-ILLEGAL-PARAMETER:CAPS"></a>GNUTLS_A_ILLEGAL_PARAMETER</p></td> +<td class="enum_member_description"> +<p>Illegal parameter.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-UNKNOWN-CA:CAPS"></a>GNUTLS_A_UNKNOWN_CA</p></td> +<td class="enum_member_description"> +<p>CA is unknown.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-ACCESS-DENIED:CAPS"></a>GNUTLS_A_ACCESS_DENIED</p></td> +<td class="enum_member_description"> +<p>Access was denied.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-DECODE-ERROR:CAPS"></a>GNUTLS_A_DECODE_ERROR</p></td> +<td class="enum_member_description"> +<p>Decode error.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-DECRYPT-ERROR:CAPS"></a>GNUTLS_A_DECRYPT_ERROR</p></td> +<td class="enum_member_description"> +<p>Decrypt error.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-EXPORT-RESTRICTION:CAPS"></a>GNUTLS_A_EXPORT_RESTRICTION</p></td> +<td class="enum_member_description"> +<p>Export restriction.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-PROTOCOL-VERSION:CAPS"></a>GNUTLS_A_PROTOCOL_VERSION</p></td> +<td class="enum_member_description"> +<p>Error in protocol version.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-INSUFFICIENT-SECURITY:CAPS"></a>GNUTLS_A_INSUFFICIENT_SECURITY</p></td> +<td class="enum_member_description"> +<p>Insufficient security.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-INTERNAL-ERROR:CAPS"></a>GNUTLS_A_INTERNAL_ERROR</p></td> +<td class="enum_member_description"> +<p>Internal error.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-INAPPROPRIATE-FALLBACK:CAPS"></a>GNUTLS_A_INAPPROPRIATE_FALLBACK</p></td> +<td class="enum_member_description"> +<p>Inappropriate fallback,</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-USER-CANCELED:CAPS"></a>GNUTLS_A_USER_CANCELED</p></td> +<td class="enum_member_description"> +<p>User canceled.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-NO-RENEGOTIATION:CAPS"></a>GNUTLS_A_NO_RENEGOTIATION</p></td> +<td class="enum_member_description"> +<p>No renegotiation is allowed.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-MISSING-EXTENSION:CAPS"></a>GNUTLS_A_MISSING_EXTENSION</p></td> +<td class="enum_member_description"> +<p>An extension was expected but was not seen</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-UNSUPPORTED-EXTENSION:CAPS"></a>GNUTLS_A_UNSUPPORTED_EXTENSION</p></td> +<td class="enum_member_description"> +<p>An unsupported extension was +sent.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-CERTIFICATE-UNOBTAINABLE:CAPS"></a>GNUTLS_A_CERTIFICATE_UNOBTAINABLE</p></td> +<td class="enum_member_description"> +<p>Could not retrieve the +specified certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-UNRECOGNIZED-NAME:CAPS"></a>GNUTLS_A_UNRECOGNIZED_NAME</p></td> +<td class="enum_member_description"> +<p>The server name sent was not +recognized.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-UNKNOWN-PSK-IDENTITY:CAPS"></a>GNUTLS_A_UNKNOWN_PSK_IDENTITY</p></td> +<td class="enum_member_description"> +<p>The SRP/PSK username is missing +or not known.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-CERTIFICATE-REQUIRED:CAPS"></a>GNUTLS_A_CERTIFICATE_REQUIRED</p></td> +<td class="enum_member_description"> +<p>Certificate is required.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-NO-APPLICATION-PROTOCOL:CAPS"></a>GNUTLS_A_NO_APPLICATION_PROTOCOL</p></td> +<td class="enum_member_description"> +<p>The ALPN protocol requested is +not supported by the peer.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-A-MAX:CAPS"></a>GNUTLS_A_MAX</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-description-t"></a><h3>enum gnutls_handshake_description_t</h3> +<p>Enumeration of different TLS handshake packets.</p> +<div class="refsect3"> +<a name="gnutls-handshake-description-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-HELLO-REQUEST:CAPS"></a>GNUTLS_HANDSHAKE_HELLO_REQUEST</p></td> +<td class="enum_member_description"> +<p>Hello request.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-CLIENT-HELLO:CAPS"></a>GNUTLS_HANDSHAKE_CLIENT_HELLO</p></td> +<td class="enum_member_description"> +<p>Client hello.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-SERVER-HELLO:CAPS"></a>GNUTLS_HANDSHAKE_SERVER_HELLO</p></td> +<td class="enum_member_description"> +<p>Server hello.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-HELLO-VERIFY-REQUEST:CAPS"></a>GNUTLS_HANDSHAKE_HELLO_VERIFY_REQUEST</p></td> +<td class="enum_member_description"> +<p>DTLS Hello verify request.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-NEW-SESSION-TICKET:CAPS"></a>GNUTLS_HANDSHAKE_NEW_SESSION_TICKET</p></td> +<td class="enum_member_description"> +<p>New session ticket.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-END-OF-EARLY-DATA:CAPS"></a>GNUTLS_HANDSHAKE_END_OF_EARLY_DATA</p></td> +<td class="enum_member_description"> +<p>End of early data.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-ENCRYPTED-EXTENSIONS:CAPS"></a>GNUTLS_HANDSHAKE_ENCRYPTED_EXTENSIONS</p></td> +<td class="enum_member_description"> +<p>Encrypted extensions message.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-CERTIFICATE-PKT:CAPS"></a>GNUTLS_HANDSHAKE_CERTIFICATE_PKT</p></td> +<td class="enum_member_description"> +<p>Certificate packet.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-SERVER-KEY-EXCHANGE:CAPS"></a>GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE</p></td> +<td class="enum_member_description"> +<p>Server key exchange.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-CERTIFICATE-REQUEST:CAPS"></a>GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST</p></td> +<td class="enum_member_description"> +<p>Certificate request.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-SERVER-HELLO-DONE:CAPS"></a>GNUTLS_HANDSHAKE_SERVER_HELLO_DONE</p></td> +<td class="enum_member_description"> +<p>Server hello done.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-CERTIFICATE-VERIFY:CAPS"></a>GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY</p></td> +<td class="enum_member_description"> +<p>Certificate verify.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-CLIENT-KEY-EXCHANGE:CAPS"></a>GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE</p></td> +<td class="enum_member_description"> +<p>Client key exchange.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-FINISHED:CAPS"></a>GNUTLS_HANDSHAKE_FINISHED</p></td> +<td class="enum_member_description"> +<p>Finished.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-CERTIFICATE-STATUS:CAPS"></a>GNUTLS_HANDSHAKE_CERTIFICATE_STATUS</p></td> +<td class="enum_member_description"> +<p>Certificate status (OCSP).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-SUPPLEMENTAL:CAPS"></a>GNUTLS_HANDSHAKE_SUPPLEMENTAL</p></td> +<td class="enum_member_description"> +<p>Supplemental.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-KEY-UPDATE:CAPS"></a>GNUTLS_HANDSHAKE_KEY_UPDATE</p></td> +<td class="enum_member_description"> +<p>TLS1.3 key update message.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-COMPRESSED-CERTIFICATE-PKT:CAPS"></a>GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT</p></td> +<td class="enum_member_description"> +<p>Compressed certificate packet.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-CHANGE-CIPHER-SPEC:CAPS"></a>GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC</p></td> +<td class="enum_member_description"> +<p>Change Cipher Spec.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-CLIENT-HELLO-V2:CAPS"></a>GNUTLS_HANDSHAKE_CLIENT_HELLO_V2</p></td> +<td class="enum_member_description"> +<p>SSLv2 Client Hello.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-HANDSHAKE-HELLO-RETRY-REQUEST:CAPS"></a>GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST</p></td> +<td class="enum_member_description"> +<p>Hello retry request.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-HANDSHAKE-ANY:CAPS"></a><h3>GNUTLS_HANDSHAKE_ANY</h3> +<pre class="programlisting">#define GNUTLS_HANDSHAKE_ANY ((unsigned int)-1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-status-t"></a><h3>enum gnutls_certificate_status_t</h3> +<p>Enumeration of certificate status codes. Note that the status +bits may have different meanings in OpenPGP keys and X.509 +certificate verification.</p> +<div class="refsect3"> +<a name="gnutls-certificate-status-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-INVALID:CAPS"></a>GNUTLS_CERT_INVALID</p></td> +<td class="enum_member_description"> +<p>The certificate is not signed by one of the +known authorities or the signature is invalid (deprecated by the flags + +<a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-SIGNATURE-FAILURE:CAPS"><code class="literal">GNUTLS_CERT_SIGNATURE_FAILURE</code></a> and <a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-SIGNER-NOT-FOUND:CAPS"><code class="literal">GNUTLS_CERT_SIGNER_NOT_FOUND</code></a>).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-REVOKED:CAPS"></a>GNUTLS_CERT_REVOKED</p></td> +<td class="enum_member_description"> +<p>Certificate is revoked by its authority. In X.509 this will be +set only if CRLs are checked.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-SIGNER-NOT-FOUND:CAPS"></a>GNUTLS_CERT_SIGNER_NOT_FOUND</p></td> +<td class="enum_member_description"> +<p>The certificate's issuer is not known. + +This is the case if the issuer is not included in the trusted certificate list.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-SIGNER-NOT-CA:CAPS"></a>GNUTLS_CERT_SIGNER_NOT_CA</p></td> +<td class="enum_member_description"> +<p>The certificate's signer was not a CA. This +may happen if this was a version 1 certificate, which is common with +some CAs, or a version 3 certificate without the basic constrains extension.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-INSECURE-ALGORITHM:CAPS"></a>GNUTLS_CERT_INSECURE_ALGORITHM</p></td> +<td class="enum_member_description"> +<p>The certificate was signed using an insecure +algorithm such as MD2 or MD5. These algorithms have been broken and +should not be trusted.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-NOT-ACTIVATED:CAPS"></a>GNUTLS_CERT_NOT_ACTIVATED</p></td> +<td class="enum_member_description"> +<p>The certificate is not yet activated.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-EXPIRED:CAPS"></a>GNUTLS_CERT_EXPIRED</p></td> +<td class="enum_member_description"> +<p>The certificate has expired.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-SIGNATURE-FAILURE:CAPS"></a>GNUTLS_CERT_SIGNATURE_FAILURE</p></td> +<td class="enum_member_description"> +<p>The signature verification failed.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-REVOCATION-DATA-SUPERSEDED:CAPS"></a>GNUTLS_CERT_REVOCATION_DATA_SUPERSEDED</p></td> +<td class="enum_member_description"> +<p>The revocation data are old and have been superseded.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-UNEXPECTED-OWNER:CAPS"></a>GNUTLS_CERT_UNEXPECTED_OWNER</p></td> +<td class="enum_member_description"> +<p>The owner is not the expected one.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-REVOCATION-DATA-ISSUED-IN-FUTURE:CAPS"></a>GNUTLS_CERT_REVOCATION_DATA_ISSUED_IN_FUTURE</p></td> +<td class="enum_member_description"> +<p>The revocation data have a future issue date.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-SIGNER-CONSTRAINTS-FAILURE:CAPS"></a>GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE</p></td> +<td class="enum_member_description"> +<p>The certificate's signer constraints were +violated.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-MISMATCH:CAPS"></a>GNUTLS_CERT_MISMATCH</p></td> +<td class="enum_member_description"> +<p>The certificate presented isn't the expected one (TOFU)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-PURPOSE-MISMATCH:CAPS"></a>GNUTLS_CERT_PURPOSE_MISMATCH</p></td> +<td class="enum_member_description"> +<p>The certificate or an intermediate does not match the intended purpose (extended key usage).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-MISSING-OCSP-STATUS:CAPS"></a>GNUTLS_CERT_MISSING_OCSP_STATUS</p></td> +<td class="enum_member_description"> +<p>The certificate requires the server to send the certificate status, but no status was received.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-INVALID-OCSP-STATUS:CAPS"></a>GNUTLS_CERT_INVALID_OCSP_STATUS</p></td> +<td class="enum_member_description"> +<p>The received OCSP status response is invalid.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-UNKNOWN-CRIT-EXTENSIONS:CAPS"></a>GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS</p></td> +<td class="enum_member_description"> +<p>The certificate has extensions marked as critical which are not supported.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-request-t"></a><h3>enum gnutls_certificate_request_t</h3> +<p>Enumeration of certificate request types.</p> +<div class="refsect3"> +<a name="gnutls-certificate-request-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-IGNORE:CAPS"></a>GNUTLS_CERT_IGNORE</p></td> +<td class="enum_member_description"> +<p>Ignore certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-REQUEST:CAPS"></a>GNUTLS_CERT_REQUEST</p></td> +<td class="enum_member_description"> +<p>Request certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERT-REQUIRE:CAPS"></a>GNUTLS_CERT_REQUIRE</p></td> +<td class="enum_member_description"> +<p>Require certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-status-t"></a><h3>enum gnutls_openpgp_crt_status_t</h3> +<p>Enumeration of ways to send OpenPGP certificate.</p> +<div class="refsect3"> +<a name="gnutls-openpgp-crt-status-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-OPENPGP-CERT:CAPS"></a>GNUTLS_OPENPGP_CERT</p></td> +<td class="enum_member_description"> +<p>Send entire certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-OPENPGP-CERT-FINGERPRINT:CAPS"></a>GNUTLS_OPENPGP_CERT_FINGERPRINT</p></td> +<td class="enum_member_description"> +<p>Send only certificate fingerprint.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-close-request-t"></a><h3>enum gnutls_close_request_t</h3> +<p>Enumeration of how TLS session should be terminated. See <a class="link" href="gnutls-gnutls.html#gnutls-bye" title="gnutls_bye ()"><code class="function">gnutls_bye()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-close-request-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SHUT-RDWR:CAPS"></a>GNUTLS_SHUT_RDWR</p></td> +<td class="enum_member_description"> +<p>Disallow further receives/sends.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SHUT-WR:CAPS"></a>GNUTLS_SHUT_WR</p></td> +<td class="enum_member_description"> +<p>Disallow further sends.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-protocol-t"></a><h3>enum gnutls_protocol_t</h3> +<p>Enumeration of different SSL/TLS protocol versions.</p> +<div class="refsect3"> +<a name="gnutls-protocol-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SSL3:CAPS"></a>GNUTLS_SSL3</p></td> +<td class="enum_member_description"> +<p>SSL version 3.0.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TLS1-0:CAPS"></a>GNUTLS_TLS1_0</p></td> +<td class="enum_member_description"> +<p>TLS version 1.0.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TLS1:CAPS"></a>GNUTLS_TLS1</p></td> +<td class="enum_member_description"> +<p>Same as <a class="link" href="gnutls-gnutls.html#GNUTLS-TLS1-0:CAPS"><code class="literal">GNUTLS_TLS1_0</code></a>.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TLS1-1:CAPS"></a>GNUTLS_TLS1_1</p></td> +<td class="enum_member_description"> +<p>TLS version 1.1.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TLS1-2:CAPS"></a>GNUTLS_TLS1_2</p></td> +<td class="enum_member_description"> +<p>TLS version 1.2.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TLS1-3:CAPS"></a>GNUTLS_TLS1_3</p></td> +<td class="enum_member_description"> +<p>TLS version 1.3.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DTLS0-9:CAPS"></a>GNUTLS_DTLS0_9</p></td> +<td class="enum_member_description"> +<p>DTLS version 0.9 (Cisco AnyConnect / OpenSSL 0.9.8e).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DTLS1-0:CAPS"></a>GNUTLS_DTLS1_0</p></td> +<td class="enum_member_description"> +<p>DTLS version 1.0.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DTLS1-2:CAPS"></a>GNUTLS_DTLS1_2</p></td> +<td class="enum_member_description"> +<p>DTLS version 1.2.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DTLS-VERSION-MIN:CAPS"></a>GNUTLS_DTLS_VERSION_MIN</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DTLS-VERSION-MAX:CAPS"></a>GNUTLS_DTLS_VERSION_MAX</p></td> +<td class="enum_member_description"> +<p>Maps to the highest supported DTLS version.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TLS-VERSION-MAX:CAPS"></a>GNUTLS_TLS_VERSION_MAX</p></td> +<td class="enum_member_description"> +<p>Maps to the highest supported TLS version.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERSION-UNKNOWN:CAPS"></a>GNUTLS_VERSION_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown SSL/TLS version.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-CRT-RAW:CAPS"></a><h3>GNUTLS_CRT_RAW</h3> +<pre class="programlisting">#define GNUTLS_CRT_RAW GNUTLS_CRT_RAWPK +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-type-t"></a><h3>enum gnutls_certificate_type_t</h3> +<p>Enumeration of different certificate types.</p> +<div class="refsect3"> +<a name="gnutls-certificate-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-UNKNOWN:CAPS"></a>GNUTLS_CRT_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown certificate type.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-X509:CAPS"></a>GNUTLS_CRT_X509</p></td> +<td class="enum_member_description"> +<p>X.509 Certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-OPENPGP:CAPS"></a>GNUTLS_CRT_OPENPGP</p></td> +<td class="enum_member_description"> +<p>OpenPGP certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-RAWPK:CAPS"></a>GNUTLS_CRT_RAWPK</p></td> +<td class="enum_member_description"> +<p>Raw public-key (SubjectPublicKeyInfo)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-MAX:CAPS"></a>GNUTLS_CRT_MAX</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-fmt-t"></a><h3>enum gnutls_x509_crt_fmt_t</h3> +<p>Enumeration of different certificate encoding formats.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-fmt-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-X509-FMT-DER:CAPS"></a>GNUTLS_X509_FMT_DER</p></td> +<td class="enum_member_description"> +<p>X.509 certificate in DER format (binary).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-X509-FMT-PEM:CAPS"></a>GNUTLS_X509_FMT_PEM</p></td> +<td class="enum_member_description"> +<p>X.509 certificate in PEM format (text).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-print-formats-t"></a><h3>enum gnutls_certificate_print_formats_t</h3> +<p>Enumeration of different certificate printing variants.</p> +<div class="refsect3"> +<a name="gnutls-certificate-print-formats-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-PRINT-FULL:CAPS"></a>GNUTLS_CRT_PRINT_FULL</p></td> +<td class="enum_member_description"> +<p>Full information about certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-PRINT-ONELINE:CAPS"></a>GNUTLS_CRT_PRINT_ONELINE</p></td> +<td class="enum_member_description"> +<p>Information about certificate in one line.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-PRINT-UNSIGNED-FULL:CAPS"></a>GNUTLS_CRT_PRINT_UNSIGNED_FULL</p></td> +<td class="enum_member_description"> +<p>All info for an unsigned certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-PRINT-COMPACT:CAPS"></a>GNUTLS_CRT_PRINT_COMPACT</p></td> +<td class="enum_member_description"> +<p>Information about certificate name in one line, plus identification of the public key.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRT-PRINT-FULL-NUMBERS:CAPS"></a>GNUTLS_CRT_PRINT_FULL_NUMBERS</p></td> +<td class="enum_member_description"> +<p>Full information about certificate and include easy to parse public key parameters.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PK-ECC:CAPS"></a><h3>GNUTLS_PK_ECC</h3> +<pre class="programlisting">#define GNUTLS_PK_ECC GNUTLS_PK_ECDSA +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PK-EC:CAPS"></a><h3>GNUTLS_PK_EC</h3> +<pre class="programlisting">#define GNUTLS_PK_EC GNUTLS_PK_ECDSA +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PK-ECDHX:CAPS"></a><h3>GNUTLS_PK_ECDHX</h3> +<pre class="programlisting">#define GNUTLS_PK_ECDHX GNUTLS_PK_ECDH_X25519 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pk-algorithm-t"></a><h3>enum gnutls_pk_algorithm_t</h3> +<p>Enumeration of different public-key algorithms.</p> +<div class="refsect3"> +<a name="gnutls-pk-algorithm-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-UNKNOWN:CAPS"></a>GNUTLS_PK_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown public-key algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-RSA:CAPS"></a>GNUTLS_PK_RSA</p></td> +<td class="enum_member_description"> +<p>RSA public-key algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-DSA:CAPS"></a>GNUTLS_PK_DSA</p></td> +<td class="enum_member_description"> +<p>DSA public-key algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-DH:CAPS"></a>GNUTLS_PK_DH</p></td> +<td class="enum_member_description"> +<p>Diffie-Hellman algorithm. Used to generate parameters.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-ECDSA:CAPS"></a>GNUTLS_PK_ECDSA</p></td> +<td class="enum_member_description"> +<p>Elliptic curve algorithm. These parameters are compatible with the ECDSA and ECDH algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-ECDH-X25519:CAPS"></a>GNUTLS_PK_ECDH_X25519</p></td> +<td class="enum_member_description"> +<p>Elliptic curve algorithm, restricted to ECDH as per rfc7748.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-RSA-PSS:CAPS"></a>GNUTLS_PK_RSA_PSS</p></td> +<td class="enum_member_description"> +<p>RSA public-key algorithm, with PSS padding.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-EDDSA-ED25519:CAPS"></a>GNUTLS_PK_EDDSA_ED25519</p></td> +<td class="enum_member_description"> +<p>Edwards curve Digital signature algorithm. Used with SHA512 on signatures.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-GOST-01:CAPS"></a>GNUTLS_PK_GOST_01</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10-2001 algorithm per rfc5832.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-GOST-12-256:CAPS"></a>GNUTLS_PK_GOST_12_256</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10-2012 algorithm, 256-bit key per rfc7091.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-GOST-12-512:CAPS"></a>GNUTLS_PK_GOST_12_512</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10-2012 algorithm, 512-bit key per rfc7091.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-ECDH-X448:CAPS"></a>GNUTLS_PK_ECDH_X448</p></td> +<td class="enum_member_description"> +<p>Elliptic curve algorithm, restricted to ECDH as per rfc7748.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-EDDSA-ED448:CAPS"></a>GNUTLS_PK_EDDSA_ED448</p></td> +<td class="enum_member_description"> +<p>Edwards curve Digital signature algorithm. Used with SHAKE256 on signatures.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PK-MAX:CAPS"></a>GNUTLS_PK_MAX</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sign-algorithm-t"></a><h3>enum gnutls_sign_algorithm_t</h3> +<p>Enumeration of different digital signature algorithms.</p> +<div class="refsect3"> +<a name="gnutls-sign-algorithm-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-UNKNOWN:CAPS"></a>GNUTLS_SIGN_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown signature algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA1:CAPS"></a>GNUTLS_SIGN_RSA_SHA1</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-1</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA:CAPS"></a>GNUTLS_SIGN_RSA_SHA</p></td> +<td class="enum_member_description"> +<p>Same as <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA1:CAPS"><code class="literal">GNUTLS_SIGN_RSA_SHA1</code></a>.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA1:CAPS"></a>GNUTLS_SIGN_DSA_SHA1</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm DSA with SHA-1</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA:CAPS"></a>GNUTLS_SIGN_DSA_SHA</p></td> +<td class="enum_member_description"> +<p>Same as <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA1:CAPS"><code class="literal">GNUTLS_SIGN_DSA_SHA1</code></a>.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-MD5:CAPS"></a>GNUTLS_SIGN_RSA_MD5</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with MD5.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-MD2:CAPS"></a>GNUTLS_SIGN_RSA_MD2</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with MD2.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-RMD160:CAPS"></a>GNUTLS_SIGN_RSA_RMD160</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with RMD-160.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA256:CAPS"></a>GNUTLS_SIGN_RSA_SHA256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-256.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA384:CAPS"></a>GNUTLS_SIGN_RSA_SHA384</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-384.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA512:CAPS"></a>GNUTLS_SIGN_RSA_SHA512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-512.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA224:CAPS"></a>GNUTLS_SIGN_RSA_SHA224</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-224.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA224:CAPS"></a>GNUTLS_SIGN_DSA_SHA224</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm DSA with SHA-224</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA256:CAPS"></a>GNUTLS_SIGN_DSA_SHA256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm DSA with SHA-256</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SHA1:CAPS"></a>GNUTLS_SIGN_ECDSA_SHA1</p></td> +<td class="enum_member_description"> +<p>ECDSA with SHA1.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SHA224:CAPS"></a>GNUTLS_SIGN_ECDSA_SHA224</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA with SHA-224.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SHA256:CAPS"></a>GNUTLS_SIGN_ECDSA_SHA256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA with SHA-256.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SHA384:CAPS"></a>GNUTLS_SIGN_ECDSA_SHA384</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA with SHA-384.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SHA512:CAPS"></a>GNUTLS_SIGN_ECDSA_SHA512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA with SHA-512.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA384:CAPS"></a>GNUTLS_SIGN_DSA_SHA384</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm DSA with SHA-384</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA512:CAPS"></a>GNUTLS_SIGN_DSA_SHA512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm DSA with SHA-512</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SHA3-224:CAPS"></a>GNUTLS_SIGN_ECDSA_SHA3_224</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA with SHA3-224.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SHA3-256:CAPS"></a>GNUTLS_SIGN_ECDSA_SHA3_256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA with SHA3-256.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SHA3-384:CAPS"></a>GNUTLS_SIGN_ECDSA_SHA3_384</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA with SHA3-384.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SHA3-512:CAPS"></a>GNUTLS_SIGN_ECDSA_SHA3_512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA with SHA3-512.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA3-224:CAPS"></a>GNUTLS_SIGN_DSA_SHA3_224</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm DSA with SHA3-224.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA3-256:CAPS"></a>GNUTLS_SIGN_DSA_SHA3_256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm DSA with SHA3-256.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA3-384:CAPS"></a>GNUTLS_SIGN_DSA_SHA3_384</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm DSA with SHA3-384.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-DSA-SHA3-512:CAPS"></a>GNUTLS_SIGN_DSA_SHA3_512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm DSA with SHA3-512.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA3-224:CAPS"></a>GNUTLS_SIGN_RSA_SHA3_224</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA3-224.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA3-256:CAPS"></a>GNUTLS_SIGN_RSA_SHA3_256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA3-256.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA3-384:CAPS"></a>GNUTLS_SIGN_RSA_SHA3_384</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA3-384.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-SHA3-512:CAPS"></a>GNUTLS_SIGN_RSA_SHA3_512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA3-512.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-PSS-SHA256:CAPS"></a>GNUTLS_SIGN_RSA_PSS_SHA256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-256, with PSS padding (RSA-PSS certificate).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-PSS-SHA384:CAPS"></a>GNUTLS_SIGN_RSA_PSS_SHA384</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-384, with PSS padding (RSA-PSS certificate).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-PSS-SHA512:CAPS"></a>GNUTLS_SIGN_RSA_PSS_SHA512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-512, with PSS padding (RSA-PSS certificate).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-EDDSA-ED25519:CAPS"></a>GNUTLS_SIGN_EDDSA_ED25519</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm EdDSA with Ed25519 curve.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-RAW:CAPS"></a>GNUTLS_SIGN_RSA_RAW</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with DigestInfo formatted data</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SECP256R1-SHA256:CAPS"></a>GNUTLS_SIGN_ECDSA_SECP256R1_SHA256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA-SECP256R1 with SHA-256 (used in TLS 1.3 but not PKIX).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SECP384R1-SHA384:CAPS"></a>GNUTLS_SIGN_ECDSA_SECP384R1_SHA384</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA-SECP384R1 with SHA-384 (used in TLS 1.3 but not PKIX).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-ECDSA-SECP521R1-SHA512:CAPS"></a>GNUTLS_SIGN_ECDSA_SECP521R1_SHA512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm ECDSA-SECP521R1 with SHA-512 (used in TLS 1.3 but not PKIX).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-PSS-RSAE-SHA256:CAPS"></a>GNUTLS_SIGN_RSA_PSS_RSAE_SHA256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-256, +with PSS padding (RSA PKCS#1 1.5 certificate). This signature is identical +to <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-RSA-PSS-SHA256:CAPS"><span class="type">GNUTLS_SIGN_RSA_PSS_SHA256</span></a>, but they are distinct as the TLS1.3 protocol +treats them differently.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-PSS-RSAE-SHA384:CAPS"></a>GNUTLS_SIGN_RSA_PSS_RSAE_SHA384</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-384, +with PSS padding (RSA PKCS#1 1.5 certificate). This signature is identical +to <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-RSA-PSS-SHA384:CAPS"><span class="type">GNUTLS_SIGN_RSA_PSS_SHA384</span></a>, but they are distinct as the TLS1.3 protocol +treats them differently.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-RSA-PSS-RSAE-SHA512:CAPS"></a>GNUTLS_SIGN_RSA_PSS_RSAE_SHA512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm RSA with SHA-512, +with PSS padding (RSA PKCS#1 1.5 certificate). This signature is identical +to <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-RSA-PSS-SHA512:CAPS"><span class="type">GNUTLS_SIGN_RSA_PSS_SHA512</span></a>, but they are distinct as the TLS1.3 protocol +treats them differently.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-GOST-94:CAPS"></a>GNUTLS_SIGN_GOST_94</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm GOST R 34.10-2001 with GOST R 34.11-94</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-GOST-256:CAPS"></a>GNUTLS_SIGN_GOST_256</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm GOST R 34.10-2012 with GOST R 34.11-2012 256 bit</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-GOST-512:CAPS"></a>GNUTLS_SIGN_GOST_512</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm GOST R 34.10-2012 with GOST R 34.11-2012 512 bit</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-EDDSA-ED448:CAPS"></a>GNUTLS_SIGN_EDDSA_ED448</p></td> +<td class="enum_member_description"> +<p>Digital signature algorithm EdDSA with Ed448 curve.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SIGN-MAX:CAPS"></a>GNUTLS_SIGN_MAX</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ecc-curve-t"></a><h3>enum gnutls_ecc_curve_t</h3> +<p>Enumeration of ECC curves.</p> +<div class="refsect3"> +<a name="gnutls-ecc-curve-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-INVALID:CAPS"></a>GNUTLS_ECC_CURVE_INVALID</p></td> +<td class="enum_member_description"> +<p>Cannot be known</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-SECP224R1:CAPS"></a>GNUTLS_ECC_CURVE_SECP224R1</p></td> +<td class="enum_member_description"> +<p>the SECP224R1 curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-SECP256R1:CAPS"></a>GNUTLS_ECC_CURVE_SECP256R1</p></td> +<td class="enum_member_description"> +<p>the SECP256R1 curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-SECP384R1:CAPS"></a>GNUTLS_ECC_CURVE_SECP384R1</p></td> +<td class="enum_member_description"> +<p>the SECP384R1 curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-SECP521R1:CAPS"></a>GNUTLS_ECC_CURVE_SECP521R1</p></td> +<td class="enum_member_description"> +<p>the SECP521R1 curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-SECP192R1:CAPS"></a>GNUTLS_ECC_CURVE_SECP192R1</p></td> +<td class="enum_member_description"> +<p>the SECP192R1 curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-X25519:CAPS"></a>GNUTLS_ECC_CURVE_X25519</p></td> +<td class="enum_member_description"> +<p>the X25519 curve (ECDH only)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-ED25519:CAPS"></a>GNUTLS_ECC_CURVE_ED25519</p></td> +<td class="enum_member_description"> +<p>the Ed25519 curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST256CPA:CAPS"></a>GNUTLS_ECC_CURVE_GOST256CPA</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 CryptoPro 256 A curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST256CPB:CAPS"></a>GNUTLS_ECC_CURVE_GOST256CPB</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 CryptoPro 256 B curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST256CPC:CAPS"></a>GNUTLS_ECC_CURVE_GOST256CPC</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 CryptoPro 256 C curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST256CPXA:CAPS"></a>GNUTLS_ECC_CURVE_GOST256CPXA</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 CryptoPro 256 XchA curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST256CPXB:CAPS"></a>GNUTLS_ECC_CURVE_GOST256CPXB</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 CryptoPro 256 XchB curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST512A:CAPS"></a>GNUTLS_ECC_CURVE_GOST512A</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 TC26 512 A curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST512B:CAPS"></a>GNUTLS_ECC_CURVE_GOST512B</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 TC26 512 B curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST512C:CAPS"></a>GNUTLS_ECC_CURVE_GOST512C</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 TC26 512 C curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST256A:CAPS"></a>GNUTLS_ECC_CURVE_GOST256A</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 TC26 256 A curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST256B:CAPS"></a>GNUTLS_ECC_CURVE_GOST256B</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 TC26 256 B curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST256C:CAPS"></a>GNUTLS_ECC_CURVE_GOST256C</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 TC26 256 C curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-GOST256D:CAPS"></a>GNUTLS_ECC_CURVE_GOST256D</p></td> +<td class="enum_member_description"> +<p>GOST R 34.10 TC26 256 D curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-X448:CAPS"></a>GNUTLS_ECC_CURVE_X448</p></td> +<td class="enum_member_description"> +<p>the X448 curve (ECDH only)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-ED448:CAPS"></a>GNUTLS_ECC_CURVE_ED448</p></td> +<td class="enum_member_description"> +<p>the Ed448 curve</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ECC-CURVE-MAX:CAPS"></a>GNUTLS_ECC_CURVE_MAX</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-group-t"></a><h3>enum gnutls_group_t</h3> +<p>Enumeration of supported groups. It is intended to be backwards +compatible with the enumerations in <a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><code class="literal">gnutls_ecc_curve_t</code></a> for the groups +which are valid elliptic curves.</p> +<div class="refsect3"> +<a name="gnutls-group-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-INVALID:CAPS"></a>GNUTLS_GROUP_INVALID</p></td> +<td class="enum_member_description"> +<p>Indicates unknown/invalid group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-SECP192R1:CAPS"></a>GNUTLS_GROUP_SECP192R1</p></td> +<td class="enum_member_description"> +<p>the SECP192R1 curve group (legacy, only for TLS 1.2 compatibility)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-SECP224R1:CAPS"></a>GNUTLS_GROUP_SECP224R1</p></td> +<td class="enum_member_description"> +<p>the SECP224R1 curve group (legacy, only for TLS 1.2 compatibility)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-SECP256R1:CAPS"></a>GNUTLS_GROUP_SECP256R1</p></td> +<td class="enum_member_description"> +<p>the SECP256R1 curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-SECP384R1:CAPS"></a>GNUTLS_GROUP_SECP384R1</p></td> +<td class="enum_member_description"> +<p>the SECP384R1 curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-SECP521R1:CAPS"></a>GNUTLS_GROUP_SECP521R1</p></td> +<td class="enum_member_description"> +<p>the SECP521R1 curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-X25519:CAPS"></a>GNUTLS_GROUP_X25519</p></td> +<td class="enum_member_description"> +<p>the X25519 curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-X448:CAPS"></a>GNUTLS_GROUP_X448</p></td> +<td class="enum_member_description"> +<p>the X448 curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-GC256A:CAPS"></a>GNUTLS_GROUP_GC256A</p></td> +<td class="enum_member_description"> +<p>the GOST R 34.10 TC26 256 A curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-GC256B:CAPS"></a>GNUTLS_GROUP_GC256B</p></td> +<td class="enum_member_description"> +<p>the GOST R 34.10 TC26 256 B curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-GC256C:CAPS"></a>GNUTLS_GROUP_GC256C</p></td> +<td class="enum_member_description"> +<p>the GOST R 34.10 TC26 256 C curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-GC256D:CAPS"></a>GNUTLS_GROUP_GC256D</p></td> +<td class="enum_member_description"> +<p>the GOST R 34.10 TC26 256 D curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-GC512A:CAPS"></a>GNUTLS_GROUP_GC512A</p></td> +<td class="enum_member_description"> +<p>the GOST R 34.10 TC26 512 A curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-GC512B:CAPS"></a>GNUTLS_GROUP_GC512B</p></td> +<td class="enum_member_description"> +<p>the GOST R 34.10 TC26 512 B curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-GC512C:CAPS"></a>GNUTLS_GROUP_GC512C</p></td> +<td class="enum_member_description"> +<p>the GOST R 34.10 TC26 512 C curve group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-FFDHE2048:CAPS"></a>GNUTLS_GROUP_FFDHE2048</p></td> +<td class="enum_member_description"> +<p>the FFDHE2048 group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-FFDHE3072:CAPS"></a>GNUTLS_GROUP_FFDHE3072</p></td> +<td class="enum_member_description"> +<p>the FFDHE3072 group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-FFDHE4096:CAPS"></a>GNUTLS_GROUP_FFDHE4096</p></td> +<td class="enum_member_description"> +<p>the FFDHE4096 group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-FFDHE8192:CAPS"></a>GNUTLS_GROUP_FFDHE8192</p></td> +<td class="enum_member_description"> +<p>the FFDHE8192 group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-FFDHE6144:CAPS"></a>GNUTLS_GROUP_FFDHE6144</p></td> +<td class="enum_member_description"> +<p>the FFDHE6144 group</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GROUP-MAX:CAPS"></a>GNUTLS_GROUP_MAX</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-sec-param-t"></a><h3>enum gnutls_sec_param_t</h3> +<p>Enumeration of security parameters for passive attacks.</p> +<div class="refsect3"> +<a name="gnutls-sec-param-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-UNKNOWN:CAPS"></a>GNUTLS_SEC_PARAM_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Cannot be known</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-INSECURE:CAPS"></a>GNUTLS_SEC_PARAM_INSECURE</p></td> +<td class="enum_member_description"> +<p>Less than 42 bits of security</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-EXPORT:CAPS"></a>GNUTLS_SEC_PARAM_EXPORT</p></td> +<td class="enum_member_description"> +<p>42 bits of security</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-VERY-WEAK:CAPS"></a>GNUTLS_SEC_PARAM_VERY_WEAK</p></td> +<td class="enum_member_description"> +<p>64 bits of security</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-WEAK:CAPS"></a>GNUTLS_SEC_PARAM_WEAK</p></td> +<td class="enum_member_description"> +<p>72 bits of security</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-LOW:CAPS"></a>GNUTLS_SEC_PARAM_LOW</p></td> +<td class="enum_member_description"> +<p>80 bits of security</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-LEGACY:CAPS"></a>GNUTLS_SEC_PARAM_LEGACY</p></td> +<td class="enum_member_description"> +<p>96 bits of security</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-MEDIUM:CAPS"></a>GNUTLS_SEC_PARAM_MEDIUM</p></td> +<td class="enum_member_description"> +<p>112 bits of security (used to be <a class="link" href="gnutls-gnutls.html#GNUTLS-SEC-PARAM-NORMAL:CAPS" title="GNUTLS_SEC_PARAM_NORMAL"><code class="literal">GNUTLS_SEC_PARAM_NORMAL</code></a>)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-HIGH:CAPS"></a>GNUTLS_SEC_PARAM_HIGH</p></td> +<td class="enum_member_description"> +<p>128 bits of security</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-ULTRA:CAPS"></a>GNUTLS_SEC_PARAM_ULTRA</p></td> +<td class="enum_member_description"> +<p>192 bits of security</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-FUTURE:CAPS"></a>GNUTLS_SEC_PARAM_FUTURE</p></td> +<td class="enum_member_description"> +<p>256 bits of security</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SEC-PARAM-MAX:CAPS"></a>GNUTLS_SEC_PARAM_MAX</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-SEC-PARAM-NORMAL:CAPS"></a><h3>GNUTLS_SEC_PARAM_NORMAL</h3> +<pre class="programlisting">#define GNUTLS_SEC_PARAM_NORMAL GNUTLS_SEC_PARAM_MEDIUM +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-channel-binding-t"></a><h3>enum gnutls_channel_binding_t</h3> +<p>Enumeration of supported channel binding types.</p> +<div class="refsect3"> +<a name="gnutls-channel-binding-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CB-TLS-UNIQUE:CAPS"></a>GNUTLS_CB_TLS_UNIQUE</p></td> +<td class="enum_member_description"> +<p>"tls-unique" (RFC 5929) channel binding</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CB-TLS-SERVER-END-POINT:CAPS"></a>GNUTLS_CB_TLS_SERVER_END_POINT</p></td> +<td class="enum_member_description"> +<p>"tls-server-end-point" (RFC 5929) channel binding</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CB-TLS-EXPORTER:CAPS"></a>GNUTLS_CB_TLS_EXPORTER</p></td> +<td class="enum_member_description"> +<p>"tls-exporter" (RFC 9266) channel binding</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-gost-paramset-t"></a><h3>enum gnutls_gost_paramset_t</h3> +<p>Enumeration of different GOST 28147 parameter sets.</p> +<div class="refsect3"> +<a name="gnutls-gost-paramset-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GOST-PARAMSET-UNKNOWN:CAPS"></a>GNUTLS_GOST_PARAMSET_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown/default parameter set</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GOST-PARAMSET-TC26-Z:CAPS"></a>GNUTLS_GOST_PARAMSET_TC26_Z</p></td> +<td class="enum_member_description"> +<p>Specified by TC26, see rfc7836</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GOST-PARAMSET-CP-A:CAPS"></a>GNUTLS_GOST_PARAMSET_CP_A</p></td> +<td class="enum_member_description"> +<p>CryptoPro-A, see rfc4357</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GOST-PARAMSET-CP-B:CAPS"></a>GNUTLS_GOST_PARAMSET_CP_B</p></td> +<td class="enum_member_description"> +<p>CryptoPro-B, see rfc4357</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GOST-PARAMSET-CP-C:CAPS"></a>GNUTLS_GOST_PARAMSET_CP_C</p></td> +<td class="enum_member_description"> +<p>CryptoPro-C, see rfc4357</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-GOST-PARAMSET-CP-D:CAPS"></a>GNUTLS_GOST_PARAMSET_CP_D</p></td> +<td class="enum_member_description"> +<p>CryptoPro-D, see rfc4357</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ctype-target-t"></a><h3>enum gnutls_ctype_target_t</h3> +<p>Enumeration of certificate type targets with respect to asymmetric +certificate types as specified in RFC7250 and P2P connection set up +as specified in draft-vanrein-tls-symmetry-02.</p> +<div class="refsect3"> +<a name="gnutls-ctype-target-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CTYPE-CLIENT:CAPS"></a>GNUTLS_CTYPE_CLIENT</p></td> +<td class="enum_member_description"> +<p>for requesting client certificate type values.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CTYPE-SERVER:CAPS"></a>GNUTLS_CTYPE_SERVER</p></td> +<td class="enum_member_description"> +<p>for requesting server certificate type values.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CTYPE-OURS:CAPS"></a>GNUTLS_CTYPE_OURS</p></td> +<td class="enum_member_description"> +<p>for requesting our certificate type values.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CTYPE-PEERS:CAPS"></a>GNUTLS_CTYPE_PEERS</p></td> +<td class="enum_member_description"> +<p>for requesting the peers' certificate type values.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-transport-ptr-t"></a><h3>gnutls_transport_ptr_t</h3> +<pre class="programlisting">typedef void *gnutls_transport_ptr_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-t"></a><h3>gnutls_session_t</h3> +<pre class="programlisting">typedef struct gnutls_session_int *gnutls_session_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-t"></a><h3>gnutls_dh_params_t</h3> +<pre class="programlisting">typedef struct gnutls_dh_params_int *gnutls_dh_params_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-rsa-params-t"></a><h3>gnutls_rsa_params_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_privkey_int *gnutls_rsa_params_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-t"></a><h3>gnutls_priority_t</h3> +<pre class="programlisting">typedef struct gnutls_priority_st *gnutls_priority_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-datum-t"></a><h3>gnutls_datum_t</h3> +<pre class="programlisting">typedef struct { + unsigned char *data; + unsigned int size; +} gnutls_datum_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-library-config-st"></a><h3>gnutls_library_config_st</h3> +<pre class="programlisting">typedef struct { + const char *name; + const char *value; +} gnutls_library_config_st; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-params-st"></a><h3>gnutls_params_st</h3> +<pre class="programlisting">typedef struct { + gnutls_params_type_t type; + union params { + gnutls_dh_params_t dh; + gnutls_rsa_params_t rsa_export; + } params; + int deinit; +} gnutls_params_st; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-DEFAULT-HANDSHAKE-TIMEOUT:CAPS"></a><h3>GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT</h3> +<pre class="programlisting">#define GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT ((unsigned int)-1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-INDEFINITE-TIMEOUT:CAPS"></a><h3>GNUTLS_INDEFINITE_TIMEOUT</h3> +<pre class="programlisting">#define GNUTLS_INDEFINITE_TIMEOUT ((unsigned int)-2) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KU-PEER:CAPS"></a><h3>GNUTLS_KU_PEER</h3> +<pre class="programlisting">#define GNUTLS_KU_PEER 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-HEARTBEAT-WAIT:CAPS"></a><h3>GNUTLS_HEARTBEAT_WAIT</h3> +<pre class="programlisting">#define GNUTLS_HEARTBEAT_WAIT 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-RECORD-WAIT:CAPS"></a><h3>GNUTLS_RECORD_WAIT</h3> +<pre class="programlisting">#define GNUTLS_RECORD_WAIT 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-range-st"></a><h3>gnutls_range_st</h3> +<pre class="programlisting">typedef struct { + size_t low; + size_t high; +} gnutls_range_st; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-packet-t"></a><h3>gnutls_packet_t</h3> +<pre class="programlisting">typedef struct mbuffer_st *gnutls_packet_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-read"></a><h3>gnutls_read</h3> +<pre class="programlisting">#define gnutls_read gnutls_record_recv +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-write"></a><h3>gnutls_write</h3> +<pre class="programlisting">#define gnutls_write gnutls_record_send +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-server-name-type-t"></a><h3>enum gnutls_server_name_type_t</h3> +<p>Enumeration of different server name types.</p> +<div class="refsect3"> +<a name="gnutls-server-name-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody><tr> +<td class="enum_member_name"><p><a name="GNUTLS-NAME-DNS:CAPS"></a>GNUTLS_NAME_DNS</p></td> +<td class="enum_member_description"> +<p>Domain Name System name type.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-HB-PEER-ALLOWED-TO-SEND:CAPS"></a><h3>GNUTLS_HB_PEER_ALLOWED_TO_SEND</h3> +<pre class="programlisting">#define GNUTLS_HB_PEER_ALLOWED_TO_SEND (1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-HB-PEER-NOT-ALLOWED-TO-SEND:CAPS"></a><h3>GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND</h3> +<pre class="programlisting">#define GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND (1<<1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-HB-LOCAL-ALLOWED-TO-SEND:CAPS"></a><h3>GNUTLS_HB_LOCAL_ALLOWED_TO_SEND</h3> +<pre class="programlisting">#define GNUTLS_HB_LOCAL_ALLOWED_TO_SEND (1<<2) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-flags-t"></a><h3>enum gnutls_session_flags_t</h3> +<p>Enumeration of different session parameters.</p> +<div class="refsect3"> +<a name="gnutls-session-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-SAFE-RENEGOTIATION:CAPS"></a>GNUTLS_SFLAGS_SAFE_RENEGOTIATION</p></td> +<td class="enum_member_description"> +<p>Safe renegotiation (RFC5746) was used</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-EXT-MASTER-SECRET:CAPS"></a>GNUTLS_SFLAGS_EXT_MASTER_SECRET</p></td> +<td class="enum_member_description"> +<p>The extended master secret (RFC7627) extension was used</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-ETM:CAPS"></a>GNUTLS_SFLAGS_ETM</p></td> +<td class="enum_member_description"> +<p>The encrypt then MAC (RFC7366) extension was used</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-HB-LOCAL-SEND:CAPS"></a>GNUTLS_SFLAGS_HB_LOCAL_SEND</p></td> +<td class="enum_member_description"> +<p>The heartbeat negotiation allows the local side to send heartbeat messages</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-HB-PEER-SEND:CAPS"></a>GNUTLS_SFLAGS_HB_PEER_SEND</p></td> +<td class="enum_member_description"> +<p>The heartbeat negotiation allows the peer to send heartbeat messages</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-FALSE-START:CAPS"></a>GNUTLS_SFLAGS_FALSE_START</p></td> +<td class="enum_member_description"> +<p>False start was used in this client session.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-RFC7919:CAPS"></a>GNUTLS_SFLAGS_RFC7919</p></td> +<td class="enum_member_description"> +<p>The RFC7919 Diffie-Hellman parameters were negotiated</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-SESSION-TICKET:CAPS"></a>GNUTLS_SFLAGS_SESSION_TICKET</p></td> +<td class="enum_member_description"> +<p>A session ticket has been received by the server.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-POST-HANDSHAKE-AUTH:CAPS"></a>GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH</p></td> +<td class="enum_member_description"> +<p>Indicates client capability for post-handshake auth; set only on server side.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-EARLY-START:CAPS"></a>GNUTLS_SFLAGS_EARLY_START</p></td> +<td class="enum_member_description"> +<p>The TLS1.3 server session returned early.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-EARLY-DATA:CAPS"></a>GNUTLS_SFLAGS_EARLY_DATA</p></td> +<td class="enum_member_description"> +<p>The TLS1.3 early data has been received by the server.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-CLI-REQUESTED-OCSP:CAPS"></a>GNUTLS_SFLAGS_CLI_REQUESTED_OCSP</p></td> +<td class="enum_member_description"> +<p>Set when the client has requested OCSP staple during handshake.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SFLAGS-SERV-REQUESTED-OCSP:CAPS"></a>GNUTLS_SFLAGS_SERV_REQUESTED_OCSP</p></td> +<td class="enum_member_description"> +<p>Set when the server has requested OCSP staple during handshake.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-supplemental-data-format-type-t"></a><h3>enum gnutls_supplemental_data_format_type_t</h3> +<p>Enumeration of different supplemental data types (RFC 4680).</p> +<div class="refsect3"> +<a name="gnutls-supplemental-data-format-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody><tr> +<td class="enum_member_name"><p><a name="GNUTLS-SUPPLEMENTAL-UNKNOWN:CAPS"></a>GNUTLS_SUPPLEMENTAL_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown data format</p> +</td> +<td class="enum_member_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srtp-profile-t"></a><h3>enum gnutls_srtp_profile_t</h3> +<p>Enumeration of different SRTP protection profiles.</p> +<div class="refsect3"> +<a name="gnutls-srtp-profile-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SRTP-AES128-CM-HMAC-SHA1-80:CAPS"></a>GNUTLS_SRTP_AES128_CM_HMAC_SHA1_80</p></td> +<td class="enum_member_description"> +<p>128 bit AES with a 80 bit HMAC-SHA1</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SRTP-AES128-CM-HMAC-SHA1-32:CAPS"></a>GNUTLS_SRTP_AES128_CM_HMAC_SHA1_32</p></td> +<td class="enum_member_description"> +<p>128 bit AES with a 32 bit HMAC-SHA1</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SRTP-NULL-HMAC-SHA1-80:CAPS"></a>GNUTLS_SRTP_NULL_HMAC_SHA1_80</p></td> +<td class="enum_member_description"> +<p>NULL cipher with a 80 bit HMAC-SHA1</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SRTP-NULL-HMAC-SHA1-32:CAPS"></a>GNUTLS_SRTP_NULL_HMAC_SHA1_32</p></td> +<td class="enum_member_description"> +<p>NULL cipher with a 32 bit HMAC-SHA1</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-alpn-flags-t"></a><h3>enum gnutls_alpn_flags_t</h3> +<p>Enumeration of different ALPN flags. These are used by <a class="link" href="gnutls-gnutls.html#gnutls-alpn-set-protocols" title="gnutls_alpn_set_protocols ()"><code class="function">gnutls_alpn_set_protocols()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-alpn-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ALPN-MANDATORY:CAPS"></a>GNUTLS_ALPN_MANDATORY</p></td> +<td class="enum_member_description"> +<p>Require ALPN negotiation. The connection will be +aborted if no matching ALPN protocol is found.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ALPN-SERVER-PRECEDENCE:CAPS"></a>GNUTLS_ALPN_SERVER_PRECEDENCE</p></td> +<td class="enum_member_description"> +<p>The choices set by the server +will take precedence over the client's.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-ALPN-MAND:CAPS"></a><h3>GNUTLS_ALPN_MAND</h3> +<pre class="programlisting">#define GNUTLS_ALPN_MAND GNUTLS_ALPN_MANDATORY +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PRIORITY-INIT-DEF-APPEND:CAPS"></a><h3>GNUTLS_PRIORITY_INIT_DEF_APPEND</h3> +<pre class="programlisting">#define GNUTLS_PRIORITY_INIT_DEF_APPEND 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PRIORITY-LIST-INIT-KEYWORDS:CAPS"></a><h3>GNUTLS_PRIORITY_LIST_INIT_KEYWORDS</h3> +<pre class="programlisting">#define GNUTLS_PRIORITY_LIST_INIT_KEYWORDS 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PRIORITY-LIST-SPECIAL:CAPS"></a><h3>GNUTLS_PRIORITY_LIST_SPECIAL</h3> +<pre class="programlisting">#define GNUTLS_PRIORITY_LIST_SPECIAL 2 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-vdata-types-t"></a><h3>enum gnutls_vdata_types_t</h3> +<p>Enumeration of different typed-data options. They are used as input to certificate +verification functions to provide information about the name and purpose of the +certificate. Only a single option of a type can be provided to the relevant functions +(i.e., options <a class="link" href="gnutls-gnutls.html#GNUTLS-DT-DNS-HOSTNAME:CAPS"><code class="literal">GNUTLS_DT_DNS_HOSTNAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-DT-IP-ADDRESS:CAPS"><code class="literal">GNUTLS_DT_IP_ADDRESS</code></a> and +<a class="link" href="gnutls-gnutls.html#GNUTLS-DT-RFC822NAME:CAPS"><code class="literal">GNUTLS_DT_RFC822NAME</code></a> cannot be combined).</p> +<div class="refsect3"> +<a name="gnutls-vdata-types-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DT-UNKNOWN:CAPS"></a>GNUTLS_DT_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown data type.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DT-DNS-HOSTNAME:CAPS"></a>GNUTLS_DT_DNS_HOSTNAME</p></td> +<td class="enum_member_description"> +<p>The data contain a null-terminated DNS hostname; the hostname will be + +matched using the RFC6125 rules. If the data contain a textual IP (v4 or v6) address it will +be marched against the IPAddress Alternative name, unless the verification flag <a class="link" href="gnutls-x509.html#GNUTLS-VERIFY-DO-NOT-ALLOW-IP-MATCHES:CAPS"><code class="literal">GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES</code></a> +is specified.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DT-KEY-PURPOSE-OID:CAPS"></a>GNUTLS_DT_KEY_PURPOSE_OID</p></td> +<td class="enum_member_description"> +<p>The data contain a null-terminated key purpose OID. It will be matched +against the certificate's Extended Key Usage extension.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DT-RFC822NAME:CAPS"></a>GNUTLS_DT_RFC822NAME</p></td> +<td class="enum_member_description"> +<p>The data contain a null-terminated email address; the email will be +matched against the RFC822Name Alternative name of the certificate, or the EMAIL DN component if the +former isn't available. Prior to matching the email address will be converted to ACE +(ASCII-compatible-encoding).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-DT-IP-ADDRESS:CAPS"></a>GNUTLS_DT_IP_ADDRESS</p></td> +<td class="enum_member_description"> +<p>The data contain a raw IP address (4 or 16 bytes). If will be matched +against the IPAddress Alternative name; option available since 3.6.0.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-typed-vdata-st"></a><h3>gnutls_typed_vdata_st</h3> +<pre class="programlisting">typedef struct { + gnutls_vdata_types_t type; + unsigned char *data; + unsigned int size; +} gnutls_typed_vdata_st; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-MAX-SESSION-ID:CAPS"></a><h3>GNUTLS_MAX_SESSION_ID</h3> +<pre class="programlisting">#define GNUTLS_MAX_SESSION_ID 32 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-HOOK-POST:CAPS"></a><h3>GNUTLS_HOOK_POST</h3> +<pre class="programlisting">#define GNUTLS_HOOK_POST (1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-HOOK-PRE:CAPS"></a><h3>GNUTLS_HOOK_PRE</h3> +<pre class="programlisting">#define GNUTLS_HOOK_PRE (0) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-HOOK-BOTH:CAPS"></a><h3>GNUTLS_HOOK_BOTH</h3> +<pre class="programlisting">#define GNUTLS_HOOK_BOTH (-1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-handshake-post-client-hello-func"></a><h3>gnutls_handshake_post_client_hello_func</h3> +<pre class="programlisting">#define gnutls_handshake_post_client_hello_func gnutls_handshake_simple_hook_func +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-cred-set"></a><h3>gnutls_cred_set</h3> +<pre class="programlisting">#define gnutls_cred_set gnutls_credentials_set +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-t"></a><h3>gnutls_pubkey_t</h3> +<pre class="programlisting">typedef struct gnutls_pubkey_st *gnutls_pubkey_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-t"></a><h3>gnutls_privkey_t</h3> +<pre class="programlisting">typedef struct gnutls_privkey_st *gnutls_privkey_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-t"></a><h3>gnutls_x509_privkey_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_privkey_int *gnutls_x509_privkey_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-t"></a><h3>gnutls_x509_crl_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_crl_int *gnutls_x509_crl_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-t"></a><h3>gnutls_x509_crt_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_crt_int *gnutls_x509_crt_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-t"></a><h3>gnutls_x509_crq_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_crq_int *gnutls_x509_crq_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-keyring-t"></a><h3>gnutls_openpgp_keyring_t</h3> +<pre class="programlisting">typedef struct gnutls_openpgp_keyring_int *gnutls_openpgp_keyring_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-flags"></a><h3>enum gnutls_certificate_flags</h3> +<p>Enumeration of different certificate credentials flags.</p> +<div class="refsect3"> +<a name="gnutls-certificate-flags.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERTIFICATE-SKIP-KEY-CERT-MATCH:CAPS"></a>GNUTLS_CERTIFICATE_SKIP_KEY_CERT_MATCH</p></td> +<td class="enum_member_description"> +<p>Skip the key and certificate matching check.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERTIFICATE-API-V2:CAPS"></a>GNUTLS_CERTIFICATE_API_V2</p></td> +<td class="enum_member_description"> +<p>If set the gnutls_certificate_set_*key* functions will return an index of the added key pair instead of zero.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERTIFICATE-SKIP-OCSP-RESPONSE-CHECK:CAPS"></a>GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK</p></td> +<td class="enum_member_description"> +<p>If set, the gnutls_certificate_set_ocsp_status_request_file +function, will not check whether the response set matches any of the certificates.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CERTIFICATE-VERIFY-CRLS:CAPS"></a>GNUTLS_CERTIFICATE_VERIFY_CRLS</p></td> +<td class="enum_member_description"> +<p>This will enable CRL verification when added in the certificate structure. +When used, it requires CAs to be added before CRLs.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ocsp-data-st"></a><h3>gnutls_ocsp_data_st</h3> +<pre class="programlisting">typedef struct { + unsigned int version; /* must be zero */ + gnutls_datum_t response; + time_t exptime; + unsigned char padding[32]; +} gnutls_ocsp_data_st; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="giovec-t"></a><h3>giovec_t</h3> +<pre class="programlisting">typedef struct iovec giovec_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-random-art-t"></a><h3>enum gnutls_random_art_t</h3> +<p>Enumeration of different random art types.</p> +<div class="refsect3"> +<a name="gnutls-random-art-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody><tr> +<td class="enum_member_name"><p><a name="GNUTLS-RANDOM-ART-OPENSSH:CAPS"></a>GNUTLS_RANDOM_ART_OPENSSH</p></td> +<td class="enum_member_description"> +<p>OpenSSH-style random art.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-IDNA-FORCE-2008:CAPS"></a><h3>GNUTLS_IDNA_FORCE_2008</h3> +<pre class="programlisting">#define GNUTLS_IDNA_FORCE_2008 (1<<1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-base64-encode-alloc"></a><h3>gnutls_srp_base64_encode_alloc</h3> +<pre class="programlisting">#define gnutls_srp_base64_encode_alloc gnutls_srp_base64_encode2 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-srp-base64-decode-alloc"></a><h3>gnutls_srp_base64_decode_alloc</h3> +<pre class="programlisting">#define gnutls_srp_base64_decode_alloc gnutls_srp_base64_decode2 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-psk-key-flags"></a><h3>enum gnutls_psk_key_flags</h3> +<p>Enumeration of different PSK key flags.</p> +<div class="refsect3"> +<a name="gnutls-psk-key-flags.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PSK-KEY-RAW:CAPS"></a>GNUTLS_PSK_KEY_RAW</p></td> +<td class="enum_member_description"> +<p>PSK-key in raw format.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PSK-KEY-HEX:CAPS"></a>GNUTLS_PSK_KEY_HEX</p></td> +<td class="enum_member_description"> +<p>PSK-key in hex format.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-subject-alt-name-t"></a><h3>enum gnutls_x509_subject_alt_name_t</h3> +<p>Enumeration of different subject alternative names types.</p> +<div class="refsect3"> +<a name="gnutls-x509-subject-alt-name-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-DNSNAME:CAPS"></a>GNUTLS_SAN_DNSNAME</p></td> +<td class="enum_member_description"> +<p>DNS-name SAN.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-RFC822NAME:CAPS"></a>GNUTLS_SAN_RFC822NAME</p></td> +<td class="enum_member_description"> +<p>E-mail address SAN.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-URI:CAPS"></a>GNUTLS_SAN_URI</p></td> +<td class="enum_member_description"> +<p>URI SAN.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-IPADDRESS:CAPS"></a>GNUTLS_SAN_IPADDRESS</p></td> +<td class="enum_member_description"> +<p>IP address SAN.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-OTHERNAME:CAPS"></a>GNUTLS_SAN_OTHERNAME</p></td> +<td class="enum_member_description"> +<p>OtherName SAN.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-DN:CAPS"></a>GNUTLS_SAN_DN</p></td> +<td class="enum_member_description"> +<p>DN SAN.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-REGISTERED-ID:CAPS"></a>GNUTLS_SAN_REGISTERED_ID</p></td> +<td class="enum_member_description"> +<p>RegisteredID.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-MAX:CAPS"></a>GNUTLS_SAN_MAX</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-OTHERNAME-XMPP:CAPS"></a>GNUTLS_SAN_OTHERNAME_XMPP</p></td> +<td class="enum_member_description"> +<p>Virtual SAN, used by certain functions for convenience.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-OTHERNAME-KRB5PRINCIPAL:CAPS"></a>GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL</p></td> +<td class="enum_member_description"> +<p>Virtual SAN, used by certain functions for convenience.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-SAN-OTHERNAME-MSUSERPRINCIPAL:CAPS"></a>GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL</p></td> +<td class="enum_member_description"> +<p>Virtual SAN, used by certain functions for convenience.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-t"></a><h3>gnutls_openpgp_crt_t</h3> +<pre class="programlisting">typedef struct gnutls_openpgp_crt_int *gnutls_openpgp_crt_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-t"></a><h3>gnutls_openpgp_privkey_t</h3> +<pre class="programlisting">typedef struct gnutls_openpgp_privkey_int *gnutls_openpgp_privkey_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-t"></a><h3>gnutls_pkcs11_privkey_t</h3> +<pre class="programlisting">typedef struct gnutls_pkcs11_privkey_st *gnutls_pkcs11_privkey_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-type-t"></a><h3>enum gnutls_privkey_type_t</h3> +<p>Enumeration of different private key types.</p> +<div class="refsect3"> +<a name="gnutls-privkey-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-X509:CAPS"></a>GNUTLS_PRIVKEY_X509</p></td> +<td class="enum_member_description"> +<p>X.509 private key, <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a>.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-OPENPGP:CAPS"></a>GNUTLS_PRIVKEY_OPENPGP</p></td> +<td class="enum_member_description"> +<p>OpenPGP private key, <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a>.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-PKCS11:CAPS"></a>GNUTLS_PRIVKEY_PKCS11</p></td> +<td class="enum_member_description"> +<p>PKCS11 private key, <a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a>.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PRIVKEY-EXT:CAPS"></a>GNUTLS_PRIVKEY_EXT</p></td> +<td class="enum_member_description"> +<p>External private key, operating using callbacks.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-retr2-st"></a><h3>gnutls_retr2_st</h3> +<pre class="programlisting">typedef struct { + gnutls_certificate_type_t cert_type; + gnutls_privkey_type_t key_type; + + union { + gnutls_x509_crt_t *x509; + gnutls_openpgp_crt_t pgp; + } cert; + unsigned int ncerts; /* one for pgp keys */ + + union { + gnutls_x509_privkey_t x509; + gnutls_openpgp_privkey_t pgp; + gnutls_pkcs11_privkey_t pkcs11; + } key; + + unsigned int deinit_all; /* if non zero all keys will be deinited */ +} gnutls_retr2_st; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pem-base64-encode-alloc"></a><h3>gnutls_pem_base64_encode_alloc</h3> +<pre class="programlisting">#define gnutls_pem_base64_encode_alloc gnutls_pem_base64_encode2 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pem-base64-decode-alloc"></a><h3>gnutls_pem_base64_decode_alloc</h3> +<pre class="programlisting">#define gnutls_pem_base64_decode_alloc gnutls_pem_base64_decode2 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS"></a><h3>GNUTLS_KEY_DIGITAL_SIGNATURE</h3> +<pre class="programlisting">#define GNUTLS_KEY_DIGITAL_SIGNATURE 128 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KEY-NON-REPUDIATION:CAPS"></a><h3>GNUTLS_KEY_NON_REPUDIATION</h3> +<pre class="programlisting">#define GNUTLS_KEY_NON_REPUDIATION 64 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS"></a><h3>GNUTLS_KEY_KEY_ENCIPHERMENT</h3> +<pre class="programlisting">#define GNUTLS_KEY_KEY_ENCIPHERMENT 32 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KEY-DATA-ENCIPHERMENT:CAPS"></a><h3>GNUTLS_KEY_DATA_ENCIPHERMENT</h3> +<pre class="programlisting">#define GNUTLS_KEY_DATA_ENCIPHERMENT 16 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KEY-KEY-AGREEMENT:CAPS"></a><h3>GNUTLS_KEY_KEY_AGREEMENT</h3> +<pre class="programlisting">#define GNUTLS_KEY_KEY_AGREEMENT 8 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KEY-KEY-CERT-SIGN:CAPS"></a><h3>GNUTLS_KEY_KEY_CERT_SIGN</h3> +<pre class="programlisting">#define GNUTLS_KEY_KEY_CERT_SIGN 4 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KEY-CRL-SIGN:CAPS"></a><h3>GNUTLS_KEY_CRL_SIGN</h3> +<pre class="programlisting">#define GNUTLS_KEY_CRL_SIGN 2 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KEY-ENCIPHER-ONLY:CAPS"></a><h3>GNUTLS_KEY_ENCIPHER_ONLY</h3> +<pre class="programlisting">#define GNUTLS_KEY_ENCIPHER_ONLY 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KEY-DECIPHER-ONLY:CAPS"></a><h3>GNUTLS_KEY_DECIPHER_ONLY</h3> +<pre class="programlisting">#define GNUTLS_KEY_DECIPHER_ONLY 32768 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-t"></a><h3>gnutls_tdb_t</h3> +<pre class="programlisting">typedef struct gnutls_tdb_int *gnutls_tdb_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-SCOMMIT-FLAG-ALLOW-BROKEN:CAPS"></a><h3>GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN</h3> +<pre class="programlisting">#define GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pin-flag-t"></a><h3>enum gnutls_pin_flag_t</h3> +<p>Enumeration of different flags that are input to the PIN function.</p> +<div class="refsect3"> +<a name="gnutls-pin-flag-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PIN-USER:CAPS"></a>GNUTLS_PIN_USER</p></td> +<td class="enum_member_description"> +<p>The PIN for the user.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PIN-SO:CAPS"></a>GNUTLS_PIN_SO</p></td> +<td class="enum_member_description"> +<p>The PIN for the security officer (admin).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PIN-FINAL-TRY:CAPS"></a>GNUTLS_PIN_FINAL_TRY</p></td> +<td class="enum_member_description"> +<p>This is the final try before blocking.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PIN-COUNT-LOW:CAPS"></a>GNUTLS_PIN_COUNT_LOW</p></td> +<td class="enum_member_description"> +<p>Few tries remain before token blocks.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PIN-CONTEXT-SPECIFIC:CAPS"></a>GNUTLS_PIN_CONTEXT_SPECIFIC</p></td> +<td class="enum_member_description"> +<p>The PIN is for a specific action and key like signing.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PIN-WRONG:CAPS"></a>GNUTLS_PIN_WRONG</p></td> +<td class="enum_member_description"> +<p>Last given PIN was not correct.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-PIN-USER:CAPS"></a><h3>GNUTLS_PKCS11_PIN_USER</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_PIN_USER GNUTLS_PIN_USER +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-PIN-SO:CAPS"></a><h3>GNUTLS_PKCS11_PIN_SO</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_PIN_SO GNUTLS_PIN_SO +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-PIN-FINAL-TRY:CAPS"></a><h3>GNUTLS_PKCS11_PIN_FINAL_TRY</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_PIN_FINAL_TRY GNUTLS_PIN_FINAL_TRY +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-PIN-COUNT-LOW:CAPS"></a><h3>GNUTLS_PKCS11_PIN_COUNT_LOW</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_PIN_COUNT_LOW GNUTLS_PIN_COUNT_LOW +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-PIN-CONTEXT-SPECIFIC:CAPS"></a><h3>GNUTLS_PKCS11_PIN_CONTEXT_SPECIFIC</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_PIN_CONTEXT_SPECIFIC GNUTLS_PIN_CONTEXT_SPECIFIC +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-PIN-WRONG:CAPS"></a><h3>GNUTLS_PKCS11_PIN_WRONG</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_PIN_WRONG GNUTLS_PIN_WRONG +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-buffer-t"></a><h3>gnutls_buffer_t</h3> +<pre class="programlisting">typedef struct gnutls_buffer_st *gnutls_buffer_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-UTF8-IGNORE-ERRS:CAPS"></a><h3>GNUTLS_UTF8_IGNORE_ERRS</h3> +<pre class="programlisting">#define GNUTLS_UTF8_IGNORE_ERRS 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-priv-data-t"></a><h3>gnutls_ext_priv_data_t</h3> +<pre class="programlisting">typedef void *gnutls_ext_priv_data_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-EXT-RAW-FLAG-TLS-CLIENT-HELLO:CAPS"></a><h3>GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO</h3> +<pre class="programlisting">#define GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-EXT-RAW-FLAG-DTLS-CLIENT-HELLO:CAPS"></a><h3>GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO</h3> +<pre class="programlisting">#define GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO (1<<1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-parse-type-t"></a><h3>enum gnutls_ext_parse_type_t</h3> +<p>Enumeration of different TLS extension parsing phases. The <em class="parameter"><code>gnutls_ext_parse_type_t</code></em> + +indicates the time/phase an extension is parsed during Client or Server hello parsing.</p> +<div class="refsect3"> +<a name="gnutls-ext-parse-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-ANY:CAPS"></a>GNUTLS_EXT_ANY</p></td> +<td class="enum_member_description"> +<p>Any extension type (should not be used as it is used only internally).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-APPLICATION:CAPS"></a>GNUTLS_EXT_APPLICATION</p></td> +<td class="enum_member_description"> +<p>Parsed after <em class="parameter"><code>GNUTLS_EXT_MANDATORY</code></em> +</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-TLS:CAPS"></a>GNUTLS_EXT_TLS</p></td> +<td class="enum_member_description"> +<p>TLS-internal extensions, parsed after <em class="parameter"><code>GNUTLS_EXT_APPLICATION</code></em> +.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-MANDATORY:CAPS"></a>GNUTLS_EXT_MANDATORY</p></td> +<td class="enum_member_description"> +<p>Parsed after <em class="parameter"><code>GNUTLS_EXT_VERSION_NEG</code></em> + and even when resuming.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-NONE:CAPS"></a>GNUTLS_EXT_NONE</p></td> +<td class="enum_member_description"> +<p>Never to be parsed</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-VERSION-NEG:CAPS"></a>GNUTLS_EXT_VERSION_NEG</p></td> +<td class="enum_member_description"> +<p>Extensions to be parsed first for TLS version negotiation.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-ext-flags-t"></a><h3>enum gnutls_ext_flags_t</h3> +<p>Enumeration of different TLS extension registration flags.</p> +<div class="refsect3"> +<a name="gnutls-ext-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-FLAG-OVERRIDE-INTERNAL:CAPS"></a>GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL</p></td> +<td class="enum_member_description"> +<p>If specified the extension registered will override the internal; this does not work with extensions existing prior to 3.6.0.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-FLAG-CLIENT-HELLO:CAPS"></a>GNUTLS_EXT_FLAG_CLIENT_HELLO</p></td> +<td class="enum_member_description"> +<p>This extension can be present in a client hello</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-FLAG-TLS12-SERVER-HELLO:CAPS"></a>GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO</p></td> +<td class="enum_member_description"> +<p>This extension can be present in a TLS1.2 or earlier server hello</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-FLAG-TLS13-SERVER-HELLO:CAPS"></a>GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO</p></td> +<td class="enum_member_description"> +<p>This extension can be present in a TLS1.3 server hello</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-FLAG-EE:CAPS"></a>GNUTLS_EXT_FLAG_EE</p></td> +<td class="enum_member_description"> +<p>This extension can be present in encrypted extensions message</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-FLAG-HRR:CAPS"></a>GNUTLS_EXT_FLAG_HRR</p></td> +<td class="enum_member_description"> +<p>This extension can be present in hello retry request message</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-FLAG-IGNORE-CLIENT-REQUEST:CAPS"></a>GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST</p></td> +<td class="enum_member_description"> +<p>When flag is present, this extension will be send even if the client didn't advertise it. An extension of this type is the Cookie TLS1.3 extension.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-FLAG-TLS:CAPS"></a>GNUTLS_EXT_FLAG_TLS</p></td> +<td class="enum_member_description"> +<p>This extension can be present under TLS; otherwise ignored.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-EXT-FLAG-DTLS:CAPS"></a>GNUTLS_EXT_FLAG_DTLS</p></td> +<td class="enum_member_description"> +<p>This extension can be present under DTLS; otherwise ignored.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-anti-replay-t"></a><h3>gnutls_anti_replay_t</h3> +<pre class="programlisting">typedef struct gnutls_anti_replay_st *gnutls_anti_replay_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-record-encryption-level-t"></a><h3>enum gnutls_record_encryption_level_t</h3> +<p>Enumeration of different levels of record encryption currently in place. +This is used by <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-read-function" title="gnutls_handshake_set_read_function ()"><code class="function">gnutls_handshake_set_read_function()</code></a> and +<a class="link" href="gnutls-gnutls.html#gnutls-handshake-write" title="gnutls_handshake_write ()"><code class="function">gnutls_handshake_write()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-record-encryption-level-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ENCRYPTION-LEVEL-INITIAL:CAPS"></a>GNUTLS_ENCRYPTION_LEVEL_INITIAL</p></td> +<td class="enum_member_description"> +<p>initial level that doesn't involve any +encryption</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ENCRYPTION-LEVEL-EARLY:CAPS"></a>GNUTLS_ENCRYPTION_LEVEL_EARLY</p></td> +<td class="enum_member_description"> +<p>early traffic secret is installed</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ENCRYPTION-LEVEL-HANDSHAKE:CAPS"></a>GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE</p></td> +<td class="enum_member_description"> +<p>handshake traffic secret is installed</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-ENCRYPTION-LEVEL-APPLICATION:CAPS"></a>GNUTLS_ENCRYPTION_LEVEL_APPLICATION</p></td> +<td class="enum_member_description"> +<p>application traffic secret is installed</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips-mode-t"></a><h3>enum gnutls_fips_mode_t</h3> +<p>Enumeration of different operational modes under FIPS140-2.</p> +<div class="refsect3"> +<a name="gnutls-fips-mode-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FIPS140-DISABLED:CAPS"></a>GNUTLS_FIPS140_DISABLED</p></td> +<td class="enum_member_description"> +<p>The FIPS140-2 mode is disabled.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FIPS140-STRICT:CAPS"></a>GNUTLS_FIPS140_STRICT</p></td> +<td class="enum_member_description"> +<p>The default mode; all forbidden operations will cause an +operation failure via error code.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FIPS140-SELFTESTS:CAPS"></a>GNUTLS_FIPS140_SELFTESTS</p></td> +<td class="enum_member_description"> +<p>A transient state during library initialization. That state + cannot be set or seen by applications.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FIPS140-LAX:CAPS"></a>GNUTLS_FIPS140_LAX</p></td> +<td class="enum_member_description"> +<p>The library still uses the FIPS140-2 relevant algorithms but all +forbidden by FIPS140-2 operations are allowed; this is useful when the +application is aware of the followed security policy, and needs +to utilize disallowed operations for other reasons (e.g., compatibility).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FIPS140-LOG:CAPS"></a>GNUTLS_FIPS140_LOG</p></td> +<td class="enum_member_description"> +<p>Similarly to <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-LAX:CAPS"><code class="literal">GNUTLS_FIPS140_LAX</code></a>, it allows forbidden operations; any use of them results +to a message to the audit callback functions.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-FIPS140-SET-MODE-THREAD:CAPS"></a><h3>GNUTLS_FIPS140_SET_MODE_THREAD</h3> +<pre class="programlisting">#define GNUTLS_FIPS140_SET_MODE_THREAD 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-context-t"></a><h3>gnutls_fips140_context_t</h3> +<pre class="programlisting">typedef struct gnutls_fips140_context_st *gnutls_fips140_context_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-fips140-operation-state-t"></a><h3>enum gnutls_fips140_operation_state_t</h3> +<p>The FIPS operation state set by the preceding operation.</p> +<p>There are state transition rules among the enum values:</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p>When the context is attached to a thread, it will be set to reset +to the <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-OP-INITIAL:CAPS"><code class="literal">GNUTLS_FIPS140_OP_INITIAL</code></a> state</p></li> +<li class="listitem"><p>From the <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-OP-INITIAL:CAPS"><code class="literal">GNUTLS_FIPS140_OP_INITIAL</code></a> state, the context can +transition to either <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-OP-APPROVED:CAPS"><code class="literal">GNUTLS_FIPS140_OP_APPROVED</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-OP-NOT-APPROVED:CAPS"><code class="literal">GNUTLS_FIPS140_OP_NOT_APPROVED</code></a>, or <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-OP-ERROR:CAPS"><code class="literal">GNUTLS_FIPS140_OP_ERROR</code></a></p></li> +<li class="listitem"><p>From the <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-OP-APPROVED:CAPS"><code class="literal">GNUTLS_FIPS140_OP_APPROVED</code></a> state, the context can +transition to <a class="link" href="gnutls-gnutls.html#GNUTLS-FIPS140-OP-NOT-APPROVED:CAPS"><code class="literal">GNUTLS_FIPS140_OP_NOT_APPROVED</code></a></p></li> +<li class="listitem"><p>All other transitions are prohibited.</p></li> +</ul></div> +<div class="refsect3"> +<a name="gnutls-fips140-operation-state-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FIPS140-OP-INITIAL:CAPS"></a>GNUTLS_FIPS140_OP_INITIAL</p></td> +<td class="enum_member_description"> +<p>no previous operation has done</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FIPS140-OP-APPROVED:CAPS"></a>GNUTLS_FIPS140_OP_APPROVED</p></td> +<td class="enum_member_description"> +<p>the previous operation was FIPS approved</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FIPS140-OP-NOT-APPROVED:CAPS"></a>GNUTLS_FIPS140_OP_NOT_APPROVED</p></td> +<td class="enum_member_description"> +<p>the previous operation was not FIPS approved</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-FIPS140-OP-ERROR:CAPS"></a>GNUTLS_FIPS140_OP_ERROR</p></td> +<td class="enum_member_description"> +<p>the previous operation caused an error regardless of FIPS</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-SUCCESS:CAPS"></a><h3>GNUTLS_E_SUCCESS</h3> +<pre class="programlisting">#define GNUTLS_E_SUCCESS 0 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNKNOWN-COMPRESSION-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM</h3> +<pre class="programlisting">#define GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS"></a><h3>GNUTLS_E_UNKNOWN_CIPHER_TYPE</h3> +<pre class="programlisting">#define GNUTLS_E_UNKNOWN_CIPHER_TYPE -6 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-LARGE-PACKET:CAPS"></a><h3>GNUTLS_E_LARGE_PACKET</h3> +<pre class="programlisting">#define GNUTLS_E_LARGE_PACKET -7 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNSUPPORTED-VERSION-PACKET:CAPS"></a><h3>GNUTLS_E_UNSUPPORTED_VERSION_PACKET</h3> +<pre class="programlisting">#define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8 /* GNUTLS_A_PROTOCOL_VERSION */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TLS-PACKET-DECODING-ERROR:CAPS"></a><h3>GNUTLS_E_TLS_PACKET_DECODING_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_TLS_PACKET_DECODING_ERROR GNUTLS_E_UNEXPECTED_PACKET_LENGTH +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNEXPECTED-PACKET-LENGTH:CAPS"></a><h3>GNUTLS_E_UNEXPECTED_PACKET_LENGTH</h3> +<pre class="programlisting">#define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9 /* GNUTLS_A_DECODE_ERROR */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INVALID-SESSION:CAPS"></a><h3>GNUTLS_E_INVALID_SESSION</h3> +<pre class="programlisting">#define GNUTLS_E_INVALID_SESSION -10 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-FATAL-ALERT-RECEIVED:CAPS"></a><h3>GNUTLS_E_FATAL_ALERT_RECEIVED</h3> +<pre class="programlisting">#define GNUTLS_E_FATAL_ALERT_RECEIVED -12 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNEXPECTED-PACKET:CAPS"></a><h3>GNUTLS_E_UNEXPECTED_PACKET</h3> +<pre class="programlisting">#define GNUTLS_E_UNEXPECTED_PACKET -15 /* GNUTLS_A_UNEXPECTED_MESSAGE */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-WARNING-ALERT-RECEIVED:CAPS"></a><h3>GNUTLS_E_WARNING_ALERT_RECEIVED</h3> +<pre class="programlisting">#define GNUTLS_E_WARNING_ALERT_RECEIVED -16 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ERROR-IN-FINISHED-PACKET:CAPS"></a><h3>GNUTLS_E_ERROR_IN_FINISHED_PACKET</h3> +<pre class="programlisting">#define GNUTLS_E_ERROR_IN_FINISHED_PACKET -18 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNEXPECTED-HANDSHAKE-PACKET:CAPS"></a><h3>GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET</h3> +<pre class="programlisting">#define GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -19 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNKNOWN-CIPHER-SUITE:CAPS"></a><h3>GNUTLS_E_UNKNOWN_CIPHER_SUITE</h3> +<pre class="programlisting">#define GNUTLS_E_UNKNOWN_CIPHER_SUITE -21 /* GNUTLS_A_HANDSHAKE_FAILURE */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNWANTED-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNWANTED_ALGORITHM</h3> +<pre class="programlisting">#define GNUTLS_E_UNWANTED_ALGORITHM -22 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-MPI-SCAN-FAILED:CAPS"></a><h3>GNUTLS_E_MPI_SCAN_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_MPI_SCAN_FAILED -23 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-DECRYPTION-FAILED:CAPS"></a><h3>GNUTLS_E_DECRYPTION_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_DECRYPTION_FAILED -24 /* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-MEMORY-ERROR:CAPS"></a><h3>GNUTLS_E_MEMORY_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_MEMORY_ERROR -25 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-DECOMPRESSION-FAILED:CAPS"></a><h3>GNUTLS_E_DECOMPRESSION_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_DECOMPRESSION_FAILED -26 /* GNUTLS_A_DECOMPRESSION_FAILURE */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-COMPRESSION-FAILED:CAPS"></a><h3>GNUTLS_E_COMPRESSION_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_COMPRESSION_FAILED -27 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-AGAIN:CAPS"></a><h3>GNUTLS_E_AGAIN</h3> +<pre class="programlisting">#define GNUTLS_E_AGAIN -28 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-EXPIRED:CAPS"></a><h3>GNUTLS_E_EXPIRED</h3> +<pre class="programlisting">#define GNUTLS_E_EXPIRED -29 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-DB-ERROR:CAPS"></a><h3>GNUTLS_E_DB_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_DB_ERROR -30 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-SRP-PWD-ERROR:CAPS"></a><h3>GNUTLS_E_SRP_PWD_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_SRP_PWD_ERROR GNUTLS_E_KEYFILE_ERROR +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-KEYFILE-ERROR:CAPS"></a><h3>GNUTLS_E_KEYFILE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_KEYFILE_ERROR -31 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INSUFFICIENT-CREDENTIALS:CAPS"></a><h3>GNUTLS_E_INSUFFICIENT_CREDENTIALS</h3> +<pre class="programlisting">#define GNUTLS_E_INSUFFICIENT_CREDENTIALS -32 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INSUFICIENT-CREDENTIALS:CAPS"></a><h3>GNUTLS_E_INSUFICIENT_CREDENTIALS</h3> +<pre class="programlisting">#define GNUTLS_E_INSUFICIENT_CREDENTIALS GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INSUFFICIENT-CRED:CAPS"></a><h3>GNUTLS_E_INSUFFICIENT_CRED</h3> +<pre class="programlisting">#define GNUTLS_E_INSUFFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INSUFICIENT-CRED:CAPS"></a><h3>GNUTLS_E_INSUFICIENT_CRED</h3> +<pre class="programlisting">#define GNUTLS_E_INSUFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-HASH-FAILED:CAPS"></a><h3>GNUTLS_E_HASH_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_HASH_FAILED -33 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-BASE64-DECODING-ERROR:CAPS"></a><h3>GNUTLS_E_BASE64_DECODING_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_BASE64_DECODING_ERROR -34 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-MPI-PRINT-FAILED:CAPS"></a><h3>GNUTLS_E_MPI_PRINT_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_MPI_PRINT_FAILED -35 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-REHANDSHAKE:CAPS"></a><h3>GNUTLS_E_REHANDSHAKE</h3> +<pre class="programlisting">#define GNUTLS_E_REHANDSHAKE -37 /* GNUTLS_A_NO_RENEGOTIATION */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-GOT-APPLICATION-DATA:CAPS"></a><h3>GNUTLS_E_GOT_APPLICATION_DATA</h3> +<pre class="programlisting">#define GNUTLS_E_GOT_APPLICATION_DATA -38 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-RECORD-LIMIT-REACHED:CAPS"></a><h3>GNUTLS_E_RECORD_LIMIT_REACHED</h3> +<pre class="programlisting">#define GNUTLS_E_RECORD_LIMIT_REACHED -39 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ENCRYPTION-FAILED:CAPS"></a><h3>GNUTLS_E_ENCRYPTION_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_ENCRYPTION_FAILED -40 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PK-ENCRYPTION-FAILED:CAPS"></a><h3>GNUTLS_E_PK_ENCRYPTION_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_PK_ENCRYPTION_FAILED -44 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PK-DECRYPTION-FAILED:CAPS"></a><h3>GNUTLS_E_PK_DECRYPTION_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_PK_DECRYPTION_FAILED -45 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PK-SIGN-FAILED:CAPS"></a><h3>GNUTLS_E_PK_SIGN_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_PK_SIGN_FAILED -46 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-X509-UNSUPPORTED-CRITICAL-EXTENSION:CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION</h3> +<pre class="programlisting">#define GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -47 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-KEY-USAGE-VIOLATION:CAPS"></a><h3>GNUTLS_E_KEY_USAGE_VIOLATION</h3> +<pre class="programlisting">#define GNUTLS_E_KEY_USAGE_VIOLATION -48 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-CERTIFICATE-FOUND:CAPS"></a><h3>GNUTLS_E_NO_CERTIFICATE_FOUND</h3> +<pre class="programlisting">#define GNUTLS_E_NO_CERTIFICATE_FOUND -49 /* GNUTLS_A_BAD_CERTIFICATE */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INVALID-REQUEST:CAPS"></a><h3>GNUTLS_E_INVALID_REQUEST</h3> +<pre class="programlisting">#define GNUTLS_E_INVALID_REQUEST -50 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS"></a><h3>GNUTLS_E_SHORT_MEMORY_BUFFER</h3> +<pre class="programlisting">#define GNUTLS_E_SHORT_MEMORY_BUFFER -51 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INTERRUPTED:CAPS"></a><h3>GNUTLS_E_INTERRUPTED</h3> +<pre class="programlisting">#define GNUTLS_E_INTERRUPTED -52 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PUSH-ERROR:CAPS"></a><h3>GNUTLS_E_PUSH_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PUSH_ERROR -53 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PULL-ERROR:CAPS"></a><h3>GNUTLS_E_PULL_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PULL_ERROR -54 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER:CAPS"></a><h3>GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER</h3> +<pre class="programlisting">#define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55 /* GNUTLS_A_ILLEGAL_PARAMETER */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS"></a><h3>GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</h3> +<pre class="programlisting">#define GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -56 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS1-WRONG-PAD:CAPS"></a><h3>GNUTLS_E_PKCS1_WRONG_PAD</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS1_WRONG_PAD -57 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-RECEIVED-ILLEGAL-EXTENSION:CAPS"></a><h3>GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION</h3> +<pre class="programlisting">#define GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -58 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INTERNAL-ERROR:CAPS"></a><h3>GNUTLS_E_INTERNAL_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_INTERNAL_ERROR -59 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-DH-PRIME-UNACCEPTABLE:CAPS"></a><h3>GNUTLS_E_DH_PRIME_UNACCEPTABLE</h3> +<pre class="programlisting">#define GNUTLS_E_DH_PRIME_UNACCEPTABLE -63 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-FILE-ERROR:CAPS"></a><h3>GNUTLS_E_FILE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_FILE_ERROR -64 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TOO-MANY-EMPTY-PACKETS:CAPS"></a><h3>GNUTLS_E_TOO_MANY_EMPTY_PACKETS</h3> +<pre class="programlisting">#define GNUTLS_E_TOO_MANY_EMPTY_PACKETS -78 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNKNOWN-PK-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNKNOWN_PK_ALGORITHM</h3> +<pre class="programlisting">#define GNUTLS_E_UNKNOWN_PK_ALGORITHM -80 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TOO-MANY-HANDSHAKE-PACKETS:CAPS"></a><h3>GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS</h3> +<pre class="programlisting">#define GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS -81 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-RECEIVED-DISALLOWED-NAME:CAPS"></a><h3>GNUTLS_E_RECEIVED_DISALLOWED_NAME</h3> +<pre class="programlisting">#define GNUTLS_E_RECEIVED_DISALLOWED_NAME -82 /* GNUTLS_A_ILLEGAL_PARAMETER */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CERTIFICATE-REQUIRED:CAPS"></a><h3>GNUTLS_E_CERTIFICATE_REQUIRED</h3> +<pre class="programlisting">#define GNUTLS_E_CERTIFICATE_REQUIRED -112 /* GNUTLS_A_CERTIFICATE_REQUIRED */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-TEMPORARY-RSA-PARAMS:CAPS"></a><h3>GNUTLS_E_NO_TEMPORARY_RSA_PARAMS</h3> +<pre class="programlisting">#define GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -84 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-COMPRESSION-ALGORITHMS:CAPS"></a><h3>GNUTLS_E_NO_COMPRESSION_ALGORITHMS</h3> +<pre class="programlisting">#define GNUTLS_E_NO_COMPRESSION_ALGORITHMS -86 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-CIPHER-SUITES:CAPS"></a><h3>GNUTLS_E_NO_CIPHER_SUITES</h3> +<pre class="programlisting">#define GNUTLS_E_NO_CIPHER_SUITES -87 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-OPENPGP-GETKEY-FAILED:CAPS"></a><h3>GNUTLS_E_OPENPGP_GETKEY_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_OPENPGP_GETKEY_FAILED -88 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS"></a><h3>GNUTLS_E_PK_SIG_VERIFY_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_PK_SIG_VERIFY_FAILED -89 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ILLEGAL-SRP-USERNAME:CAPS"></a><h3>GNUTLS_E_ILLEGAL_SRP_USERNAME</h3> +<pre class="programlisting">#define GNUTLS_E_ILLEGAL_SRP_USERNAME -90 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-SRP-PWD-PARSING-ERROR:CAPS"></a><h3>GNUTLS_E_SRP_PWD_PARSING_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_SRP_PWD_PARSING_ERROR GNUTLS_E_KEYFILE_PARSING_ERROR +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-KEYFILE-PARSING-ERROR:CAPS"></a><h3>GNUTLS_E_KEYFILE_PARSING_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_KEYFILE_PARSING_ERROR -91 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-TEMPORARY-DH-PARAMS:CAPS"></a><h3>GNUTLS_E_NO_TEMPORARY_DH_PARAMS</h3> +<pre class="programlisting">#define GNUTLS_E_NO_TEMPORARY_DH_PARAMS -93 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-ELEMENT-NOT-FOUND:CAPS"></a><h3>GNUTLS_E_ASN1_ELEMENT_NOT_FOUND</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -67 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-IDENTIFIER-NOT-FOUND:CAPS"></a><h3>GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -68 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-DER-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_DER_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_DER_ERROR -69 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-VALUE-NOT-FOUND:CAPS"></a><h3>GNUTLS_E_ASN1_VALUE_NOT_FOUND</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_VALUE_NOT_FOUND -70 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-GENERIC-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_GENERIC_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_GENERIC_ERROR -71 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-VALUE-NOT-VALID:CAPS"></a><h3>GNUTLS_E_ASN1_VALUE_NOT_VALID</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_VALUE_NOT_VALID -72 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-TAG-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_TAG_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_TAG_ERROR -73 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-TAG-IMPLICIT:CAPS"></a><h3>GNUTLS_E_ASN1_TAG_IMPLICIT</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_TAG_IMPLICIT -74 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-TYPE-ANY-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_TYPE_ANY_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_TYPE_ANY_ERROR -75 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-SYNTAX-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_SYNTAX_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_SYNTAX_ERROR -76 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-DER-OVERFLOW:CAPS"></a><h3>GNUTLS_E_ASN1_DER_OVERFLOW</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_DER_OVERFLOW -77 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-OPENPGP-UID-REVOKED:CAPS"></a><h3>GNUTLS_E_OPENPGP_UID_REVOKED</h3> +<pre class="programlisting">#define GNUTLS_E_OPENPGP_UID_REVOKED -79 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CERTIFICATE-ERROR:CAPS"></a><h3>GNUTLS_E_CERTIFICATE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_CERTIFICATE_ERROR -43 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-X509-CERTIFICATE-ERROR:CAPS"></a><h3>GNUTLS_E_X509_CERTIFICATE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_X509_CERTIFICATE_ERROR GNUTLS_E_CERTIFICATE_ERROR +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS"></a><h3>GNUTLS_E_CERTIFICATE_KEY_MISMATCH</h3> +<pre class="programlisting">#define GNUTLS_E_CERTIFICATE_KEY_MISMATCH -60 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNSUPPORTED-CERTIFICATE-TYPE:CAPS"></a><h3>GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE</h3> +<pre class="programlisting">#define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -61 /* GNUTLS_A_UNSUPPORTED_CERTIFICATE */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-X509-UNKNOWN-SAN:CAPS"></a><h3>GNUTLS_E_X509_UNKNOWN_SAN</h3> +<pre class="programlisting">#define GNUTLS_E_X509_UNKNOWN_SAN -62 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-OPENPGP-FINGERPRINT-UNSUPPORTED:CAPS"></a><h3>GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED</h3> +<pre class="programlisting">#define GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -94 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-X509-UNSUPPORTED-ATTRIBUTE:CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE</h3> +<pre class="programlisting">#define GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -95 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNKNOWN-HASH-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNKNOWN_HASH_ALGORITHM</h3> +<pre class="programlisting">#define GNUTLS_E_UNKNOWN_HASH_ALGORITHM -96 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNKNOWN-PKCS-CONTENT-TYPE:CAPS"></a><h3>GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE</h3> +<pre class="programlisting">#define GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -97 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNKNOWN-PKCS-BAG-TYPE:CAPS"></a><h3>GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE</h3> +<pre class="programlisting">#define GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -98 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INVALID-PASSWORD:CAPS"></a><h3>GNUTLS_E_INVALID_PASSWORD</h3> +<pre class="programlisting">#define GNUTLS_E_INVALID_PASSWORD -99 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-MAC-VERIFY-FAILED:CAPS"></a><h3>GNUTLS_E_MAC_VERIFY_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_MAC_VERIFY_FAILED -100 /* for PKCS #12 MAC */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CONSTRAINT-ERROR:CAPS"></a><h3>GNUTLS_E_CONSTRAINT_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_CONSTRAINT_ERROR -101 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-WARNING-IA-IPHF-RECEIVED:CAPS"></a><h3>GNUTLS_E_WARNING_IA_IPHF_RECEIVED</h3> +<pre class="programlisting">#define GNUTLS_E_WARNING_IA_IPHF_RECEIVED -102 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-WARNING-IA-FPHF-RECEIVED:CAPS"></a><h3>GNUTLS_E_WARNING_IA_FPHF_RECEIVED</h3> +<pre class="programlisting">#define GNUTLS_E_WARNING_IA_FPHF_RECEIVED -103 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-IA-VERIFY-FAILED:CAPS"></a><h3>GNUTLS_E_IA_VERIFY_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_IA_VERIFY_FAILED -104 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNKNOWN-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNKNOWN_ALGORITHM</h3> +<pre class="programlisting">#define GNUTLS_E_UNKNOWN_ALGORITHM -105 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNSUPPORTED-SIGNATURE-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM</h3> +<pre class="programlisting">#define GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM -106 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-SAFE-RENEGOTIATION-FAILED:CAPS"></a><h3>GNUTLS_E_SAFE_RENEGOTIATION_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_SAFE_RENEGOTIATION_FAILED -107 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNSAFE-RENEGOTIATION-DENIED:CAPS"></a><h3>GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED</h3> +<pre class="programlisting">#define GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED -108 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNKNOWN-SRP-USERNAME:CAPS"></a><h3>GNUTLS_E_UNKNOWN_SRP_USERNAME</h3> +<pre class="programlisting">#define GNUTLS_E_UNKNOWN_SRP_USERNAME -109 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PREMATURE-TERMINATION:CAPS"></a><h3>GNUTLS_E_PREMATURE_TERMINATION</h3> +<pre class="programlisting">#define GNUTLS_E_PREMATURE_TERMINATION -110 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-MALFORMED-CIDR:CAPS"></a><h3>GNUTLS_E_MALFORMED_CIDR</h3> +<pre class="programlisting">#define GNUTLS_E_MALFORMED_CIDR -111 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-BASE64-ENCODING-ERROR:CAPS"></a><h3>GNUTLS_E_BASE64_ENCODING_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_BASE64_ENCODING_ERROR -201 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INCOMPATIBLE-GCRYPT-LIBRARY:CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY</h3> +<pre class="programlisting">#define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INCOMPATIBLE-CRYPTO-LIBRARY:CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY</h3> +<pre class="programlisting">#define GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -202 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INCOMPATIBLE-LIBTASN1-LIBRARY:CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY</h3> +<pre class="programlisting">#define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -203 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-OPENPGP-KEYRING-ERROR:CAPS"></a><h3>GNUTLS_E_OPENPGP_KEYRING_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_OPENPGP_KEYRING_ERROR -204 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-X509-UNSUPPORTED-OID:CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_OID</h3> +<pre class="programlisting">#define GNUTLS_E_X509_UNSUPPORTED_OID -205 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-RANDOM-FAILED:CAPS"></a><h3>GNUTLS_E_RANDOM_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_RANDOM_FAILED -206 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-BASE64-UNEXPECTED-HEADER-ERROR:CAPS"></a><h3>GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -207 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-OPENPGP-SUBKEY-ERROR:CAPS"></a><h3>GNUTLS_E_OPENPGP_SUBKEY_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_OPENPGP_SUBKEY_ERROR -208 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CRYPTO-ALREADY-REGISTERED:CAPS"></a><h3>GNUTLS_E_CRYPTO_ALREADY_REGISTERED</h3> +<pre class="programlisting">#define GNUTLS_E_CRYPTO_ALREADY_REGISTERED GNUTLS_E_ALREADY_REGISTERED +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ALREADY-REGISTERED:CAPS"></a><h3>GNUTLS_E_ALREADY_REGISTERED</h3> +<pre class="programlisting">#define GNUTLS_E_ALREADY_REGISTERED -209 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-HANDSHAKE-TOO-LARGE:CAPS"></a><h3>GNUTLS_E_HANDSHAKE_TOO_LARGE</h3> +<pre class="programlisting">#define GNUTLS_E_HANDSHAKE_TOO_LARGE -210 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CRYPTODEV-IOCTL-ERROR:CAPS"></a><h3>GNUTLS_E_CRYPTODEV_IOCTL_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_CRYPTODEV_IOCTL_ERROR -211 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CRYPTODEV-DEVICE-ERROR:CAPS"></a><h3>GNUTLS_E_CRYPTODEV_DEVICE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_CRYPTODEV_DEVICE_ERROR -212 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CHANNEL-BINDING-NOT-AVAILABLE:CAPS"></a><h3>GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE</h3> +<pre class="programlisting">#define GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE -213 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-BAD-COOKIE:CAPS"></a><h3>GNUTLS_E_BAD_COOKIE</h3> +<pre class="programlisting">#define GNUTLS_E_BAD_COOKIE -214 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-OPENPGP-PREFERRED-KEY-ERROR:CAPS"></a><h3>GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR -215 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INCOMPAT-DSA-KEY-WITH-TLS-PROTOCOL:CAPS"></a><h3>GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL</h3> +<pre class="programlisting">#define GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL -216 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INSUFFICIENT-SECURITY:CAPS"></a><h3>GNUTLS_E_INSUFFICIENT_SECURITY</h3> +<pre class="programlisting">#define GNUTLS_E_INSUFFICIENT_SECURITY -217 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-HEARTBEAT-PONG-RECEIVED:CAPS"></a><h3>GNUTLS_E_HEARTBEAT_PONG_RECEIVED</h3> +<pre class="programlisting">#define GNUTLS_E_HEARTBEAT_PONG_RECEIVED -292 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-HEARTBEAT-PING-RECEIVED:CAPS"></a><h3>GNUTLS_E_HEARTBEAT_PING_RECEIVED</h3> +<pre class="programlisting">#define GNUTLS_E_HEARTBEAT_PING_RECEIVED -293 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNRECOGNIZED-NAME:CAPS"></a><h3>GNUTLS_E_UNRECOGNIZED_NAME</h3> +<pre class="programlisting">#define GNUTLS_E_UNRECOGNIZED_NAME -294 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_ERROR -300 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-LOAD-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_LOAD_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_LOAD_ERROR -301 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PARSING-ERROR:CAPS"></a><h3>GNUTLS_E_PARSING_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PARSING_ERROR -302 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-PIN-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_PIN_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_PIN_ERROR -303 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-SLOT-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_SLOT_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_SLOT_ERROR -305 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-LOCKING-ERROR:CAPS"></a><h3>GNUTLS_E_LOCKING_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_LOCKING_ERROR -306 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-ATTRIBUTE-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_ATTRIBUTE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_ATTRIBUTE_ERROR -307 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-DEVICE-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_DEVICE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_DEVICE_ERROR -308 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-DATA-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_DATA_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_DATA_ERROR -309 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-UNSUPPORTED-FEATURE-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR -310 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-KEY-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_KEY_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_KEY_ERROR -311 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-PIN-EXPIRED:CAPS"></a><h3>GNUTLS_E_PKCS11_PIN_EXPIRED</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_PIN_EXPIRED -312 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-PIN-LOCKED:CAPS"></a><h3>GNUTLS_E_PKCS11_PIN_LOCKED</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_PIN_LOCKED -313 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-SESSION-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_SESSION_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_SESSION_ERROR -314 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-SIGNATURE-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_SIGNATURE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_SIGNATURE_ERROR -315 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-TOKEN-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_TOKEN_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_TOKEN_ERROR -316 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-USER-ERROR:CAPS"></a><h3>GNUTLS_E_PKCS11_USER_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_USER_ERROR -317 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CRYPTO-INIT-FAILED:CAPS"></a><h3>GNUTLS_E_CRYPTO_INIT_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_CRYPTO_INIT_FAILED -318 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TIMEDOUT:CAPS"></a><h3>GNUTLS_E_TIMEDOUT</h3> +<pre class="programlisting">#define GNUTLS_E_TIMEDOUT -319 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-USER-ERROR:CAPS"></a><h3>GNUTLS_E_USER_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_USER_ERROR -320 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ECC-NO-SUPPORTED-CURVES:CAPS"></a><h3>GNUTLS_E_ECC_NO_SUPPORTED_CURVES</h3> +<pre class="programlisting">#define GNUTLS_E_ECC_NO_SUPPORTED_CURVES -321 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ECC-UNSUPPORTED-CURVE:CAPS"></a><h3>GNUTLS_E_ECC_UNSUPPORTED_CURVE</h3> +<pre class="programlisting">#define GNUTLS_E_ECC_UNSUPPORTED_CURVE -322 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PKCS11-REQUESTED-OBJECT-NOT-AVAILBLE:CAPS"></a><h3>GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE</h3> +<pre class="programlisting">#define GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE -323 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CERTIFICATE-LIST-UNSORTED:CAPS"></a><h3>GNUTLS_E_CERTIFICATE_LIST_UNSORTED</h3> +<pre class="programlisting">#define GNUTLS_E_CERTIFICATE_LIST_UNSORTED -324 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ILLEGAL-PARAMETER:CAPS"></a><h3>GNUTLS_E_ILLEGAL_PARAMETER</h3> +<pre class="programlisting">#define GNUTLS_E_ILLEGAL_PARAMETER -325 /* GNUTLS_A_ILLEGAL_PARAMETER */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-PRIORITIES-WERE-SET:CAPS"></a><h3>GNUTLS_E_NO_PRIORITIES_WERE_SET</h3> +<pre class="programlisting">#define GNUTLS_E_NO_PRIORITIES_WERE_SET -326 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-X509-UNSUPPORTED-EXTENSION:CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_EXTENSION</h3> +<pre class="programlisting">#define GNUTLS_E_X509_UNSUPPORTED_EXTENSION -327 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-SESSION-EOF:CAPS"></a><h3>GNUTLS_E_SESSION_EOF</h3> +<pre class="programlisting">#define GNUTLS_E_SESSION_EOF -328 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TPM-ERROR:CAPS"></a><h3>GNUTLS_E_TPM_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_TPM_ERROR -329 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TPM-KEY-PASSWORD-ERROR:CAPS"></a><h3>GNUTLS_E_TPM_KEY_PASSWORD_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_TPM_KEY_PASSWORD_ERROR -330 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TPM-SRK-PASSWORD-ERROR:CAPS"></a><h3>GNUTLS_E_TPM_SRK_PASSWORD_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_TPM_SRK_PASSWORD_ERROR -331 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TPM-SESSION-ERROR:CAPS"></a><h3>GNUTLS_E_TPM_SESSION_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_TPM_SESSION_ERROR -332 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TPM-KEY-NOT-FOUND:CAPS"></a><h3>GNUTLS_E_TPM_KEY_NOT_FOUND</h3> +<pre class="programlisting">#define GNUTLS_E_TPM_KEY_NOT_FOUND -333 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TPM-UNINITIALIZED:CAPS"></a><h3>GNUTLS_E_TPM_UNINITIALIZED</h3> +<pre class="programlisting">#define GNUTLS_E_TPM_UNINITIALIZED -334 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TPM-NO-LIB:CAPS"></a><h3>GNUTLS_E_TPM_NO_LIB</h3> +<pre class="programlisting">#define GNUTLS_E_TPM_NO_LIB -335 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-CERTIFICATE-STATUS:CAPS"></a><h3>GNUTLS_E_NO_CERTIFICATE_STATUS</h3> +<pre class="programlisting">#define GNUTLS_E_NO_CERTIFICATE_STATUS -340 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-OCSP-RESPONSE-ERROR:CAPS"></a><h3>GNUTLS_E_OCSP_RESPONSE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_OCSP_RESPONSE_ERROR -341 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-RANDOM-DEVICE-ERROR:CAPS"></a><h3>GNUTLS_E_RANDOM_DEVICE_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_RANDOM_DEVICE_ERROR -342 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-AUTH-ERROR:CAPS"></a><h3>GNUTLS_E_AUTH_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_AUTH_ERROR -343 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-APPLICATION-PROTOCOL:CAPS"></a><h3>GNUTLS_E_NO_APPLICATION_PROTOCOL</h3> +<pre class="programlisting">#define GNUTLS_E_NO_APPLICATION_PROTOCOL -344 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-SOCKETS-INIT-ERROR:CAPS"></a><h3>GNUTLS_E_SOCKETS_INIT_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_SOCKETS_INIT_ERROR -345 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-KEY-IMPORT-FAILED:CAPS"></a><h3>GNUTLS_E_KEY_IMPORT_FAILED</h3> +<pre class="programlisting">#define GNUTLS_E_KEY_IMPORT_FAILED -346 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INAPPROPRIATE-FALLBACK:CAPS"></a><h3>GNUTLS_E_INAPPROPRIATE_FALLBACK</h3> +<pre class="programlisting">#define GNUTLS_E_INAPPROPRIATE_FALLBACK -347 /*GNUTLS_A_INAPPROPRIATE_FALLBACK*/ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CERTIFICATE-VERIFICATION-ERROR:CAPS"></a><h3>GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR -348 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PRIVKEY-VERIFICATION-ERROR:CAPS"></a><h3>GNUTLS_E_PRIVKEY_VERIFICATION_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PRIVKEY_VERIFICATION_ERROR -349 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNEXPECTED-EXTENSIONS-LENGTH:CAPS"></a><h3>GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH</h3> +<pre class="programlisting">#define GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH -350 /*GNUTLS_A_DECODE_ERROR*/ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-EMBEDDED-NULL-IN-STRING:CAPS"></a><h3>GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING -351 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-SELF-TEST-ERROR:CAPS"></a><h3>GNUTLS_E_SELF_TEST_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_SELF_TEST_ERROR -400 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-SELF-TEST:CAPS"></a><h3>GNUTLS_E_NO_SELF_TEST</h3> +<pre class="programlisting">#define GNUTLS_E_NO_SELF_TEST -401 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-LIB-IN-ERROR-STATE:CAPS"></a><h3>GNUTLS_E_LIB_IN_ERROR_STATE</h3> +<pre class="programlisting">#define GNUTLS_E_LIB_IN_ERROR_STATE -402 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PK-GENERATION-ERROR:CAPS"></a><h3>GNUTLS_E_PK_GENERATION_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_PK_GENERATION_ERROR -403 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-IDNA-ERROR:CAPS"></a><h3>GNUTLS_E_IDNA_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_IDNA_ERROR -404 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NEED-FALLBACK:CAPS"></a><h3>GNUTLS_E_NEED_FALLBACK</h3> +<pre class="programlisting">#define GNUTLS_E_NEED_FALLBACK -405 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-SESSION-USER-ID-CHANGED:CAPS"></a><h3>GNUTLS_E_SESSION_USER_ID_CHANGED</h3> +<pre class="programlisting">#define GNUTLS_E_SESSION_USER_ID_CHANGED -406 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-HANDSHAKE-DURING-FALSE-START:CAPS"></a><h3>GNUTLS_E_HANDSHAKE_DURING_FALSE_START</h3> +<pre class="programlisting">#define GNUTLS_E_HANDSHAKE_DURING_FALSE_START -407 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNAVAILABLE-DURING-HANDSHAKE:CAPS"></a><h3>GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE</h3> +<pre class="programlisting">#define GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE -408 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PK-INVALID-PUBKEY:CAPS"></a><h3>GNUTLS_E_PK_INVALID_PUBKEY</h3> +<pre class="programlisting">#define GNUTLS_E_PK_INVALID_PUBKEY -409 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PK-INVALID-PRIVKEY:CAPS"></a><h3>GNUTLS_E_PK_INVALID_PRIVKEY</h3> +<pre class="programlisting">#define GNUTLS_E_PK_INVALID_PRIVKEY -410 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NOT-YET-ACTIVATED:CAPS"></a><h3>GNUTLS_E_NOT_YET_ACTIVATED</h3> +<pre class="programlisting">#define GNUTLS_E_NOT_YET_ACTIVATED -411 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INVALID-UTF8-STRING:CAPS"></a><h3>GNUTLS_E_INVALID_UTF8_STRING</h3> +<pre class="programlisting">#define GNUTLS_E_INVALID_UTF8_STRING -412 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-EMBEDDED-DATA:CAPS"></a><h3>GNUTLS_E_NO_EMBEDDED_DATA</h3> +<pre class="programlisting">#define GNUTLS_E_NO_EMBEDDED_DATA -413 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INVALID-UTF8-EMAIL:CAPS"></a><h3>GNUTLS_E_INVALID_UTF8_EMAIL</h3> +<pre class="programlisting">#define GNUTLS_E_INVALID_UTF8_EMAIL -414 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INVALID-PASSWORD-STRING:CAPS"></a><h3>GNUTLS_E_INVALID_PASSWORD_STRING</h3> +<pre class="programlisting">#define GNUTLS_E_INVALID_PASSWORD_STRING -415 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CERTIFICATE-TIME-ERROR:CAPS"></a><h3>GNUTLS_E_CERTIFICATE_TIME_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_CERTIFICATE_TIME_ERROR -416 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-RECORD-OVERFLOW:CAPS"></a><h3>GNUTLS_E_RECORD_OVERFLOW</h3> +<pre class="programlisting">#define GNUTLS_E_RECORD_OVERFLOW -417 /* GNUTLS_A_RECORD_OVERFLOW */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-ASN1-TIME-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_TIME_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_ASN1_TIME_ERROR -418 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INCOMPATIBLE-SIG-WITH-KEY:CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY</h3> +<pre class="programlisting">#define GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY -419 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PK-INVALID-PUBKEY-PARAMS:CAPS"></a><h3>GNUTLS_E_PK_INVALID_PUBKEY_PARAMS</h3> +<pre class="programlisting">#define GNUTLS_E_PK_INVALID_PUBKEY_PARAMS -420 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-PK-NO-VALIDATION-PARAMS:CAPS"></a><h3>GNUTLS_E_PK_NO_VALIDATION_PARAMS</h3> +<pre class="programlisting">#define GNUTLS_E_PK_NO_VALIDATION_PARAMS -421 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-OCSP-MISMATCH-WITH-CERTS:CAPS"></a><h3>GNUTLS_E_OCSP_MISMATCH_WITH_CERTS</h3> +<pre class="programlisting">#define GNUTLS_E_OCSP_MISMATCH_WITH_CERTS -422 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-NO-COMMON-KEY-SHARE:CAPS"></a><h3>GNUTLS_E_NO_COMMON_KEY_SHARE</h3> +<pre class="programlisting">#define GNUTLS_E_NO_COMMON_KEY_SHARE -423 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-REAUTH-REQUEST:CAPS"></a><h3>GNUTLS_E_REAUTH_REQUEST</h3> +<pre class="programlisting">#define GNUTLS_E_REAUTH_REQUEST -424 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-TOO-MANY-MATCHES:CAPS"></a><h3>GNUTLS_E_TOO_MANY_MATCHES</h3> +<pre class="programlisting">#define GNUTLS_E_TOO_MANY_MATCHES -425 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-CRL-VERIFICATION-ERROR:CAPS"></a><h3>GNUTLS_E_CRL_VERIFICATION_ERROR</h3> +<pre class="programlisting">#define GNUTLS_E_CRL_VERIFICATION_ERROR -426 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-MISSING-EXTENSION:CAPS"></a><h3>GNUTLS_E_MISSING_EXTENSION</h3> +<pre class="programlisting">#define GNUTLS_E_MISSING_EXTENSION -427 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-DB-ENTRY-EXISTS:CAPS"></a><h3>GNUTLS_E_DB_ENTRY_EXISTS</h3> +<pre class="programlisting">#define GNUTLS_E_DB_ENTRY_EXISTS -428 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-EARLY-DATA-REJECTED:CAPS"></a><h3>GNUTLS_E_EARLY_DATA_REJECTED</h3> +<pre class="programlisting">#define GNUTLS_E_EARLY_DATA_REJECTED -429 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-X509-DUPLICATE-EXTENSION:CAPS"></a><h3>GNUTLS_E_X509_DUPLICATE_EXTENSION</h3> +<pre class="programlisting">#define GNUTLS_E_X509_DUPLICATE_EXTENSION -430 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS"></a><h3>GNUTLS_E_UNIMPLEMENTED_FEATURE</h3> +<pre class="programlisting">#define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INT-RET-0:CAPS"></a><h3>GNUTLS_E_INT_RET_0</h3> +<pre class="programlisting">#define GNUTLS_E_INT_RET_0 -1251 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-INT-CHECK-AGAIN:CAPS"></a><h3>GNUTLS_E_INT_CHECK_AGAIN</h3> +<pre class="programlisting">#define GNUTLS_E_INT_CHECK_AGAIN -1252 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-APPLICATION-ERROR-MAX:CAPS"></a><h3>GNUTLS_E_APPLICATION_ERROR_MAX</h3> +<pre class="programlisting">#define GNUTLS_E_APPLICATION_ERROR_MAX -65000 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-E-APPLICATION-ERROR-MIN:CAPS"></a><h3>GNUTLS_E_APPLICATION_ERROR_MIN</h3> +<pre class="programlisting">#define GNUTLS_E_APPLICATION_ERROR_MIN -65500 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-credentials-st"></a><h3>struct gnutls_certificate_credentials_st</h3> +<pre class="programlisting">struct gnutls_certificate_credentials_st;</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-dh-params-int"></a><h3>struct gnutls_dh_params_int</h3> +<pre class="programlisting">struct gnutls_dh_params_int;</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-int"></a><h3>struct gnutls_openpgp_crt_int</h3> +<pre class="programlisting">struct gnutls_openpgp_crt_int;</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-keyring-int"></a><h3>struct gnutls_openpgp_keyring_int</h3> +<pre class="programlisting">struct gnutls_openpgp_keyring_int;</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-int"></a><h3>struct gnutls_openpgp_privkey_int</h3> +<pre class="programlisting">struct gnutls_openpgp_privkey_int;</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-st"></a><h3>struct gnutls_pkcs11_privkey_st</h3> +<pre class="programlisting">struct gnutls_pkcs11_privkey_st { + gnutls_pk_algorithm_t pk_algorithm; + unsigned int rsa_pss_ok; /* if it is an RSA key, it can do RSA-PSS */ + unsigned int bits; + + unsigned int flags; + struct p11_kit_uri *uinfo; + char *url; + + struct pkcs11_session_info sinfo; + ck_object_handle_t ref; /* the key in the session */ + unsigned reauth; /* whether we need to login on each operation */ + + void *mutex; /* lock for operations requiring co-ordination */ + + struct pin_info_st pin; +}; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-priority-st"></a><h3>struct gnutls_priority_st</h3> +<pre class="programlisting">struct gnutls_priority_st { + priority_st protocol; + priority_st client_ctype; + priority_st server_ctype; + + /* The following are not necessary to be stored in + * the structure; however they are required by the + * external APIs: gnutls_priority_*_list() */ + priority_st _cipher; + priority_st _mac; + priority_st _kx; + priority_st _sign_algo; + priority_st _supported_ecc; + + /* the supported groups */ + group_list_st groups; + + /* the supported signature algorithms */ + sign_algo_list_st sigalg; + + /* the supported ciphersuites */ + ciphersuite_list_st cs; + + /* to disable record padding */ + bool no_extensions; + + safe_renegotiation_t sr; + bool min_record_version; + bool server_precedence; + bool allow_server_key_usage_violation; /* for test suite purposes only */ + bool no_tickets; + bool no_tickets_tls12; + bool have_cbc; + bool have_psk; + bool force_etm; + unsigned int additional_verify_flags; + bool tls13_compat_mode; + + /* TLS_FALLBACK_SCSV */ + bool fallback; + + /* The session's expected security level. + * Will be used to determine the minimum DH bits, + * (or the acceptable certificate security level). + */ + gnutls_sec_param_t level; + + /* these should be accessed from + * session->internals.VAR names */ + bool _allow_large_records; + bool _allow_small_records; + bool _no_etm; + bool _no_ext_master_secret; + bool _allow_key_usage_violation; + bool _allow_wrong_pms; + bool _dumbfw; + unsigned int _dh_prime_bits; /* old (deprecated) variable */ + + DEF_ATOMIC_INT(usage_cnt); +}; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-privkey-st"></a><h3>struct gnutls_privkey_st</h3> +<pre class="programlisting">struct gnutls_privkey_st { + gnutls_privkey_type_t type; + gnutls_pk_algorithm_t pk_algorithm; + + union { + gnutls_x509_privkey_t x509; +#ifdef ENABLE_PKCS11 + gnutls_pkcs11_privkey_t pkcs11; +#endif + struct { + gnutls_privkey_sign_func sign_func; /* raw like TLS 1.x */ + gnutls_privkey_sign_data_func sign_data_func; + gnutls_privkey_sign_hash_func sign_hash_func; + gnutls_privkey_decrypt_func decrypt_func; + gnutls_privkey_decrypt_func2 decrypt_func2; + gnutls_privkey_deinit_func deinit_func; + gnutls_privkey_info_func info_func; + gnutls_privkey_pk_params_func pk_params_func; + void *userdata; + unsigned bits; + } ext; + } key; + + unsigned int flags; + struct pin_info_st pin; +}; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pubkey-st"></a><h3>struct gnutls_pubkey_st</h3> +<pre class="programlisting">struct gnutls_pubkey_st { + unsigned int bits; /* an indication of the security parameter */ + + /* the size of params depends on the public + * key algorithm + * RSA: [0] is modulus + * [1] is public exponent + * DSA: [0] is p + * [1] is q + * [2] is g + * [3] is public key + */ + gnutls_pk_params_st params; + + unsigned int key_usage; /* bits from GNUTLS_KEY_* */ + + struct pin_info_st pin; +}; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-int"></a><h3>struct gnutls_session_int</h3> +<pre class="programlisting">struct gnutls_session_int { + security_parameters_st security_parameters; + record_parameters_st *record_parameters[MAX_EPOCH_INDEX]; + internals_st internals; + gnutls_key_st key; +}; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tdb-int"></a><h3>struct gnutls_tdb_int</h3> +<pre class="programlisting">struct gnutls_tdb_int;</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-int"></a><h3>gnutls_x509_crl_int</h3> +<pre class="programlisting">typedef struct { + asn1_node crl; + + unsigned expanded; + /* This is used to optimize reads by gnutls_x509_crl_get_crt_serial2() */ + asn1_node rcache; + unsigned rcache_idx; + int use_extensions; + + gnutls_datum_t der; + gnutls_datum_t raw_issuer_dn; +} gnutls_x509_crl_int; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-int"></a><h3>gnutls_x509_crq_int</h3> +<pre class="programlisting">typedef struct { + asn1_node crq; +} gnutls_x509_crq_int; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-int"></a><h3>gnutls_x509_crt_int</h3> +<pre class="programlisting">typedef struct { + asn1_node cert; + int use_extensions; + unsigned expanded; /* a certificate has been expanded */ + unsigned modified; /* the cached values below may no longer be valid */ + unsigned flags; + + struct pin_info_st pin; + + /* These two cached values allow fast calls to + * get_raw_*_dn(). */ + gnutls_datum_t raw_dn; + gnutls_datum_t raw_issuer_dn; + gnutls_datum_t raw_spki; + + gnutls_datum_t der; + + /* this cached value allows fast access to alt names */ + gnutls_subject_alt_names_t san; + gnutls_subject_alt_names_t ian; + + /* backwards compatibility for gnutls_x509_crt_get_subject() + * and gnutls_x509_crt_get_issuer() */ + gnutls_x509_dn_st dn; + gnutls_x509_dn_st idn; +} gnutls_x509_crt_int; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-int"></a><h3>gnutls_x509_privkey_int</h3> +<pre class="programlisting">typedef struct { + /* the size of params depends on the public + * key algorithm + */ + gnutls_pk_params_st params; + + unsigned expanded; + unsigned flags; + + asn1_node key; + struct pin_info_st pin; +} gnutls_x509_privkey_int; +</pre> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-ocsp.html b/doc/reference/html/gnutls-ocsp.html new file mode 100644 index 0000000..0422c6a --- /dev/null +++ b/doc/reference/html/gnutls-ocsp.html @@ -0,0 +1,78 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>ocsp: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-pkcs12.html" title="pkcs12"> +<link rel="next" href="gnutls-dtls.html" title="dtls"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-ocsp.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="gnutls-pkcs12.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-dtls.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-ocsp"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-ocsp.top_of_page"></a>ocsp</span></h2> +<p>ocsp</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-ocsp.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-ocsp.html#MAX-OCSP-VALIDITY-SECS:CAPS" title="MAX_OCSP_VALIDITY_SECS">MAX_OCSP_VALIDITY_SECS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-ocsp.html#MAX-OCSP-MSG-SIZE:CAPS" title="MAX_OCSP_MSG_SIZE">MAX_OCSP_MSG_SIZE</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-ocsp.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-ocsp.functions_details"></a><h2>Functions</h2> +<p></p> +</div> +<div class="refsect1"> +<a name="gnutls-ocsp.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="MAX-OCSP-VALIDITY-SECS:CAPS"></a><h3>MAX_OCSP_VALIDITY_SECS</h3> +<pre class="programlisting">#define MAX_OCSP_VALIDITY_SECS (15*60*60*24) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="MAX-OCSP-MSG-SIZE:CAPS"></a><h3>MAX_OCSP_MSG_SIZE</h3> +<pre class="programlisting">#define MAX_OCSP_MSG_SIZE 128 +</pre> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-openpgp.html b/doc/reference/html/gnutls-openpgp.html new file mode 100644 index 0000000..61c9b3a --- /dev/null +++ b/doc/reference/html/gnutls-openpgp.html @@ -0,0 +1,1506 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>openpgp: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-x509.html" title="x509"> +<link rel="next" href="gnutls-crypto.html" title="crypto"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-openpgp.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="gnutls-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-crypto.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-openpgp"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-openpgp.top_of_page"></a>openpgp</span></h2> +<p>openpgp</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-openpgp.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-init" title="gnutls_openpgp_crt_init ()">gnutls_openpgp_crt_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-deinit" title="gnutls_openpgp_crt_deinit ()">gnutls_openpgp_crt_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-import" title="gnutls_openpgp_crt_import ()">gnutls_openpgp_crt_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-export" title="gnutls_openpgp_crt_export ()">gnutls_openpgp_crt_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-export2" title="gnutls_openpgp_crt_export2 ()">gnutls_openpgp_crt_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-print" title="gnutls_openpgp_crt_print ()">gnutls_openpgp_crt_print</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-key-usage" title="gnutls_openpgp_crt_get_key_usage ()">gnutls_openpgp_crt_get_key_usage</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-fingerprint" title="gnutls_openpgp_crt_get_fingerprint ()">gnutls_openpgp_crt_get_fingerprint</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-fingerprint" title="gnutls_openpgp_crt_get_subkey_fingerprint ()">gnutls_openpgp_crt_get_subkey_fingerprint</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-name" title="gnutls_openpgp_crt_get_name ()">gnutls_openpgp_crt_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-algorithm" title="gnutls_openpgp_crt_get_pk_algorithm ()">gnutls_openpgp_crt_get_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-version" title="gnutls_openpgp_crt_get_version ()">gnutls_openpgp_crt_get_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-creation-time" title="gnutls_openpgp_crt_get_creation_time ()">gnutls_openpgp_crt_get_creation_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-expiration-time" title="gnutls_openpgp_crt_get_expiration_time ()">gnutls_openpgp_crt_get_expiration_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-key-id" title="gnutls_openpgp_crt_get_key_id ()">gnutls_openpgp_crt_get_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-check-hostname" title="gnutls_openpgp_crt_check_hostname ()">gnutls_openpgp_crt_check_hostname</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-check-hostname2" title="gnutls_openpgp_crt_check_hostname2 ()">gnutls_openpgp_crt_check_hostname2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-check-email" title="gnutls_openpgp_crt_check_email ()">gnutls_openpgp_crt_check_email</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-revoked-status" title="gnutls_openpgp_crt_get_revoked_status ()">gnutls_openpgp_crt_get_revoked_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-count" title="gnutls_openpgp_crt_get_subkey_count ()">gnutls_openpgp_crt_get_subkey_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-idx" title="gnutls_openpgp_crt_get_subkey_idx ()">gnutls_openpgp_crt_get_subkey_idx</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-revoked-status" title="gnutls_openpgp_crt_get_subkey_revoked_status ()">gnutls_openpgp_crt_get_subkey_revoked_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-algorithm" title="gnutls_openpgp_crt_get_subkey_pk_algorithm ()">gnutls_openpgp_crt_get_subkey_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-creation-time" title="gnutls_openpgp_crt_get_subkey_creation_time ()">gnutls_openpgp_crt_get_subkey_creation_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-expiration-time" title="gnutls_openpgp_crt_get_subkey_expiration_time ()">gnutls_openpgp_crt_get_subkey_expiration_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-id" title="gnutls_openpgp_crt_get_subkey_id ()">gnutls_openpgp_crt_get_subkey_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-usage" title="gnutls_openpgp_crt_get_subkey_usage ()">gnutls_openpgp_crt_get_subkey_usage</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-dsa-raw" title="gnutls_openpgp_crt_get_subkey_pk_dsa_raw ()">gnutls_openpgp_crt_get_subkey_pk_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-rsa-raw" title="gnutls_openpgp_crt_get_subkey_pk_rsa_raw ()">gnutls_openpgp_crt_get_subkey_pk_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-dsa-raw" title="gnutls_openpgp_crt_get_pk_dsa_raw ()">gnutls_openpgp_crt_get_pk_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-rsa-raw" title="gnutls_openpgp_crt_get_pk_rsa_raw ()">gnutls_openpgp_crt_get_pk_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-preferred-key-id" title="gnutls_openpgp_crt_get_preferred_key_id ()">gnutls_openpgp_crt_get_preferred_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-set-preferred-key-id" title="gnutls_openpgp_crt_set_preferred_key_id ()">gnutls_openpgp_crt_set_preferred_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-init" title="gnutls_openpgp_privkey_init ()">gnutls_openpgp_privkey_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-deinit" title="gnutls_openpgp_privkey_deinit ()">gnutls_openpgp_privkey_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-pk-algorithm" title="gnutls_openpgp_privkey_get_pk_algorithm ()">gnutls_openpgp_privkey_get_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="returnvalue">gnutls_sec_param_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-sec-param" title="gnutls_openpgp_privkey_sec_param ()">gnutls_openpgp_privkey_sec_param</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-import" title="gnutls_openpgp_privkey_import ()">gnutls_openpgp_privkey_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-fingerprint" title="gnutls_openpgp_privkey_get_fingerprint ()">gnutls_openpgp_privkey_get_fingerprint</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-fingerprint" title="gnutls_openpgp_privkey_get_subkey_fingerprint ()">gnutls_openpgp_privkey_get_subkey_fingerprint</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-key-id" title="gnutls_openpgp_privkey_get_key_id ()">gnutls_openpgp_privkey_get_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-count" title="gnutls_openpgp_privkey_get_subkey_count ()">gnutls_openpgp_privkey_get_subkey_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-idx" title="gnutls_openpgp_privkey_get_subkey_idx ()">gnutls_openpgp_privkey_get_subkey_idx</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-revoked-status" title="gnutls_openpgp_privkey_get_subkey_revoked_status ()">gnutls_openpgp_privkey_get_subkey_revoked_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-revoked-status" title="gnutls_openpgp_privkey_get_revoked_status ()">gnutls_openpgp_privkey_get_revoked_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-pk-algorithm" title="gnutls_openpgp_privkey_get_subkey_pk_algorithm ()">gnutls_openpgp_privkey_get_subkey_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-expiration-time" title="gnutls_openpgp_privkey_get_subkey_expiration_time ()">gnutls_openpgp_privkey_get_subkey_expiration_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-id" title="gnutls_openpgp_privkey_get_subkey_id ()">gnutls_openpgp_privkey_get_subkey_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-creation-time" title="gnutls_openpgp_privkey_get_subkey_creation_time ()">gnutls_openpgp_privkey_get_subkey_creation_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-subkey-dsa-raw" title="gnutls_openpgp_privkey_export_subkey_dsa_raw ()">gnutls_openpgp_privkey_export_subkey_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-subkey-rsa-raw" title="gnutls_openpgp_privkey_export_subkey_rsa_raw ()">gnutls_openpgp_privkey_export_subkey_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-dsa-raw" title="gnutls_openpgp_privkey_export_dsa_raw ()">gnutls_openpgp_privkey_export_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-rsa-raw" title="gnutls_openpgp_privkey_export_rsa_raw ()">gnutls_openpgp_privkey_export_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export" title="gnutls_openpgp_privkey_export ()">gnutls_openpgp_privkey_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export2" title="gnutls_openpgp_privkey_export2 ()">gnutls_openpgp_privkey_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-set-preferred-key-id" title="gnutls_openpgp_privkey_set_preferred_key_id ()">gnutls_openpgp_privkey_set_preferred_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-preferred-key-id" title="gnutls_openpgp_privkey_get_preferred_key_id ()">gnutls_openpgp_privkey_get_preferred_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-auth-subkey" title="gnutls_openpgp_crt_get_auth_subkey ()">gnutls_openpgp_crt_get_auth_subkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-init" title="gnutls_openpgp_keyring_init ()">gnutls_openpgp_keyring_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-deinit" title="gnutls_openpgp_keyring_deinit ()">gnutls_openpgp_keyring_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-import" title="gnutls_openpgp_keyring_import ()">gnutls_openpgp_keyring_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-check-id" title="gnutls_openpgp_keyring_check_id ()">gnutls_openpgp_keyring_check_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-verify-ring" title="gnutls_openpgp_crt_verify_ring ()">gnutls_openpgp_crt_verify_ring</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-verify-self" title="gnutls_openpgp_crt_verify_self ()">gnutls_openpgp_crt_verify_self</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-get-crt" title="gnutls_openpgp_keyring_get_crt ()">gnutls_openpgp_keyring_get_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-get-crt-count" title="gnutls_openpgp_keyring_get_crt_count ()">gnutls_openpgp_keyring_get_crt_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-recv-key-func" title="gnutls_openpgp_recv_key_func ()">*gnutls_openpgp_recv_key_func</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-set-recv-key-function" title="gnutls_openpgp_set_recv_key_function ()">gnutls_openpgp_set_recv_key_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key" title="gnutls_certificate_set_openpgp_key ()">gnutls_certificate_set_openpgp_key</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-get-openpgp-key" title="gnutls_certificate_get_openpgp_key ()">gnutls_certificate_get_openpgp_key</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-get-openpgp-crt" title="gnutls_certificate_get_openpgp_crt ()">gnutls_certificate_get_openpgp_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-file" title="gnutls_certificate_set_openpgp_key_file ()">gnutls_certificate_set_openpgp_key_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-mem" title="gnutls_certificate_set_openpgp_key_mem ()">gnutls_certificate_set_openpgp_key_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-file2" title="gnutls_certificate_set_openpgp_key_file2 ()">gnutls_certificate_set_openpgp_key_file2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-mem2" title="gnutls_certificate_set_openpgp_key_mem2 ()">gnutls_certificate_set_openpgp_key_mem2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-keyring-mem" title="gnutls_certificate_set_openpgp_keyring_mem ()">gnutls_certificate_set_openpgp_keyring_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-keyring-file" title="gnutls_certificate_set_openpgp_keyring_file ()">gnutls_certificate_set_openpgp_keyring_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-openpgp.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t">gnutls_openpgp_crt_fmt_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-openpgp.html#GNUTLS-OPENPGP-KEYID-SIZE:CAPS" title="GNUTLS_OPENPGP_KEYID_SIZE">GNUTLS_OPENPGP_KEYID_SIZE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-openpgp.html#GNUTLS-OPENPGP-V4-FINGERPRINT-SIZE:CAPS" title="GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE">GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-openpgp.html#GNUTLS-OPENPGP-MASTER-KEYID-IDX:CAPS" title="GNUTLS_OPENPGP_MASTER_KEYID_IDX">GNUTLS_OPENPGP_MASTER_KEYID_IDX</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-openpgp.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-openpgp.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-init"></a><h3>gnutls_openpgp_crt_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> *key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_init</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-deinit"></a><h3>gnutls_openpgp_crt_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_openpgp_crt_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_deinit</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-import"></a><h3>gnutls_openpgp_crt_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_import</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-export"></a><h3>gnutls_openpgp_crt_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_export (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_export</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-export2"></a><h3>gnutls_openpgp_crt_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_export2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_export2</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-print"></a><h3>gnutls_openpgp_crt_print ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_print (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t"><span class="type">gnutls_certificate_print_formats_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_print</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-key-usage"></a><h3>gnutls_openpgp_crt_get_key_usage ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_key_usage (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *key_usage</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_key_usage</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-fingerprint"></a><h3>gnutls_openpgp_crt_get_fingerprint ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_fingerprint (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">void</span> *fpr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_fingerprint</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-fingerprint"></a><h3>gnutls_openpgp_crt_get_subkey_fingerprint ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_subkey_fingerprint + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><span class="type">void</span> *fpr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_fingerprint</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-name"></a><h3>gnutls_openpgp_crt_get_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">int</span> idx</code></em>, + <em class="parameter"><code><span class="type">char</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_name</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-pk-algorithm"></a><h3>gnutls_openpgp_crt_get_pk_algorithm ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> +gnutls_openpgp_crt_get_pk_algorithm (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_pk_algorithm</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-version"></a><h3>gnutls_openpgp_crt_get_version ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_version (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_version</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-creation-time"></a><h3>gnutls_openpgp_crt_get_creation_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_openpgp_crt_get_creation_time (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_creation_time</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-expiration-time"></a><h3>gnutls_openpgp_crt_get_expiration_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_openpgp_crt_get_expiration_time + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_expiration_time</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-key-id"></a><h3>gnutls_openpgp_crt_get_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_key_id</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-check-hostname"></a><h3>gnutls_openpgp_crt_check_hostname ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_check_hostname (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *hostname</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_check_hostname</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-check-hostname2"></a><h3>gnutls_openpgp_crt_check_hostname2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_check_hostname2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *hostname</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_check_hostname2</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-check-email"></a><h3>gnutls_openpgp_crt_check_email ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_check_email (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *email</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_check_email</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-revoked-status"></a><h3>gnutls_openpgp_crt_get_revoked_status ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_revoked_status (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_revoked_status</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-count"></a><h3>gnutls_openpgp_crt_get_subkey_count ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_subkey_count (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_count</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-idx"></a><h3>gnutls_openpgp_crt_get_subkey_idx ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_subkey_idx (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_idx</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-revoked-status"></a><h3>gnutls_openpgp_crt_get_subkey_revoked_status ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_subkey_revoked_status + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_revoked_status</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-pk-algorithm"></a><h3>gnutls_openpgp_crt_get_subkey_pk_algorithm ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> +gnutls_openpgp_crt_get_subkey_pk_algorithm + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_pk_algorithm</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-creation-time"></a><h3>gnutls_openpgp_crt_get_subkey_creation_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_openpgp_crt_get_subkey_creation_time + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_creation_time</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-expiration-time"></a><h3>gnutls_openpgp_crt_get_subkey_expiration_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_openpgp_crt_get_subkey_expiration_time + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_expiration_time</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-id"></a><h3>gnutls_openpgp_crt_get_subkey_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_subkey_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_id</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-usage"></a><h3>gnutls_openpgp_crt_get_subkey_usage ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_subkey_usage (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *key_usage</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_usage</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-pk-dsa-raw"></a><h3>gnutls_openpgp_crt_get_subkey_pk_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_subkey_pk_dsa_raw + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_pk_dsa_raw</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-subkey-pk-rsa-raw"></a><h3>gnutls_openpgp_crt_get_subkey_pk_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_subkey_pk_rsa_raw + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_subkey_pk_rsa_raw</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-pk-dsa-raw"></a><h3>gnutls_openpgp_crt_get_pk_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_pk_dsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_pk_dsa_raw</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-pk-rsa-raw"></a><h3>gnutls_openpgp_crt_get_pk_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_pk_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_pk_rsa_raw</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-preferred-key-id"></a><h3>gnutls_openpgp_crt_get_preferred_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_preferred_key_id + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_preferred_key_id</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-set-preferred-key-id"></a><h3>gnutls_openpgp_crt_set_preferred_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_set_preferred_key_id + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_set_preferred_key_id</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-init"></a><h3>gnutls_openpgp_privkey_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> *key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_init</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-deinit"></a><h3>gnutls_openpgp_privkey_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_openpgp_privkey_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_deinit</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-pk-algorithm"></a><h3>gnutls_openpgp_privkey_get_pk_algorithm ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> +gnutls_openpgp_privkey_get_pk_algorithm + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_pk_algorithm</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-sec-param"></a><h3>gnutls_openpgp_privkey_sec_param ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="returnvalue">gnutls_sec_param_t</span></a> +gnutls_openpgp_privkey_sec_param (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_sec_param</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-import"></a><h3>gnutls_openpgp_privkey_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_import</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-fingerprint"></a><h3>gnutls_openpgp_privkey_get_fingerprint ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_get_fingerprint + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">void</span> *fpr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_fingerprint</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-subkey-fingerprint"></a><h3>gnutls_openpgp_privkey_get_subkey_fingerprint ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_get_subkey_fingerprint + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><span class="type">void</span> *fpr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_subkey_fingerprint</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-key-id"></a><h3>gnutls_openpgp_privkey_get_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_get_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_key_id</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-subkey-count"></a><h3>gnutls_openpgp_privkey_get_subkey_count ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_get_subkey_count + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_subkey_count</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-subkey-idx"></a><h3>gnutls_openpgp_privkey_get_subkey_idx ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_get_subkey_idx (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_subkey_idx</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-subkey-revoked-status"></a><h3>gnutls_openpgp_privkey_get_subkey_revoked_status ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_get_subkey_revoked_status + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_subkey_revoked_status</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-revoked-status"></a><h3>gnutls_openpgp_privkey_get_revoked_status ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_get_revoked_status + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_revoked_status</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-subkey-pk-algorithm"></a><h3>gnutls_openpgp_privkey_get_subkey_pk_algorithm ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> +gnutls_openpgp_privkey_get_subkey_pk_algorithm + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_subkey_pk_algorithm</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-subkey-expiration-time"></a><h3>gnutls_openpgp_privkey_get_subkey_expiration_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_openpgp_privkey_get_subkey_expiration_time + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_subkey_expiration_time</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-subkey-id"></a><h3>gnutls_openpgp_privkey_get_subkey_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_get_subkey_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_subkey_id</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-subkey-creation-time"></a><h3>gnutls_openpgp_privkey_get_subkey_creation_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_openpgp_privkey_get_subkey_creation_time + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_subkey_creation_time</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-export-subkey-dsa-raw"></a><h3>gnutls_openpgp_privkey_export_subkey_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_export_subkey_dsa_raw + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_export_subkey_dsa_raw</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-export-subkey-rsa-raw"></a><h3>gnutls_openpgp_privkey_export_subkey_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_export_subkey_rsa_raw + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *d</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *u</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_export_subkey_rsa_raw</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-export-dsa-raw"></a><h3>gnutls_openpgp_privkey_export_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_export_dsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_export_dsa_raw</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-export-rsa-raw"></a><h3>gnutls_openpgp_privkey_export_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_export_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *d</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *u</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_export_rsa_raw</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-export"></a><h3>gnutls_openpgp_privkey_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_export (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_export</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-export2"></a><h3>gnutls_openpgp_privkey_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_export2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_export2</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-set-preferred-key-id"></a><h3>gnutls_openpgp_privkey_set_preferred_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_set_preferred_key_id + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_set_preferred_key_id</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-privkey-get-preferred-key-id"></a><h3>gnutls_openpgp_privkey_get_preferred_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_privkey_get_preferred_key_id + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_privkey_get_preferred_key_id</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-get-auth-subkey"></a><h3>gnutls_openpgp_crt_get_auth_subkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_get_auth_subkey (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flag</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_get_auth_subkey</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-keyring-init"></a><h3>gnutls_openpgp_keyring_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_keyring_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> *keyring</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_keyring_init</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-keyring-deinit"></a><h3>gnutls_openpgp_keyring_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_openpgp_keyring_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> keyring</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_keyring_deinit</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-keyring-import"></a><h3>gnutls_openpgp_keyring_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_keyring_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> keyring</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_keyring_import</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-keyring-check-id"></a><h3>gnutls_openpgp_keyring_check_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_keyring_check_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> ring</code></em>, + <em class="parameter"><code>const <span class="type">gnutls_openpgp_keyid_t</span> keyid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_keyring_check_id</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-verify-ring"></a><h3>gnutls_openpgp_crt_verify_ring ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_verify_ring (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> keyring</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_verify_ring</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-verify-self"></a><h3>gnutls_openpgp_crt_verify_self ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_crt_verify_self (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_crt_verify_self</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-keyring-get-crt"></a><h3>gnutls_openpgp_keyring_get_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_keyring_get_crt (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> ring</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> *cert</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_keyring_get_crt</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-keyring-get-crt-count"></a><h3>gnutls_openpgp_keyring_get_crt_count ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_openpgp_keyring_get_crt_count (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> ring</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_keyring_get_crt_count</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-recv-key-func"></a><h3>gnutls_openpgp_recv_key_func ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_openpgp_recv_key_func<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> *keyfpr</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> keyfpr_length</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>);</pre> +<p>A callback of this type is used to retrieve OpenPGP keys. Only +useful on the server, and will only be used if the peer send a key +fingerprint instead of a full key. See also +<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-set-recv-key-function" title="gnutls_openpgp_set_recv_key_function ()"><code class="function">gnutls_openpgp_set_recv_key_function()</code></a>.</p> +<p>The variable <em class="parameter"><code>key</code></em> + must be allocated using <code class="function">gnutls_malloc()</code>.</p> +<div class="refsect3"> +<a name="gnutls-openpgp-recv-key-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>a TLS session</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>keyfpr</p></td> +<td class="parameter_description"><p>key fingerprint</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>keyfpr_length</p></td> +<td class="parameter_description"><p>length of key fingerprint</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>output key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-openpgp-recv-key-func.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (zero) is returned, +otherwise an error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-openpgp-set-recv-key-function"></a><h3>gnutls_openpgp_set_recv_key_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_openpgp_set_recv_key_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-recv-key-func" title="gnutls_openpgp_recv_key_func ()"><span class="type">gnutls_openpgp_recv_key_func</span></a> func</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_openpgp_set_recv_key_function</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-openpgp-key"></a><h3>gnutls_certificate_set_openpgp_key ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_openpgp_key (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_certificate_set_openpgp_key</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-openpgp-key"></a><h3>gnutls_certificate_get_openpgp_key ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_get_openpgp_key (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> index</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> *key</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_certificate_get_openpgp_key</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-openpgp-crt"></a><h3>gnutls_certificate_get_openpgp_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_get_openpgp_crt (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> index</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> **crt_list</code></em>, + <em class="parameter"><code><span class="type">unsigned</span> *crt_list_size</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_certificate_get_openpgp_crt</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-openpgp-key-file"></a><h3>gnutls_certificate_set_openpgp_key_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_openpgp_key_file + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_certificate_set_openpgp_key_file</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-openpgp-key-mem"></a><h3>gnutls_certificate_set_openpgp_key_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_openpgp_key_mem + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_certificate_set_openpgp_key_mem</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-openpgp-key-file2"></a><h3>gnutls_certificate_set_openpgp_key_file2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_openpgp_key_file2 + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *subkey_id</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_certificate_set_openpgp_key_file2</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-openpgp-key-mem2"></a><h3>gnutls_certificate_set_openpgp_key_mem2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_openpgp_key_mem2 + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *subkey_id</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_certificate_set_openpgp_key_mem2</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-openpgp-keyring-mem"></a><h3>gnutls_certificate_set_openpgp_keyring_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_openpgp_keyring_mem + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> c</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> dlen</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_certificate_set_openpgp_keyring_mem</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-openpgp-keyring-file"></a><h3>gnutls_certificate_set_openpgp_keyring_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_certificate_set_openpgp_keyring_file + (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> c</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *file</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre> +<div class="warning"><p><code class="literal">gnutls_certificate_set_openpgp_keyring_file</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +</div> +<div class="refsect1"> +<a name="gnutls-openpgp.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="gnutls-openpgp-crt-fmt-t"></a><h3>enum gnutls_openpgp_crt_fmt_t</h3> +<p>Enumeration of different OpenPGP key formats.</p> +<div class="refsect3"> +<a name="gnutls-openpgp-crt-fmt-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-OPENPGP-FMT-RAW:CAPS"></a>GNUTLS_OPENPGP_FMT_RAW</p></td> +<td class="enum_member_description"> +<p>OpenPGP certificate in raw format.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-OPENPGP-FMT-BASE64:CAPS"></a>GNUTLS_OPENPGP_FMT_BASE64</p></td> +<td class="enum_member_description"> +<p>OpenPGP certificate in base64 format.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OPENPGP-KEYID-SIZE:CAPS"></a><h3>GNUTLS_OPENPGP_KEYID_SIZE</h3> +<pre class="programlisting">#define GNUTLS_OPENPGP_KEYID_SIZE 8 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OPENPGP-V4-FINGERPRINT-SIZE:CAPS"></a><h3>GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE</h3> +<pre class="programlisting">#define GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE 20 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OPENPGP-MASTER-KEYID-IDX:CAPS"></a><h3>GNUTLS_OPENPGP_MASTER_KEYID_IDX</h3> +<pre class="programlisting">#define GNUTLS_OPENPGP_MASTER_KEYID_IDX INT_MAX +</pre> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-pkcs11.html b/doc/reference/html/gnutls-pkcs11.html new file mode 100644 index 0000000..19bb391 --- /dev/null +++ b/doc/reference/html/gnutls-pkcs11.html @@ -0,0 +1,4178 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>pkcs11: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-crypto.html" title="crypto"> +<link rel="next" href="gnutls-pkcs12.html" title="pkcs12"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-pkcs11.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="gnutls-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-pkcs12.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-pkcs11"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-pkcs11.top_of_page"></a>pkcs11</span></h2> +<p>pkcs11</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-pkcs11.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-callback-t" title="gnutls_pkcs11_token_callback_t ()">*gnutls_pkcs11_token_callback_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-init" title="gnutls_pkcs11_init ()">gnutls_pkcs11_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-reinit" title="gnutls_pkcs11_reinit ()">gnutls_pkcs11_reinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-deinit" title="gnutls_pkcs11_deinit ()">gnutls_pkcs11_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-token-function" title="gnutls_pkcs11_set_token_function ()">gnutls_pkcs11_set_token_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" title="gnutls_pkcs11_set_pin_function ()">gnutls_pkcs11_set_pin_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="returnvalue">gnutls_pin_callback_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-get-pin-function" title="gnutls_pkcs11_get_pin_function ()">gnutls_pkcs11_get_pin_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-add-provider" title="gnutls_pkcs11_add_provider ()">gnutls_pkcs11_add_provider</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-init" title="gnutls_pkcs11_obj_init ()">gnutls_pkcs11_obj_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-set-pin-function" title="gnutls_pkcs11_obj_set_pin_function ()">gnutls_pkcs11_obj_set_pin_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-import-url" title="gnutls_pkcs11_obj_import_url ()">gnutls_pkcs11_obj_import_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-export-url" title="gnutls_pkcs11_obj_export_url ()">gnutls_pkcs11_obj_export_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-deinit" title="gnutls_pkcs11_obj_deinit ()">gnutls_pkcs11_obj_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-export" title="gnutls_pkcs11_obj_export ()">gnutls_pkcs11_obj_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-export2" title="gnutls_pkcs11_obj_export2 ()">gnutls_pkcs11_obj_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-export3" title="gnutls_pkcs11_obj_export3 ()">gnutls_pkcs11_obj_export3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer" title="gnutls_pkcs11_get_raw_issuer ()">gnutls_pkcs11_get_raw_issuer</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer-by-dn" title="gnutls_pkcs11_get_raw_issuer_by_dn ()">gnutls_pkcs11_get_raw_issuer_by_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer-by-subject-key-id" title="gnutls_pkcs11_get_raw_issuer_by_subject_key_id ()">gnutls_pkcs11_get_raw_issuer_by_subject_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-crt-is-known" title="gnutls_pkcs11_crt_is_known ()">gnutls_pkcs11_crt_is_known</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-crt" title="gnutls_pkcs11_copy_x509_crt ()">gnutls_pkcs11_copy_x509_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-privkey" title="gnutls_pkcs11_copy_x509_privkey ()">gnutls_pkcs11_copy_x509_privkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-generate2" title="gnutls_pkcs11_privkey_generate2 ()">gnutls_pkcs11_privkey_generate2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-generate" title="gnutls_pkcs11_privkey_generate ()">gnutls_pkcs11_privkey_generate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-pubkey" title="gnutls_pkcs11_copy_pubkey ()">gnutls_pkcs11_copy_pubkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-crt2" title="gnutls_pkcs11_copy_x509_crt2 ()">gnutls_pkcs11_copy_x509_crt2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-privkey2" title="gnutls_pkcs11_copy_x509_privkey2 ()">gnutls_pkcs11_copy_x509_privkey2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-delete-url" title="gnutls_pkcs11_delete_url ()">gnutls_pkcs11_delete_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-secret-key" title="gnutls_pkcs11_copy_secret_key ()">gnutls_pkcs11_copy_secret_key</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-ptr" title="gnutls_pkcs11_obj_get_ptr ()">gnutls_pkcs11_obj_get_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-info" title="gnutls_pkcs11_obj_get_info ()">gnutls_pkcs11_obj_get_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-set-info" title="gnutls_pkcs11_obj_set_info ()">gnutls_pkcs11_obj_set_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-init" title="gnutls_pkcs11_token_init ()">gnutls_pkcs11_token_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-ptr" title="gnutls_pkcs11_token_get_ptr ()">gnutls_pkcs11_token_get_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-mechanism" title="gnutls_pkcs11_token_get_mechanism ()">gnutls_pkcs11_token_get_mechanism</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-check-mechanism" title="gnutls_pkcs11_token_check_mechanism ()">gnutls_pkcs11_token_check_mechanism</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-set-pin" title="gnutls_pkcs11_token_set_pin ()">gnutls_pkcs11_token_set_pin</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-url" title="gnutls_pkcs11_token_get_url ()">gnutls_pkcs11_token_get_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-info" title="gnutls_pkcs11_token_get_info ()">gnutls_pkcs11_token_get_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-flags" title="gnutls_pkcs11_token_get_flags ()">gnutls_pkcs11_token_get_flags</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url" title="gnutls_pkcs11_obj_list_import_url()">gnutls_pkcs11_obj_list_import_url</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url2" title="gnutls_pkcs11_obj_list_import_url2()">gnutls_pkcs11_obj_list_import_url2</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url3" title="gnutls_pkcs11_obj_list_import_url3 ()">gnutls_pkcs11_obj_list_import_url3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url4" title="gnutls_pkcs11_obj_list_import_url4 ()">gnutls_pkcs11_obj_list_import_url4</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-x509-crt-import-pkcs11" title="gnutls_x509_crt_import_pkcs11 ()">gnutls_x509_crt_import_pkcs11</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-type-get-name" title="gnutls_pkcs11_type_get_name ()">gnutls_pkcs11_type_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-exts" title="gnutls_pkcs11_obj_get_exts ()">gnutls_pkcs11_obj_get_exts</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-flags" title="gnutls_pkcs11_obj_get_flags ()">gnutls_pkcs11_obj_get_flags</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-flags-get-str" title="gnutls_pkcs11_obj_flags_get_str ()">gnutls_pkcs11_obj_flags_get_str</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-x509-crt-list-import-pkcs11" title="gnutls_x509_crt_list_import_pkcs11 ()">gnutls_x509_crt_list_import_pkcs11</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-init" title="gnutls_pkcs11_privkey_init ()">gnutls_pkcs11_privkey_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-cpy" title="gnutls_pkcs11_privkey_cpy ()">gnutls_pkcs11_privkey_cpy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-set-pin-function" title="gnutls_pkcs11_privkey_set_pin_function ()">gnutls_pkcs11_privkey_set_pin_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-deinit" title="gnutls_pkcs11_privkey_deinit ()">gnutls_pkcs11_privkey_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-get-pk-algorithm" title="gnutls_pkcs11_privkey_get_pk_algorithm ()">gnutls_pkcs11_privkey_get_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-get-info" title="gnutls_pkcs11_privkey_get_info ()">gnutls_pkcs11_privkey_get_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-import-url" title="gnutls_pkcs11_privkey_import_url ()">gnutls_pkcs11_privkey_import_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-export-url" title="gnutls_pkcs11_privkey_export_url ()">gnutls_pkcs11_privkey_export_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-status" title="gnutls_pkcs11_privkey_status ()">gnutls_pkcs11_privkey_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-generate3" title="gnutls_pkcs11_privkey_generate3 ()">gnutls_pkcs11_privkey_generate3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-privkey-export-pubkey" title="gnutls_pkcs11_privkey_export_pubkey ()">gnutls_pkcs11_privkey_export_pubkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-get-random" title="gnutls_pkcs11_token_get_random ()">gnutls_pkcs11_token_get_random</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-copy-attached-extension" title="gnutls_pkcs11_copy_attached_extension ()">gnutls_pkcs11_copy_attached_extension</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-pkcs11.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-MAX-PIN-LEN:CAPS" title="GNUTLS_PKCS11_MAX_PIN_LEN">GNUTLS_PKCS11_MAX_PIN_LEN</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t">gnutls_pkcs11_obj_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-MANUAL:CAPS" title="GNUTLS_PKCS11_FLAG_MANUAL">GNUTLS_PKCS11_FLAG_MANUAL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-AUTO:CAPS" title="GNUTLS_PKCS11_FLAG_AUTO">GNUTLS_PKCS11_FLAG_AUTO</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-AUTO-TRUSTED:CAPS" title="GNUTLS_PKCS11_FLAG_AUTO_TRUSTED">GNUTLS_PKCS11_FLAG_AUTO_TRUSTED</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-flags" title="enum gnutls_pkcs11_obj_flags">gnutls_pkcs11_obj_flags</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-attr-t" title="gnutls_pkcs11_obj_attr_t">gnutls_pkcs11_obj_attr_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-url-type-t" title="enum gnutls_pkcs11_url_type_t">gnutls_pkcs11_url_type_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-info-t" title="enum gnutls_pkcs11_obj_info_t">gnutls_pkcs11_obj_info_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-ALL:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_CRT_ALL">GNUTLS_PKCS11_OBJ_ATTR_CRT_ALL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-MATCH:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_MATCH">GNUTLS_PKCS11_OBJ_ATTR_MATCH</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-ALL:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_ALL">GNUTLS_PKCS11_OBJ_ATTR_ALL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-TRUSTED:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED">GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-WITH-PRIVKEY:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY">GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-TRUSTED-CA:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA">GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-PUBKEY:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_PUBKEY">GNUTLS_PKCS11_OBJ_ATTR_PUBKEY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-PRIVKEY:CAPS" title="GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY">GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-info-t" title="enum gnutls_pkcs11_token_info_t">gnutls_pkcs11_token_info_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-type-t" title="enum gnutls_pkcs11_obj_type_t">gnutls_pkcs11_obj_type_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-HW:CAPS" title="GNUTLS_PKCS11_TOKEN_HW">GNUTLS_PKCS11_TOKEN_HW</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-TRUSTED:CAPS" title="GNUTLS_PKCS11_TOKEN_TRUSTED">GNUTLS_PKCS11_TOKEN_TRUSTED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-RNG:CAPS" title="GNUTLS_PKCS11_TOKEN_RNG">GNUTLS_PKCS11_TOKEN_RNG</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-LOGIN-REQUIRED:CAPS" title="GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED">GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-PROTECTED-AUTHENTICATION-PATH:CAPS" title="GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH">GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-INITIALIZED:CAPS" title="GNUTLS_PKCS11_TOKEN_INITIALIZED">GNUTLS_PKCS11_TOKEN_INITIALIZED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-COUNT-LOW:CAPS" title="GNUTLS_PKCS11_TOKEN_USER_PIN_COUNT_LOW">GNUTLS_PKCS11_TOKEN_USER_PIN_COUNT_LOW</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-FINAL-TRY:CAPS" title="GNUTLS_PKCS11_TOKEN_USER_PIN_FINAL_TRY">GNUTLS_PKCS11_TOKEN_USER_PIN_FINAL_TRY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-LOCKED:CAPS" title="GNUTLS_PKCS11_TOKEN_USER_PIN_LOCKED">GNUTLS_PKCS11_TOKEN_USER_PIN_LOCKED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SO-PIN-COUNT-LOW:CAPS" title="GNUTLS_PKCS11_TOKEN_SO_PIN_COUNT_LOW">GNUTLS_PKCS11_TOKEN_SO_PIN_COUNT_LOW</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SO-PIN-FINAL-TRY:CAPS" title="GNUTLS_PKCS11_TOKEN_SO_PIN_FINAL_TRY">GNUTLS_PKCS11_TOKEN_SO_PIN_FINAL_TRY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SO-PIN-LOCKED:CAPS" title="GNUTLS_PKCS11_TOKEN_SO_PIN_LOCKED">GNUTLS_PKCS11_TOKEN_SO_PIN_LOCKED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-INITIALIZED:CAPS" title="GNUTLS_PKCS11_TOKEN_USER_PIN_INITIALIZED">GNUTLS_PKCS11_TOKEN_USER_PIN_INITIALIZED</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-ERROR-STATE:CAPS" title="GNUTLS_PKCS11_TOKEN_ERROR_STATE">GNUTLS_PKCS11_TOKEN_ERROR_STATE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#gnutls-x509-crt-import-pkcs11-url" title="gnutls_x509_crt_import_pkcs11_url">gnutls_x509_crt_import_pkcs11_url</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-st" title="struct gnutls_pkcs11_obj_st">gnutls_pkcs11_obj_st</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-pkcs11.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-pkcs11.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-callback-t"></a><h3>gnutls_pkcs11_token_callback_t ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +<span class="c_punctuation">(</span>*gnutls_pkcs11_token_callback_t<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *const userdata</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *const label</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> retry</code></em>);</pre> +<p>Token callback function. The callback will be used to ask the user +to re-insert the token with given (null terminated) label. The +callback should return zero if token has been inserted by user and +a negative error code otherwise. It might be called multiple times +if the token is not detected and the retry counter will be +increased.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-callback-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>user-controlled data from <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-token-function" title="gnutls_pkcs11_set_token_function ()"><code class="function">gnutls_pkcs11_set_token_function()</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>token label.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>retry</p></td> +<td class="parameter_description"><p>retry counter, initially 0.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-callback-t.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code +on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-init"></a><h3>gnutls_pkcs11_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_init (<em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *deprecated_config_file</code></em>);</pre> +<p>This function will initialize the PKCS 11 subsystem in gnutls. It will +read configuration files if <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-AUTO:CAPS" title="GNUTLS_PKCS11_FLAG_AUTO"><code class="literal">GNUTLS_PKCS11_FLAG_AUTO</code></a> is used or allow +you to independently load PKCS 11 modules using <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-add-provider" title="gnutls_pkcs11_add_provider ()"><code class="function">gnutls_pkcs11_add_provider()</code></a> +if <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-MANUAL:CAPS" title="GNUTLS_PKCS11_FLAG_MANUAL"><code class="literal">GNUTLS_PKCS11_FLAG_MANUAL</code></a> is specified.</p> +<p>You don't need to call this function since GnuTLS 3.3.0 because it is being called +during the first request PKCS 11 operation. That call will assume the <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-AUTO:CAPS" title="GNUTLS_PKCS11_FLAG_AUTO"><code class="literal">GNUTLS_PKCS11_FLAG_AUTO</code></a> +flag. If another flags are required then it must be called independently +prior to any PKCS 11 operation.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>An ORed sequence of <code class="literal">GNUTLS_PKCS11_FLAG_</code>*</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>deprecated_config_file</p></td> +<td class="parameter_description"><p>either NULL or the location of a deprecated +configuration file</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-reinit"></a><h3>gnutls_pkcs11_reinit ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_reinit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>This function will reinitialize the PKCS 11 subsystem in gnutls. +This is required by PKCS 11 when an application uses <code class="function">fork()</code>. The +reinitialization function must be called on the child.</p> +<p>Note that since GnuTLS 3.3.0, the reinitialization of the PKCS <span class="type">11</span> +subsystem occurs automatically after fork.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-reinit.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-deinit"></a><h3>gnutls_pkcs11_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pkcs11_deinit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>This function will deinitialize the PKCS 11 subsystem in gnutls. +This function is only needed if you need to deinitialize the +subsystem without calling <a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()"><code class="function">gnutls_global_deinit()</code></a>.</p> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-set-token-function"></a><h3>gnutls_pkcs11_set_token_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pkcs11_set_token_function (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-callback-t" title="gnutls_pkcs11_token_callback_t ()"><span class="type">gnutls_pkcs11_token_callback_t</span></a> fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +<p>This function will set a callback function to be used when a token +needs to be inserted to continue PKCS 11 operations.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-set-token-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>fn</p></td> +<td class="parameter_description"><p>The token callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>data to be supplied to callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-set-pin-function"></a><h3>gnutls_pkcs11_set_pin_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pkcs11_set_pin_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +<p>This function will set a callback function to be used when a PIN is +required for PKCS 11 operations. See +<a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><code class="function">gnutls_pin_callback_t()</code></a> on how the callback should behave.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-set-pin-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>fn</p></td> +<td class="parameter_description"><p>The PIN callback, a <a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><code class="function">gnutls_pin_callback_t()</code></a> function.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>data to be supplied to callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-get-pin-function"></a><h3>gnutls_pkcs11_get_pin_function ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="returnvalue">gnutls_pin_callback_t</span></a> +gnutls_pkcs11_get_pin_function (<em class="parameter"><code><span class="type">void</span> **userdata</code></em>);</pre> +<p>This function will return the callback function set using +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" title="gnutls_pkcs11_set_pin_function ()"><code class="function">gnutls_pkcs11_set_pin_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-get-pin-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>data to be supplied to callback</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-get-pin-function.returns"></a><h4>Returns</h4> +<p> The function set or NULL otherwise.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-add-provider"></a><h3>gnutls_pkcs11_add_provider ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_add_provider (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *params</code></em>);</pre> +<p>This function will load and add a PKCS 11 module to the module +list used in gnutls. After this function is called the module will +be used for PKCS 11 operations.</p> +<p>When loading a module to be used for certificate verification, +use the string 'trusted' as <em class="parameter"><code>params</code></em> +.</p> +<p>Note that this function is not thread safe.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-add-provider.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>The filename of the module</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>params</p></td> +<td class="parameter_description"><p>should be NULL or a known string (see description)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-add-provider.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-init"></a><h3>gnutls_pkcs11_obj_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_init (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> *obj</code></em>);</pre> +<p>This function will initialize a pkcs11 certificate structure.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-set-pin-function"></a><h3>gnutls_pkcs11_obj_set_pin_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pkcs11_obj_set_pin_function (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +<p>This function will set a callback function to be used when +required to access the object. This function overrides the global +set using <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" title="gnutls_pkcs11_set_pin_function ()"><code class="function">gnutls_pkcs11_set_pin_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-set-pin-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>The object structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fn</p></td> +<td class="parameter_description"><p>the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>data associated with the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-import-url"></a><h3>gnutls_pkcs11_obj_import_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_import_url (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will "import" a PKCS 11 URL identifying an object (e.g. certificate) +to the <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> type. This does not involve any +parsing (such as X.509 or OpenPGP) since the <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> is +format agnostic. Only data are transferred.</p> +<p>If the flag <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-OVERWRITE-TRUSTMOD-EXT:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT</code></a> is specified +any certificate read, will have its extensions overwritten by any +stapled extensions in the trust module.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-import-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>The structure to store the object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>a PKCS 11 url identifying the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Or sequence of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-import-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-export-url"></a><h3>gnutls_pkcs11_obj_export_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_export_url (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-url-type-t" title="enum gnutls_pkcs11_url_type_t"><span class="type">gnutls_pkcs11_url_type_t</span></a> detailed</code></em>, + <em class="parameter"><code><span class="type">char</span> **url</code></em>);</pre> +<p>This function will export a URL identifying the given object.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-export-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>Holds the PKCS 11 certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>detailed</p></td> +<td class="parameter_description"><p>non zero if a detailed URL is required</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>will contain an allocated url</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-export-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-deinit"></a><h3>gnutls_pkcs11_obj_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pkcs11_obj_deinit (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>);</pre> +<p>This function will deinitialize a certificate structure.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>The type to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-export"></a><h3>gnutls_pkcs11_obj_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_export (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will export the PKCS11 object data. It is normal for +data to be inaccessible and in that case <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> +will be returned.</p> +<p>If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-export.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>Holds the object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain the object data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-export.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-export2"></a><h3>gnutls_pkcs11_obj_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_export2 (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the PKCS11 object data. It is normal for +data to be inaccessible and in that case <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> +will be returned.</p> +<p>The output buffer is allocated using <code class="function">gnutls_malloc()</code>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-export2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>Holds the object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain the object data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-export2.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-export3"></a><h3>gnutls_pkcs11_obj_export3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_export3 (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> fmt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the PKCS11 object data. It is normal for +data to be inaccessible and in that case <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> +will be returned.</p> +<p>The output buffer is allocated using <code class="function">gnutls_malloc()</code>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-export3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>Holds the object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain the object data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fmt</p></td> +<td class="parameter_description"><p>The format of the exported data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-export3.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success.</p> +</div> +<p class="since">Since: 3.2.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-get-raw-issuer"></a><h3>gnutls_pkcs11_get_raw_issuer ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_get_raw_issuer (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *issuer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> fmt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the issuer of a given certificate, if it +is stored in the token. By default only marked as trusted issuers +are returned. If any issuer should be returned specify +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-ANY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_ANY</code></a> in <em class="parameter"><code>flags</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-get-raw-issuer.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url identifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>is the certificate to find issuer for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>Will hold the issuer if any in an allocated buffer.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fmt</p></td> +<td class="parameter_description"><p>The format of the exported issuer.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Use zero or flags from <code class="literal">GNUTLS_PKCS11_OBJ_FLAG</code>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-get-raw-issuer.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.2.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-get-raw-issuer-by-dn"></a><h3>gnutls_pkcs11_get_raw_issuer_by_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_get_raw_issuer_by_dn (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *issuer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> fmt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the certificate with the given DN, if it +is stored in the token. By default only marked as trusted issuers +are returned. If any issuer should be returned specify +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-ANY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_ANY</code></a> in <em class="parameter"><code>flags</code></em> +.</p> +<p>The name of the function includes issuer because it can +be used to discover issuers of certificates.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-get-raw-issuer-by-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url identifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>is the DN to search for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>Will hold the issuer if any in an allocated buffer.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fmt</p></td> +<td class="parameter_description"><p>The format of the exported issuer.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Use zero or flags from <code class="literal">GNUTLS_PKCS11_OBJ_FLAG</code>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-get-raw-issuer-by-dn.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-get-raw-issuer-by-subject-key-id"></a><h3>gnutls_pkcs11_get_raw_issuer_by_subject_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_get_raw_issuer_by_subject_key_id + (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *spki</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *issuer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> fmt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the certificate with the given DN and <em class="parameter"><code>spki</code></em> +, if it +is stored in the token. By default only marked as trusted issuers +are returned. If any issuer should be returned specify +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-ANY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_ANY</code></a> in <em class="parameter"><code>flags</code></em> +.</p> +<p>The name of the function includes issuer because it can +be used to discover issuers of certificates.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-get-raw-issuer-by-subject-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url identifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>is the DN to search for (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>is the subject key ID to search for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>Will hold the issuer if any in an allocated buffer.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fmt</p></td> +<td class="parameter_description"><p>The format of the exported issuer.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Use zero or flags from <code class="literal">GNUTLS_PKCS11_OBJ_FLAG</code>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-get-raw-issuer-by-subject-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-crt-is-known"></a><h3>gnutls_pkcs11_crt_is_known ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_pkcs11_crt_is_known (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will check whether the provided certificate is stored +in the specified token. This is useful in combination with +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-TRUSTED:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED</code></a> or +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-DISTRUSTED:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED</code></a>, +to check whether a CA is present or a certificate is blacklisted in +a trust PKCS <span class="type">11</span> module.</p> +<p>This function can be used with a <em class="parameter"><code>url</code></em> + of "pkcs11:", and in that case all modules +will be searched. To restrict the modules to the marked as trusted in p11-kit +use the <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PRESENT-IN-TRUSTED-MODULE:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE</code></a> flag.</p> +<p>Note that the flag <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-DISTRUSTED:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED</code></a> is +specific to p11-kit trust modules.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-crt-is-known.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url identifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>is the certificate to find issuer for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Use zero or flags from <code class="literal">GNUTLS_PKCS11_OBJ_FLAG</code>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-crt-is-known.returns"></a><h4>Returns</h4> +<p> If the certificate exists non-zero is returned, otherwise zero.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-copy-x509-crt"></a><h3>gnutls_pkcs11_copy_x509_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_copy_x509_crt (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will copy a certificate into a PKCS <span class="type">11</span> token specified by +a URL. The certificate can be marked as trusted or not.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-x509-crt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>A certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>A name to be used for the stored data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_FLAG_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-x509-crt.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-copy-x509-privkey"></a><h3>gnutls_pkcs11_copy_x509_privkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_copy_x509_privkey (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_usage</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will copy a private key into a PKCS <span class="type">11</span> token specified by +a URL.</p> +<p>Since 3.6.3 the objects are marked as sensitive by default unless +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-NOT-SENSITIVE:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE</code></a> is specified.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-x509-privkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>A name to be used for the stored data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>One of GNUTLS_KEY_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-x509-privkey.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-generate2"></a><h3>gnutls_pkcs11_privkey_generate2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_generate2 (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> pk</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> fmt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *pubkey</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will generate a private key in the specified +by the <em class="parameter"><code>url</code></em> + token. The private key will be generate within +the token and will not be exportable. This function will +store the DER-encoded public key in the SubjectPublicKeyInfo format +in <em class="parameter"><code>pubkey</code></em> +. The <em class="parameter"><code>pubkey</code></em> + should be deinitialized using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<p>Note that when generating an elliptic curve key, the curve +can be substituted in the place of the bits parameter using the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CURVE-TO-BITS:CAPS" title="GNUTLS_CURVE_TO_BITS()"><code class="function">GNUTLS_CURVE_TO_BITS()</code></a> macro.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-generate2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>a token URL</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pk</p></td> +<td class="parameter_description"><p>the public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>the security bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>a label</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fmt</p></td> +<td class="parameter_description"><p>the format of output params. PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pubkey</p></td> +<td class="parameter_description"><p>will hold the public key (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or an OR'ed sequence of <code class="literal">GNUTLS_PKCS11_OBJ_FLAGs</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-generate2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-generate"></a><h3>gnutls_pkcs11_privkey_generate ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_generate (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> pk</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will generate a private key in the specified +by the <em class="parameter"><code>url</code></em> + token. The private key will be generate within +the token and will not be exportable.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-generate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>a token URL</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pk</p></td> +<td class="parameter_description"><p>the public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>the security bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>a label</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-generate.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-copy-pubkey"></a><h3>gnutls_pkcs11_copy_pubkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_copy_pubkey (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pubkey-t" title="gnutls_pubkey_t"><span class="type">gnutls_pubkey_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_usage</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will copy a public key object into a PKCS <span class="type">11</span> token specified by +a URL. Valid flags to mark the key: <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-TRUSTED:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-PRIVATE:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-CA:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_CA</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-ALWAYS-AUTH:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_ALWAYS_AUTH</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-pubkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pubkey</p></td> +<td class="parameter_description"><p>The public key to copy</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>The name to be used for the stored data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cid</p></td> +<td class="parameter_description"><p>The CKA_ID to set for the object -if NULL, the ID will be derived from the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>One of GNUTLS_KEY_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_FLAG_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-pubkey.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-copy-x509-crt2"></a><h3>gnutls_pkcs11_copy_x509_crt2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_copy_x509_crt2 (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *id</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will copy a certificate into a PKCS <span class="type">11</span> token specified by +a URL. Valid flags to mark the certificate: <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-TRUSTED:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-PRIVATE:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-CA:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_CA</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-ALWAYS-AUTH:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_ALWAYS_AUTH</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-x509-crt2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>The certificate to copy</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>The name to be used for the stored data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cid</p></td> +<td class="parameter_description"><p>The CKA_ID to set for the object -if NULL, the ID will be derived from the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_FLAG_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-x509-crt2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-copy-x509-privkey2"></a><h3>gnutls_pkcs11_copy_x509_privkey2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_copy_x509_privkey2 (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_usage</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will copy a private key into a PKCS <span class="type">11</span> token specified by +a URL.</p> +<p>Since 3.6.3 the objects are marked as sensitive by default unless +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-NOT-SENSITIVE:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE</code></a> is specified.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-x509-privkey2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>A name to be used for the stored data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cid</p></td> +<td class="parameter_description"><p>The CKA_ID to set for the object -if NULL, the ID will be derived from the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>One of GNUTLS_KEY_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-x509-privkey2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-delete-url"></a><h3>gnutls_pkcs11_delete_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_delete_url (<em class="parameter"><code>const <span class="type">char</span> *object_url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will delete objects matching the given URL. +Note that not all tokens support the delete operation.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-delete-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>object_url</p></td> +<td class="parameter_description"><p>The URL of the object to delete.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-delete-url.returns"></a><h4>Returns</h4> +<p> On success, the number of objects deleted is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-copy-secret-key"></a><h3>gnutls_pkcs11_copy_secret_key ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_copy_secret_key (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *key</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_usage</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will copy a raw secret (symmetric) key into a PKCS <span class="type">11</span> +token specified by a URL. The key can be marked as sensitive or not.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-secret-key.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The raw key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>A name to be used for the stored data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>One of GNUTLS_KEY_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_FLAG_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-secret-key.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-get-ptr"></a><h3>gnutls_pkcs11_obj_get_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_get_ptr (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code><span class="type">void</span> **ptr</code></em>, + <em class="parameter"><code><span class="type">void</span> **session</code></em>, + <em class="parameter"><code><span class="type">void</span> **ohandle</code></em>, + <em class="parameter"><code>unsigned <span class="type">long</span> *slot_id</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>Obtains the PKCS<span class="type">11</span> session handles of an object. <em class="parameter"><code>session</code></em> + and <em class="parameter"><code>ohandle</code></em> + +must be deinitialized by the caller. The returned pointers are +independent of the <em class="parameter"><code>obj</code></em> + lifetime.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-get-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>will contain the CK_FUNCTION_LIST_PTR pointer (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>will contain the CK_SESSION_HANDLE of the object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ohandle</p></td> +<td class="parameter_description"><p>will contain the CK_OBJECT_HANDLE of the object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>slot_id</p></td> +<td class="parameter_description"><p>the identifier of the slot (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Or sequence of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-get-ptr.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code +on error.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-get-info"></a><h3>gnutls_pkcs11_obj_get_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_get_info (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-info-t" title="enum gnutls_pkcs11_obj_info_t"><span class="type">gnutls_pkcs11_obj_info_t</span></a> itype</code></em>, + <em class="parameter"><code><span class="type">void</span> *output</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_size</code></em>);</pre> +<p>This function will return information about the PKCS11 certificate +such as the label, id as well as token information where the key is +stored.</p> +<p>When output is text, a null terminated string is written to <em class="parameter"><code>output</code></em> + and its +string length is written to <em class="parameter"><code>output_size</code></em> + (without null terminator). If the +buffer is too small, <em class="parameter"><code>output_size</code></em> + will contain the expected buffer size +(with null terminator for text) and return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a>.</p> +<p>In versions previously to 3.6.0 this function included the null terminator +to <em class="parameter"><code>output_size</code></em> +. After 3.6.0 the output size doesn't include the terminator character.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-get-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>itype</p></td> +<td class="parameter_description"><p>Denotes the type of information requested</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>where output will be stored</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_size</p></td> +<td class="parameter_description"><p>contains the maximum size of the output buffer and will be +overwritten with the actual size.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-get-info.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-set-info"></a><h3>gnutls_pkcs11_obj_set_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_set_info (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-info-t" title="enum gnutls_pkcs11_obj_info_t"><span class="type">gnutls_pkcs11_obj_info_t</span></a> itype</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> data_size</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will set attributes on the provided object. +Available options for <em class="parameter"><code>itype</code></em> + are <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-LABEL:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_LABEL</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ID-HEX:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_ID_HEX</code></a>, and <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ID:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_ID</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-set-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>itype</p></td> +<td class="parameter_description"><p>Denotes the type of information to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the data to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>the size of data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Or sequence of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-set-info.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code on error.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-init"></a><h3>gnutls_pkcs11_token_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_token_init (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *so_pin</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>);</pre> +<p>This function will initialize (format) a token. If the token is +at a factory defaults state the security officer's PIN given will be +set to be the default. Otherwise it should match the officer's PIN.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>so_pin</p></td> +<td class="parameter_description"><p>Security Officer's PIN</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>A name to be used for the token</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-get-ptr"></a><h3>gnutls_pkcs11_token_get_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_token_get_ptr (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code><span class="type">void</span> **ptr</code></em>, + <em class="parameter"><code>unsigned <span class="type">long</span> *slot_id</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the function pointer of the specified +token by the URL. The returned pointers are valid until +gnutls is deinitialized, c.f. <code class="function">_global_deinit()</code>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>should contain a PKCS<span class="type">11</span> URL identifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>will contain the CK_FUNCTION_LIST_PTR pointer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>slot_id</p></td> +<td class="parameter_description"><p>will contain the slot_id (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-ptr.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code +on error.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-get-mechanism"></a><h3>gnutls_pkcs11_token_get_mechanism ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_token_get_mechanism (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code>unsigned <span class="type">long</span> *mechanism</code></em>);</pre> +<p>This function will return the names of the supported mechanisms +by the token. It should be called with an increasing index until +it return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-mechanism.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>should contain a PKCS 11 URL</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>The index of the mechanism</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mechanism</p></td> +<td class="parameter_description"><p>The PKCS <span class="type">11</span> mechanism ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-mechanism.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-check-mechanism"></a><h3>gnutls_pkcs11_token_check_mechanism ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_pkcs11_token_check_mechanism (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code><span class="type">unsigned long </span> mechanism</code></em>, + <em class="parameter"><code><span class="type">void</span> *ptr</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> psize</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will return whether a mechanism is supported +by the given token. If the mechanism is supported and +<em class="parameter"><code>ptr</code></em> + is set, it will be updated with the token information.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-check-mechanism.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>should contain a PKCS 11 URL</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mechanism</p></td> +<td class="parameter_description"><p>The PKCS <span class="type">11</span> mechanism ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>if set it should point to a CK_MECHANISM_INFO struct</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>psize</p></td> +<td class="parameter_description"><p>the size of CK_MECHANISM_INFO struct (for safety)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-check-mechanism.returns"></a><h4>Returns</h4> +<p> Non-zero if the mechanism is supported or zero otherwise.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-set-pin"></a><h3>gnutls_pkcs11_token_set_pin ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_token_set_pin (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oldpin</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *newpin</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will modify or set a user or administrator's PIN for +the given token. If it is called to set a PIN for first time +the oldpin must be <code class="literal">NULL</code>. When setting the admin's PIN with the +<a class="link" href="gnutls-gnutls.html#GNUTLS-PIN-SO:CAPS"><code class="literal">GNUTLS_PIN_SO</code></a> flag, the <em class="parameter"><code>oldpin</code></em> + value must be provided (this requirement +is relaxed after GnuTLS 3.6.5 since which the PIN will be requested if missing).</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-set-pin.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oldpin</p></td> +<td class="parameter_description"><p>old user's PIN</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>newpin</p></td> +<td class="parameter_description"><p>new user's PIN</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>one of <a class="link" href="gnutls-gnutls.html#gnutls-pin-flag-t" title="enum gnutls_pin_flag_t"><span class="type">gnutls_pin_flag_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-set-pin.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-get-url"></a><h3>gnutls_pkcs11_token_get_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_token_get_url (<em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-url-type-t" title="enum gnutls_pkcs11_url_type_t"><span class="type">gnutls_pkcs11_url_type_t</span></a> detailed</code></em>, + <em class="parameter"><code><span class="type">char</span> **url</code></em>);</pre> +<p>This function will return the URL for each token available +in system. The url has to be released using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a></p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>sequence number starting from 0</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>detailed</p></td> +<td class="parameter_description"><p>non zero if a detailed URL is required</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>will contain an allocated url</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> if the sequence number +exceeds the available tokens, otherwise a negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-get-info"></a><h3>gnutls_pkcs11_token_get_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_token_get_info (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-token-info-t" title="enum gnutls_pkcs11_token_info_t"><span class="type">gnutls_pkcs11_token_info_t</span></a> ttype</code></em>, + <em class="parameter"><code><span class="type">void</span> *output</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_size</code></em>);</pre> +<p>This function will return information about the PKCS 11 token such +as the label, id, etc.</p> +<p>When output is text, a null terminated string is written to <em class="parameter"><code>output</code></em> + and its +string length is written to <em class="parameter"><code>output_size</code></em> + (without null terminator). If the +buffer is too small, <em class="parameter"><code>output_size</code></em> + will contain the expected buffer size +(with null terminator for text) and return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>should contain a PKCS 11 URL</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ttype</p></td> +<td class="parameter_description"><p>Denotes the type of information requested</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>where output will be stored</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_size</p></td> +<td class="parameter_description"><p>contains the maximum size of the output buffer and will be +overwritten with the actual size.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-info.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code +on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-get-flags"></a><h3>gnutls_pkcs11_token_get_flags ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_token_get_flags (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *flags</code></em>);</pre> +<p>This function will return information about the PKCS 11 token flags.</p> +<p>The supported flags are: <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-HW:CAPS" title="GNUTLS_PKCS11_TOKEN_HW"><code class="literal">GNUTLS_PKCS11_TOKEN_HW</code></a> and <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-TRUSTED:CAPS" title="GNUTLS_PKCS11_TOKEN_TRUSTED"><code class="literal">GNUTLS_PKCS11_TOKEN_TRUSTED</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-flags.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>should contain a PKCS 11 URL</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>The output flags (GNUTLS_PKCS11_TOKEN_*)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-flags.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code on error.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-list-import-url"></a><h3>gnutls_pkcs11_obj_list_import_url()</h3> +<pre class="programlisting">#define gnutls_pkcs11_obj_list_import_url(p_list, n_list, url, attrs, flags) gnutls_pkcs11_obj_list_import_url3(p_list, n_list, url, attrs|flags) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-list-import-url2"></a><h3>gnutls_pkcs11_obj_list_import_url2()</h3> +<pre class="programlisting">#define gnutls_pkcs11_obj_list_import_url2(p_list, n_list, url, attrs, flags) gnutls_pkcs11_obj_list_import_url4(p_list, n_list, url, attrs|flags) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-list-import-url3"></a><h3>gnutls_pkcs11_obj_list_import_url3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_list_import_url3 (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> *p_list</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *const n_list</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will initialize and set values to an object list +by using all objects identified by a PKCS 11 URL.</p> +<p>This function will enumerate all the objects specified by the PKCS<span class="type">11</span> URL +provided. It expects an already allocated <em class="parameter"><code>p_list</code></em> + which has *<em class="parameter"><code>n_list</code></em> + elements, +and that value will be updated to the actual number of present objects. The +<em class="parameter"><code>p_list</code></em> + objects will be initialized and set by this function. +To obtain a list of all available objects use a <em class="parameter"><code>url</code></em> + of 'pkcs11:'.</p> +<p>All returned objects must be deinitialized using <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-deinit" title="gnutls_pkcs11_obj_deinit ()"><code class="function">gnutls_pkcs11_obj_deinit()</code></a>.</p> +<p>The supported in this function <em class="parameter"><code>flags</code></em> + are <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-LOGIN:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_LOGIN</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-LOGIN-SO:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PRESENT-IN-TRUSTED-MODULE:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-CRT:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_CRT</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PUBKEY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_PUBKEY</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PRIVKEY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-WITH-PRIVKEY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-CA:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_CA</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-TRUSTED:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED</code></a>, and since 3.5.1 the <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-OVERWRITE-TRUSTMOD-EXT:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT</code></a>.</p> +<p>On versions of GnuTLS prior to 3.4.0 the equivalent function was +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url" title="gnutls_pkcs11_obj_list_import_url()"><code class="function">gnutls_pkcs11_obj_list_import_url()</code></a>. That is also available on this version +as a macro which maps to this function.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-list-import-url3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>p_list</p></td> +<td class="parameter_description"><p>An uninitialized object list (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>n_list</p></td> +<td class="parameter_description"><p>Initially should hold the maximum size of the list. Will contain the actual size.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url identifying a set of objects</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Or sequence of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-list-import-url3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-list-import-url4"></a><h3>gnutls_pkcs11_obj_list_import_url4 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_list_import_url4 (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> **p_list</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *n_list</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will enumerate all the objects specified by the PKCS<span class="type">11</span> URL +provided. It will initialize and set values to the object pointer list (<em class="parameter"><code>p_list</code></em> +) +provided. To obtain a list of all available objects use a <em class="parameter"><code>url</code></em> + of 'pkcs11:'.</p> +<p>All returned objects must be deinitialized using <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-deinit" title="gnutls_pkcs11_obj_deinit ()"><code class="function">gnutls_pkcs11_obj_deinit()</code></a>, +and <em class="parameter"><code>p_list</code></em> + must be deinitialized using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<p>The supported in this function <em class="parameter"><code>flags</code></em> + are <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-LOGIN:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_LOGIN</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-LOGIN-SO:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PRESENT-IN-TRUSTED-MODULE:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-CRT:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_CRT</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PUBKEY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_PUBKEY</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PRIVKEY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-WITH-PRIVKEY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY</code></a>, <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-CA:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_CA</code></a>, +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-TRUSTED:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED</code></a>, and since 3.5.1 the <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-OVERWRITE-TRUSTMOD-EXT:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT</code></a>.</p> +<p>On versions of GnuTLS prior to 3.4.0 the equivalent function was +<a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url2" title="gnutls_pkcs11_obj_list_import_url2()"><code class="function">gnutls_pkcs11_obj_list_import_url2()</code></a>. That is also available on this version +as a macro which maps to this function.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-list-import-url4.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>p_list</p></td> +<td class="parameter_description"><p>An uninitialized object list (may be NULL)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>n_list</p></td> +<td class="parameter_description"><p>It will contain the size of the list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url identifying a set of objects</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Or sequence of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-list-import-url4.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-import-pkcs11"></a><h3>gnutls_x509_crt_import_pkcs11 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_import_pkcs11 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> pkcs11_crt</code></em>);</pre> +<p>This function will import a PKCS 11 certificate to a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> +structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-import-pkcs11.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>A certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pkcs11_crt</p></td> +<td class="parameter_description"><p>A PKCS 11 object that contains a certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-import-pkcs11.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-type-get-name"></a><h3>gnutls_pkcs11_type_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_pkcs11_type_get_name (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-type-t" title="enum gnutls_pkcs11_obj_type_t"><span class="type">gnutls_pkcs11_obj_type_t</span></a> type</code></em>);</pre> +<p>This function will return a human readable description of the +PKCS11 object type <em class="parameter"><code>obj</code></em> +. It will return "Unknown" for unknown +types.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-type-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>Holds the PKCS 11 object type, a <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-type-t" title="enum gnutls_pkcs11_obj_type_t"><span class="type">gnutls_pkcs11_obj_type_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-type-get-name.returns"></a><h4>Returns</h4> +<p> human readable string labeling the PKCS11 object type +<em class="parameter"><code>type</code></em> +.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-get-exts"></a><h3>gnutls_pkcs11_obj_get_exts ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_get_exts (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code><span class="type">struct gnutls_x509_ext_st</span> **exts</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *exts_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return information about attached extensions +that associate to the provided object (which should be a certificate). +The extensions are the attached p11-kit trust module extensions.</p> +<p>Each element of <em class="parameter"><code>exts</code></em> + must be deinitialized using <a class="link" href="gnutls-x509.html#gnutls-x509-ext-deinit" title="gnutls_x509_ext_deinit ()"><code class="function">gnutls_x509_ext_deinit()</code></a> +while <em class="parameter"><code>exts</code></em> + should be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-get-exts.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>exts</p></td> +<td class="parameter_description"><p>a pointer to a <a class="link" href="gnutls-x509.html#gnutls-x509-ext-st" title="gnutls_x509_ext_st"><code class="literal">gnutls_x509_ext_st</code></a> pointer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>exts_size</p></td> +<td class="parameter_description"><p>will be updated with the number of <em class="parameter"><code>exts</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Or sequence of <code class="literal">GNUTLS_PKCS11_OBJ_</code>* flags </p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-get-exts.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code on error.</p> +</div> +<p class="since">Since: 3.3.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-get-flags"></a><h3>gnutls_pkcs11_obj_get_flags ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_obj_get_flags (<em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> obj</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *oflags</code></em>);</pre> +<p>This function will return the flags of the object. +The <em class="parameter"><code>oflags</code></em> + will be flags from <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-flags" title="enum gnutls_pkcs11_obj_flags"><code class="literal">gnutls_pkcs11_obj_flags</code></a>. That is, +the <code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_</code>* flags.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-get-flags.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>obj</p></td> +<td class="parameter_description"><p>The pkcs11 object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oflags</p></td> +<td class="parameter_description"><p>Will hold the output flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-get-flags.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.3.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-flags-get-str"></a><h3>gnutls_pkcs11_obj_flags_get_str ()</h3> +<pre class="programlisting"><span class="returnvalue">char</span> * +gnutls_pkcs11_obj_flags_get_str (<em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function given an or-sequence of <code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK</code>, +will return an allocated string with its description. The string +needs to be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-flags-get-str.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>holds the flags</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-flags-get-str.returns"></a><h4>Returns</h4> +<p> If flags is zero <code class="literal">NULL</code> is returned, otherwise an allocated string.</p> +</div> +<p class="since">Since: 3.3.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-list-import-pkcs11"></a><h3>gnutls_x509_crt_list_import_pkcs11 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_list_import_pkcs11 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *certs</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> cert_max</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-t" title="gnutls_pkcs11_obj_t"><span class="type">gnutls_pkcs11_obj_t</span></a> * const objs</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import a PKCS 11 certificate list to a list of +<a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type. These must not be initialized.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-import-pkcs11.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>certs</p></td> +<td class="parameter_description"><p>A list of certificates of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_max</p></td> +<td class="parameter_description"><p>The maximum size of the list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>objs</p></td> +<td class="parameter_description"><p>A list of PKCS 11 objects</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>0 for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-import-pkcs11.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-init"></a><h3>gnutls_pkcs11_privkey_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> *key</code></em>);</pre> +<p>This function will initialize an private key structure. This +structure can be used for accessing an underlying PKCS<span class="type">11</span> object.</p> +<p>In versions of GnuTLS later than 3.5.11 the object is protected +using locks and a single <a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><code class="literal">gnutls_pkcs11_privkey_t</code></a> can be re-used +by many threads. However, for performance it is recommended to utilize +one object per key per thread.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-cpy"></a><h3>gnutls_pkcs11_privkey_cpy ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_cpy (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> dst</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> src</code></em>);</pre> +<p>This function will copy a private key from source to destination +key. Destination has to be initialized.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-cpy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>The destination key, which should be initialized.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>src</p></td> +<td class="parameter_description"><p>The source key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-cpy.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-set-pin-function"></a><h3>gnutls_pkcs11_privkey_set_pin_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pkcs11_privkey_set_pin_function + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +<p>This function will set a callback function to be used when +required to access the object. This function overrides the global +set using <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" title="gnutls_pkcs11_set_pin_function ()"><code class="function">gnutls_pkcs11_set_pin_function()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-set-pin-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fn</p></td> +<td class="parameter_description"><p>the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>data associated with the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-deinit"></a><h3>gnutls_pkcs11_privkey_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pkcs11_privkey_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> key</code></em>);</pre> +<p>This function will deinitialize a private key structure.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the key to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-get-pk-algorithm"></a><h3>gnutls_pkcs11_privkey_get_pk_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_get_pk_algorithm + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<p>This function will return the public key algorithm of a private +key.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-get-pk-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>if bits is non null it will hold the size of the parameters' in bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-get-pk-algorithm.returns"></a><h4>Returns</h4> +<p> a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on +success, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-get-info"></a><h3>gnutls_pkcs11_privkey_get_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_get_info (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-obj-info-t" title="enum gnutls_pkcs11_obj_info_t"><span class="type">gnutls_pkcs11_obj_info_t</span></a> itype</code></em>, + <em class="parameter"><code><span class="type">void</span> *output</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_size</code></em>);</pre> +<p>This function will return information about the PKCS 11 private key such +as the label, id as well as token information where the key is stored. When +output is text it returns null terminated string although <span class="type">output_size</span> contains +the size of the actual data only.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-get-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>itype</p></td> +<td class="parameter_description"><p>Denotes the type of information requested</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>where output will be stored</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_size</p></td> +<td class="parameter_description"><p>contains the maximum size of the output and will be overwritten with actual</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-get-info.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) on success or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-import-url"></a><h3>gnutls_pkcs11_privkey_import_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_import_url (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will "import" a PKCS 11 URL identifying a private +key to the <a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> type. In reality since +in most cases keys cannot be exported, the private key structure +is being associated with the available operations on the token.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-import-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>a PKCS 11 url identifying the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Or sequence of GNUTLS_PKCS11_OBJ_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-import-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-export-url"></a><h3>gnutls_pkcs11_privkey_export_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_export_url (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-url-type-t" title="enum gnutls_pkcs11_url_type_t"><span class="type">gnutls_pkcs11_url_type_t</span></a> detailed</code></em>, + <em class="parameter"><code><span class="type">char</span> **url</code></em>);</pre> +<p>This function will export a URL identifying the given key.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-export-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the PKCS 11 key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>detailed</p></td> +<td class="parameter_description"><p>non zero if a detailed URL is required</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>will contain an allocated url</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-export-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-status"></a><h3>gnutls_pkcs11_privkey_status ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_pkcs11_privkey_status (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> key</code></em>);</pre> +<p>Checks the status of the private key token.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-status.returns"></a><h4>Returns</h4> +<p> this function will return non-zero if the token +holding the private key is still available (inserted), and zero otherwise.</p> +</div> +<p class="since">Since: 3.1.9</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-generate3"></a><h3>gnutls_pkcs11_privkey_generate3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_generate3 (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> pk</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cid</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> fmt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *pubkey</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> key_usage</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will generate a private key in the specified +by the <em class="parameter"><code>url</code></em> + token. The private key will be generate within +the token and will not be exportable. This function will +store the DER-encoded public key in the SubjectPublicKeyInfo format +in <em class="parameter"><code>pubkey</code></em> +. The <em class="parameter"><code>pubkey</code></em> + should be deinitialized using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<p>Note that when generating an elliptic curve key, the curve +can be substituted in the place of the bits parameter using the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CURVE-TO-BITS:CAPS" title="GNUTLS_CURVE_TO_BITS()"><code class="function">GNUTLS_CURVE_TO_BITS()</code></a> macro.</p> +<p>Since 3.6.3 the objects are marked as sensitive by default unless +<a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-NOT-SENSITIVE:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE</code></a> is specified.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-generate3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>a token URL</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pk</p></td> +<td class="parameter_description"><p>the public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>the security bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>a label</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cid</p></td> +<td class="parameter_description"><p>The CKA_ID to use for the new object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fmt</p></td> +<td class="parameter_description"><p>the format of output params. PEM or DER</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pubkey</p></td> +<td class="parameter_description"><p>will hold the public key (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>One of GNUTLS_KEY_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or an OR'ed sequence of <code class="literal">GNUTLS_PKCS11_OBJ_FLAGs</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-generate3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-privkey-export-pubkey"></a><h3>gnutls_pkcs11_privkey_export_pubkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_privkey_export_pubkey (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pkcs11-privkey-t" title="gnutls_pkcs11_privkey_t"><span class="type">gnutls_pkcs11_privkey_t</span></a> pkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> fmt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *pubkey</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will extract the public key (modulus and public +exponent) from the private key specified by the <em class="parameter"><code>url</code></em> + private key. +This public key will be stored in <em class="parameter"><code>pubkey</code></em> + in the format specified +by <em class="parameter"><code>fmt</code></em> +. <em class="parameter"><code>pubkey</code></em> + should be deinitialized using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-export-pubkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkey</p></td> +<td class="parameter_description"><p>The private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fmt</p></td> +<td class="parameter_description"><p>the format of output params. PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>will hold the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-privkey-export-pubkey.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.3.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-get-random"></a><h3>gnutls_pkcs11_token_get_random ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_token_get_random (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> +<p>This function will get random data from the given token. +It will store rnddata and fill the memory pointed to by rnddata with +len random bytes from the token.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-random.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>len</p></td> +<td class="parameter_description"><p>The number of bytes of randomness to request</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rnddata</p></td> +<td class="parameter_description"><p>A pointer to the memory area to be filled with random data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-get-random.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-copy-attached-extension"></a><h3>gnutls_pkcs11_copy_attached_extension ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs11_copy_attached_extension (<em class="parameter"><code>const <span class="type">char</span> *token_url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *label</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will copy an the attached extension in <em class="parameter"><code>data</code></em> + for +the certificate provided in <em class="parameter"><code>crt</code></em> + in the PKCS <span class="type">11</span> token specified +by the URL (typically a trust module). The extension must be in +RFC5280 Extension format.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-attached-extension.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>token_url</p></td> +<td class="parameter_description"><p>A PKCS <span class="type">11</span> URL specifying a token</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>An X.509 certificate object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the attached extension</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>label</p></td> +<td class="parameter_description"><p>A name to be used for the attached extension (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_FLAG_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs11-copy-attached-extension.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.3.8</p> +</div> +</div> +<div class="refsect1"> +<a name="gnutls-pkcs11.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-MAX-PIN-LEN:CAPS"></a><h3>GNUTLS_PKCS11_MAX_PIN_LEN</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_MAX_PIN_LEN 256 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-t"></a><h3>gnutls_pkcs11_obj_t</h3> +<pre class="programlisting">typedef struct gnutls_pkcs11_obj_st *gnutls_pkcs11_obj_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-FLAG-MANUAL:CAPS"></a><h3>GNUTLS_PKCS11_FLAG_MANUAL</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_FLAG_MANUAL 0 /* Manual loading of libraries */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-FLAG-AUTO:CAPS"></a><h3>GNUTLS_PKCS11_FLAG_AUTO</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_FLAG_AUTO 1 /* Automatically load libraries by reading /etc/gnutls/pkcs11.conf */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-FLAG-AUTO-TRUSTED:CAPS"></a><h3>GNUTLS_PKCS11_FLAG_AUTO_TRUSTED</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_FLAG_AUTO_TRUSTED (1<<1) /* Automatically load trusted libraries by reading /etc/gnutls/pkcs11.conf */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-flags"></a><h3>enum gnutls_pkcs11_obj_flags</h3> +<p>Enumeration of different PKCS <span class="type">11</span> object flags. Some flags are used +to mark objects when storing, while others are also used while seeking +or retrieving objects.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-flags.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-LOGIN:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_LOGIN</p></td> +<td class="enum_member_description"> +<p>Force login in the token for the operation (seek+store). </p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-TRUSTED:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED</p></td> +<td class="enum_member_description"> +<p>object marked as trusted (seek+store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-SENSITIVE:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE</p></td> +<td class="enum_member_description"> +<p>object is explicitly marked as sensitive -unexportable (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-LOGIN-SO:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO</p></td> +<td class="enum_member_description"> +<p>force login as a security officer in the token for the operation (seek+store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-PRIVATE:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE</p></td> +<td class="enum_member_description"> +<p>marked as private -requires PIN to access (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-NOT-PRIVATE:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE</p></td> +<td class="enum_member_description"> +<p>marked as not private (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-ANY:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_ANY</p></td> +<td class="enum_member_description"> +<p>When retrieving an object, do not set any requirements (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-TRUSTED:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED</p></td> +<td class="enum_member_description"> +<p>When retrieving an object, only retrieve the marked as trusted (alias to <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-TRUSTED:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED</code></a>). +In <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-crt-is-known" title="gnutls_pkcs11_crt_is_known ()"><code class="function">gnutls_pkcs11_crt_is_known()</code></a> it implies <code class="literal">GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_COMPARE</code> if <a class="link" href="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-COMPARE-KEY:CAPS"><code class="literal">GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY</code></a> is not given.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-DISTRUSTED:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_DISTRUSTED</p></td> +<td class="enum_member_description"> +<p>When writing an object, mark it as distrusted (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-DISTRUSTED:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED</p></td> +<td class="enum_member_description"> +<p>When retrieving an object, only retrieve the marked as distrusted (seek).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-COMPARE:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_COMPARE</p></td> +<td class="enum_member_description"> +<p>When checking an object's presence, fully compare it before returning any result (seek).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-PRESENT-IN-TRUSTED-MODULE:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE</p></td> +<td class="enum_member_description"> +<p>The object must be present in a marked as trusted module (seek).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-CA:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_CA</p></td> +<td class="enum_member_description"> +<p>Mark the object as a CA (seek+store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-KEY-WRAP:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_KEY_WRAP</p></td> +<td class="enum_member_description"> +<p>Mark the generated key pair as wrapping and unwrapping keys (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-COMPARE-KEY:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY</p></td> +<td class="enum_member_description"> +<p>When checking an object's presence, compare the key before returning any result (seek).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-OVERWRITE-TRUSTMOD-EXT:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT</p></td> +<td class="enum_member_description"> +<p>When an issuer is requested, override its extensions with the ones present in the trust module (seek).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-ALWAYS-AUTH:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_ALWAYS_AUTH</p></td> +<td class="enum_member_description"> +<p>Mark the key pair as requiring authentication (pin entry) before every operation (seek+store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-EXTRACTABLE:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_EXTRACTABLE</p></td> +<td class="enum_member_description"> +<p>Mark the key pair as being extractable (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-NEVER-EXTRACTABLE:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_NEVER_EXTRACTABLE</p></td> +<td class="enum_member_description"> +<p>If set, the object was never marked as extractable (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-CRT:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_CRT</p></td> +<td class="enum_member_description"> +<p>When searching, restrict to certificates only (seek).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-WITH-PRIVKEY:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-PUBKEY:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_PUBKEY</p></td> +<td class="enum_member_description"> +<p>When searching, restrict to public key objects only (seek).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-NO-STORE-PUBKEY:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_NO_STORE_PUBKEY</p></td> +<td class="enum_member_description"> +<p>When generating a keypair don't store the public key (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-PRIVKEY:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY</p></td> +<td class="enum_member_description"> +<p>When searching, restrict to private key objects only (seek).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-FLAG-MARK-NOT-SENSITIVE:CAPS"></a>GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE</p></td> +<td class="enum_member_description"> +<p>object marked as not sensitive -exportable (store).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-attr-t"></a><h3>gnutls_pkcs11_obj_attr_t</h3> +<pre class="programlisting">#define gnutls_pkcs11_obj_attr_t gnutls_pkcs11_obj_flags +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-url-type-t"></a><h3>enum gnutls_pkcs11_url_type_t</h3> +<p>Enumeration of different URL extraction flags.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-url-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-URL-GENERIC:CAPS"></a>GNUTLS_PKCS11_URL_GENERIC</p></td> +<td class="enum_member_description"> +<p>A generic-purpose URL.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-URL-LIB:CAPS"></a>GNUTLS_PKCS11_URL_LIB</p></td> +<td class="enum_member_description"> +<p>A URL that specifies the library used as well.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-URL-LIB-VERSION:CAPS"></a>GNUTLS_PKCS11_URL_LIB_VERSION</p></td> +<td class="enum_member_description"> +<p>A URL that specifies the library and its version.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-info-t"></a><h3>enum gnutls_pkcs11_obj_info_t</h3> +<p>Enumeration of several object information types.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-info-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-ID-HEX:CAPS"></a>GNUTLS_PKCS11_OBJ_ID_HEX</p></td> +<td class="enum_member_description"> +<p>The object ID in hex. Null-terminated text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-LABEL:CAPS"></a>GNUTLS_PKCS11_OBJ_LABEL</p></td> +<td class="enum_member_description"> +<p>The object label. Null-terminated text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-TOKEN-LABEL:CAPS"></a>GNUTLS_PKCS11_OBJ_TOKEN_LABEL</p></td> +<td class="enum_member_description"> +<p>The token's label. Null-terminated text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-TOKEN-SERIAL:CAPS"></a>GNUTLS_PKCS11_OBJ_TOKEN_SERIAL</p></td> +<td class="enum_member_description"> +<p>The token's serial number. Null-terminated text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-TOKEN-MANUFACTURER:CAPS"></a>GNUTLS_PKCS11_OBJ_TOKEN_MANUFACTURER</p></td> +<td class="enum_member_description"> +<p>The token's manufacturer. Null-terminated text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-TOKEN-MODEL:CAPS"></a>GNUTLS_PKCS11_OBJ_TOKEN_MODEL</p></td> +<td class="enum_member_description"> +<p>The token's model. Null-terminated text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-ID:CAPS"></a>GNUTLS_PKCS11_OBJ_ID</p></td> +<td class="enum_member_description"> +<p>The object ID. Raw bytes.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-LIBRARY-VERSION:CAPS"></a>GNUTLS_PKCS11_OBJ_LIBRARY_VERSION</p></td> +<td class="enum_member_description"> +<p>The library's version. Null-terminated text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-LIBRARY-DESCRIPTION:CAPS"></a>GNUTLS_PKCS11_OBJ_LIBRARY_DESCRIPTION</p></td> +<td class="enum_member_description"> +<p>The library's description. Null-terminated text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-LIBRARY-MANUFACTURER:CAPS"></a>GNUTLS_PKCS11_OBJ_LIBRARY_MANUFACTURER</p></td> +<td class="enum_member_description"> +<p>The library's manufacturer name. Null-terminated text.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-OBJ-ATTR-CRT-ALL:CAPS"></a><h3>GNUTLS_PKCS11_OBJ_ATTR_CRT_ALL</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_OBJ_ATTR_CRT_ALL GNUTLS_PKCS11_OBJ_FLAG_CRT +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-OBJ-ATTR-MATCH:CAPS"></a><h3>GNUTLS_PKCS11_OBJ_ATTR_MATCH</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_OBJ_ATTR_MATCH 0 /* always match the given URL */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-OBJ-ATTR-ALL:CAPS"></a><h3>GNUTLS_PKCS11_OBJ_ATTR_ALL</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_OBJ_ATTR_ALL 0 /* match everything! */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-OBJ-ATTR-CRT-TRUSTED:CAPS"></a><h3>GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED (GNUTLS_PKCS11_OBJ_FLAG_CRT|GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-OBJ-ATTR-CRT-WITH-PRIVKEY:CAPS"></a><h3>GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY (GNUTLS_PKCS11_OBJ_FLAG_CRT|GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-OBJ-ATTR-CRT-TRUSTED-CA:CAPS"></a><h3>GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA (GNUTLS_PKCS11_OBJ_FLAG_CRT|GNUTLS_PKCS11_OBJ_FLAG_MARK_CA|GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-OBJ-ATTR-PUBKEY:CAPS"></a><h3>GNUTLS_PKCS11_OBJ_ATTR_PUBKEY</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_OBJ_ATTR_PUBKEY GNUTLS_PKCS11_OBJ_FLAG_PUBKEY +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-OBJ-ATTR-PRIVKEY:CAPS"></a><h3>GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-token-info-t"></a><h3>enum gnutls_pkcs11_token_info_t</h3> +<p>Enumeration of types for retrieving token information.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-token-info-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-TOKEN-LABEL:CAPS"></a>GNUTLS_PKCS11_TOKEN_LABEL</p></td> +<td class="enum_member_description"> +<p>The token's label (string)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-TOKEN-SERIAL:CAPS"></a>GNUTLS_PKCS11_TOKEN_SERIAL</p></td> +<td class="enum_member_description"> +<p>The token's serial number (string)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-TOKEN-MANUFACTURER:CAPS"></a>GNUTLS_PKCS11_TOKEN_MANUFACTURER</p></td> +<td class="enum_member_description"> +<p>The token's manufacturer (string)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-TOKEN-MODEL:CAPS"></a>GNUTLS_PKCS11_TOKEN_MODEL</p></td> +<td class="enum_member_description"> +<p>The token's model (string)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-TOKEN-MODNAME:CAPS"></a>GNUTLS_PKCS11_TOKEN_MODNAME</p></td> +<td class="enum_member_description"> +<p>The token's module name (string - since 3.4.3). This value is +unavailable for providers which were manually loaded.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-type-t"></a><h3>enum gnutls_pkcs11_obj_type_t</h3> +<p>Enumeration of object types.</p> +<div class="refsect3"> +<a name="gnutls-pkcs11-obj-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-UNKNOWN:CAPS"></a>GNUTLS_PKCS11_OBJ_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown PKCS11 object.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-X509-CRT:CAPS"></a>GNUTLS_PKCS11_OBJ_X509_CRT</p></td> +<td class="enum_member_description"> +<p>X.509 certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-PUBKEY:CAPS"></a>GNUTLS_PKCS11_OBJ_PUBKEY</p></td> +<td class="enum_member_description"> +<p>Public key.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-PRIVKEY:CAPS"></a>GNUTLS_PKCS11_OBJ_PRIVKEY</p></td> +<td class="enum_member_description"> +<p>Private key.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-SECRET-KEY:CAPS"></a>GNUTLS_PKCS11_OBJ_SECRET_KEY</p></td> +<td class="enum_member_description"> +<p>Secret key.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-DATA:CAPS"></a>GNUTLS_PKCS11_OBJ_DATA</p></td> +<td class="enum_member_description"> +<p>Data object.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS11-OBJ-X509-CRT-EXTENSION:CAPS"></a>GNUTLS_PKCS11_OBJ_X509_CRT_EXTENSION</p></td> +<td class="enum_member_description"> +<p>X.509 certificate extension (supported by p11-kit trust module only).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-HW:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_HW</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_HW 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-TRUSTED:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_TRUSTED</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_TRUSTED (1<<1) /* p11-kit trusted */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-RNG:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_RNG</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_RNG (1<<2) /* CKF_RNG */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-LOGIN-REQUIRED:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED (1<<3) /* CKF_LOGIN_REQUIRED */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-PROTECTED-AUTHENTICATION-PATH:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH (1<<4) /* CKF_PROTECTED_AUTHENTICATION_PATH */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-INITIALIZED:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_INITIALIZED</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_INITIALIZED (1<<5) /* CKF_TOKEN_INITIALIZED */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-USER-PIN-COUNT-LOW:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_USER_PIN_COUNT_LOW</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_USER_PIN_COUNT_LOW (1<<6) /* CKF_USER_PIN_COUNT_LOW */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-USER-PIN-FINAL-TRY:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_USER_PIN_FINAL_TRY</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_USER_PIN_FINAL_TRY (1<<7) /* CKF_USER_PIN_FINAL_TRY */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-USER-PIN-LOCKED:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_USER_PIN_LOCKED</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_USER_PIN_LOCKED (1<<8) /* CKF_USER_PIN_LOCKED */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-SO-PIN-COUNT-LOW:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_SO_PIN_COUNT_LOW</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_SO_PIN_COUNT_LOW (1<<9) /* CKF_SO_PIN_COUNT_LOW */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-SO-PIN-FINAL-TRY:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_SO_PIN_FINAL_TRY</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_SO_PIN_FINAL_TRY (1<<10) /* CKF_SO_PIN_FINAL_TRY */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-SO-PIN-LOCKED:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_SO_PIN_LOCKED</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_SO_PIN_LOCKED (1<<11) /* CKF_SO_PIN_LOCKED */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-USER-PIN-INITIALIZED:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_USER_PIN_INITIALIZED</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_USER_PIN_INITIALIZED (1<<12) /* CKF_USER_PIN_INITIALIZED */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS11-TOKEN-ERROR-STATE:CAPS"></a><h3>GNUTLS_PKCS11_TOKEN_ERROR_STATE</h3> +<pre class="programlisting">#define GNUTLS_PKCS11_TOKEN_ERROR_STATE (1<<13) /* CKF_ERROR_STATE */ +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-import-pkcs11-url"></a><h3>gnutls_x509_crt_import_pkcs11_url</h3> +<pre class="programlisting">#define gnutls_x509_crt_import_pkcs11_url gnutls_x509_crt_import_url +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs11-obj-st"></a><h3>struct gnutls_pkcs11_obj_st</h3> +<pre class="programlisting">struct gnutls_pkcs11_obj_st { + gnutls_datum_t raw; + gnutls_pkcs11_obj_type_t type; + ck_object_class_t class; + + unsigned int flags; + struct p11_kit_uri *info; + + /* only when pubkey */ + gnutls_datum_t pubkey[MAX_PUBLIC_PARAMS_SIZE]; + unsigned pubkey_size; + gnutls_pk_algorithm_t pk_algorithm; + unsigned int key_usage; + + struct pin_info_st pin; +}; +</pre> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-pkcs12.html b/doc/reference/html/gnutls-pkcs12.html new file mode 100644 index 0000000..0597447 --- /dev/null +++ b/doc/reference/html/gnutls-pkcs12.html @@ -0,0 +1,1589 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>pkcs12: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-pkcs11.html" title="pkcs11"> +<link rel="next" href="gnutls-ocsp.html" title="ocsp"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-pkcs12.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="gnutls-pkcs11.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-ocsp.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-pkcs12"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-pkcs12.top_of_page"></a>pkcs12</span></h2> +<p>pkcs12</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-pkcs12.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-init" title="gnutls_pkcs12_init ()">gnutls_pkcs12_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-deinit" title="gnutls_pkcs12_deinit ()">gnutls_pkcs12_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-import" title="gnutls_pkcs12_import ()">gnutls_pkcs12_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-export" title="gnutls_pkcs12_export ()">gnutls_pkcs12_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-export2" title="gnutls_pkcs12_export2 ()">gnutls_pkcs12_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-get-bag" title="gnutls_pkcs12_get_bag ()">gnutls_pkcs12_get_bag</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-set-bag" title="gnutls_pkcs12_set_bag ()">gnutls_pkcs12_set_bag</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-generate-mac" title="gnutls_pkcs12_generate_mac ()">gnutls_pkcs12_generate_mac</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-generate-mac2" title="gnutls_pkcs12_generate_mac2 ()">gnutls_pkcs12_generate_mac2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-verify-mac" title="gnutls_pkcs12_verify_mac ()">gnutls_pkcs12_verify_mac</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-decrypt" title="gnutls_pkcs12_bag_decrypt ()">gnutls_pkcs12_bag_decrypt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-encrypt" title="gnutls_pkcs12_bag_encrypt ()">gnutls_pkcs12_bag_encrypt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-enc-info" title="gnutls_pkcs12_bag_enc_info ()">gnutls_pkcs12_bag_enc_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-mac-info" title="gnutls_pkcs12_mac_info ()">gnutls_pkcs12_mac_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-simple-parse" title="gnutls_pkcs12_simple_parse ()">gnutls_pkcs12_simple_parse</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-data" title="gnutls_pkcs12_bag_get_data ()">gnutls_pkcs12_bag_get_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-data" title="gnutls_pkcs12_bag_set_data ()">gnutls_pkcs12_bag_set_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-crl" title="gnutls_pkcs12_bag_set_crl ()">gnutls_pkcs12_bag_set_crl</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-crt" title="gnutls_pkcs12_bag_set_crt ()">gnutls_pkcs12_bag_set_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-privkey" title="gnutls_pkcs12_bag_set_privkey ()">gnutls_pkcs12_bag_set_privkey</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-init" title="gnutls_pkcs12_bag_init ()">gnutls_pkcs12_bag_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-deinit" title="gnutls_pkcs12_bag_deinit ()">gnutls_pkcs12_bag_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-count" title="gnutls_pkcs12_bag_get_count ()">gnutls_pkcs12_bag_get_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-key-id" title="gnutls_pkcs12_bag_get_key_id ()">gnutls_pkcs12_bag_get_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-key-id" title="gnutls_pkcs12_bag_set_key_id ()">gnutls_pkcs12_bag_set_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-friendly-name" title="gnutls_pkcs12_bag_get_friendly_name ()">gnutls_pkcs12_bag_get_friendly_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-friendly-name" title="gnutls_pkcs12_bag_set_friendly_name ()">gnutls_pkcs12_bag_set_friendly_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-pkcs12.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t">gnutls_pkcs12_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t">gnutls_pkcs12_bag_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-pkcs12.html#GNUTLS-PKCS12-SP-INCLUDE-SELF-SIGNED:CAPS" title="GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED">GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t" title="enum gnutls_pkcs12_bag_type_t">gnutls_pkcs12_bag_type_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-int" title="gnutls_pkcs12_bag_int">gnutls_pkcs12_bag_int</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-int" title="gnutls_pkcs12_int">gnutls_pkcs12_int</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-pkcs12.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-pkcs12.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gnutls-pkcs12-init"></a><h3>gnutls_pkcs12_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_init (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> *pkcs12</code></em>);</pre> +<p>This function will initialize a PKCS12 type. PKCS12 structures +usually contain lists of X.509 Certificates and X.509 Certificate +revocation lists.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-deinit"></a><h3>gnutls_pkcs12_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pkcs12_deinit (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>);</pre> +<p>This function will deinitialize a PKCS12 type.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>The type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-import"></a><h3>gnutls_pkcs12_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_import (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will convert the given DER or PEM encoded PKCS12 +to the native gnutls_pkcs12_t format. The output will be stored in 'pkcs12'.</p> +<p>If the PKCS12 is PEM encoded it should have a header of "PKCS12".</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-import.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>The data to store the parsed PKCS12.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The DER or PEM encoded PKCS12.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>an ORed sequence of gnutls_privkey_pkcs8_flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-import.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-export"></a><h3>gnutls_pkcs12_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_export (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will export the pkcs12 structure to DER or PEM format.</p> +<p>If the buffer provided is not long enough to hold the output, then +*output_data_size will be updated and GNUTLS_E_SHORT_MEMORY_BUFFER +will be returned.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN PKCS12".</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-export.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>A pkcs12 type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain a structure PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-export.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-export2"></a><h3>gnutls_pkcs12_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_export2 (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the pkcs12 structure to DER or PEM format.</p> +<p>The output buffer is allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN PKCS12".</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-export2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>A pkcs12 type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain a structure PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-export2.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-get-bag"></a><h3>gnutls_pkcs12_get_bag ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_get_bag (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>, + <em class="parameter"><code><span class="type">int</span> indx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);</pre> +<p>This function will return a Bag from the PKCS12 structure.</p> +<p>After the last Bag has been read +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be returned.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-get-bag.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>A pkcs12 type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>contains the index of the bag to extract</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>An initialized bag, where the contents of the bag will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-get-bag.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-set-bag"></a><h3>gnutls_pkcs12_set_bag ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_set_bag (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);</pre> +<p>This function will insert a Bag into the PKCS12 structure.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-set-bag.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>should contain a gnutls_pkcs12_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>An initialized bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-set-bag.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-generate-mac"></a><h3>gnutls_pkcs12_generate_mac ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_generate_mac (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);</pre> +<p>This function will generate a MAC for the PKCS12 structure.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-generate-mac.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>A pkcs12 type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>The password for the MAC</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-generate-mac.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-generate-mac2"></a><h3>gnutls_pkcs12_generate_mac2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_generate_mac2 (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> mac</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);</pre> +<p>This function will generate a MAC for the PKCS12 structure.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-generate-mac2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>A pkcs12 type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mac</p></td> +<td class="parameter_description"><p>the MAC algorithm to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>The password for the MAC</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-generate-mac2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-verify-mac"></a><h3>gnutls_pkcs12_verify_mac ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_verify_mac (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);</pre> +<p>This function will verify the MAC for the PKCS12 structure.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-verify-mac.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>should contain a gnutls_pkcs12_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>The password for the MAC</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-verify-mac.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-decrypt"></a><h3>gnutls_pkcs12_bag_decrypt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_decrypt (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);</pre> +<p>This function will decrypt the given encrypted bag and return 0 on +success.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-decrypt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>The password used for encryption, must be ASCII.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-decrypt.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-encrypt"></a><h3>gnutls_pkcs12_bag_encrypt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_encrypt (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will encrypt the given bag.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-encrypt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>The password used for encryption, must be ASCII</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be one of <a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t"><span class="type">gnutls_pkcs_encrypt_flags_t</span></a> elements bitwise or'd</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-encrypt.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-enc-info"></a><h3>gnutls_pkcs12_bag_enc_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_enc_info (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *schema</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *cipher</code></em>, + <em class="parameter"><code><span class="type">void</span> *salt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *salt_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *iter_count</code></em>, + <em class="parameter"><code><span class="type">char</span> **oid</code></em>);</pre> +<p>This function will provide information on the encryption algorithms used +in an encrypted bag. If the structure algorithms +are unknown the code <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_TYPE"><code class="literal">GNUTLS_E_UNKNOWN_CIPHER_TYPE</code></a> will be returned, +and only <em class="parameter"><code>oid</code></em> +, will be set. That is, <em class="parameter"><code>oid</code></em> + will be set on encrypted bags +whether supported or not. It must be deinitialized using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>. +The other variables are only set on supported structures.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-enc-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>schema</p></td> +<td class="parameter_description"><p>indicate the schema as one of <a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t"><code class="literal">gnutls_pkcs_encrypt_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cipher</p></td> +<td class="parameter_description"><p>the cipher used as <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><code class="literal">gnutls_cipher_algorithm_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt</p></td> +<td class="parameter_description"><p>PBKDF2 salt (if non-NULL then <em class="parameter"><code>salt_size</code></em> +initially holds its size)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt_size</p></td> +<td class="parameter_description"><p>PBKDF2 salt size</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iter_count</p></td> +<td class="parameter_description"><p>PBKDF2 iteration count</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>if non-NULL it will contain an allocated null-terminated variable with the OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-enc-info.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> if the provided bag isn't encrypted, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_TYPE"><code class="literal">GNUTLS_E_UNKNOWN_CIPHER_TYPE</code></a> if the structure's encryption isn't supported, or +another negative error code in case of a failure. Zero on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-mac-info"></a><h3>gnutls_pkcs12_mac_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_mac_info (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *mac</code></em>, + <em class="parameter"><code><span class="type">void</span> *salt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *salt_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *iter_count</code></em>, + <em class="parameter"><code><span class="type">char</span> **oid</code></em>);</pre> +<p>This function will provide information on the MAC algorithm used +in a PKCS <span class="type">12</span> structure. If the structure algorithms +are unknown the code <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-HASH-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_HASH_ALGORITHM"><code class="literal">GNUTLS_E_UNKNOWN_HASH_ALGORITHM</code></a> will be returned, +and only <em class="parameter"><code>oid</code></em> +, will be set. That is, <em class="parameter"><code>oid</code></em> + will be set on structures +with a MAC whether supported or not. It must be deinitialized using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>. +The other variables are only set on supported structures.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-mac-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pkcs12</p></td> +<td class="parameter_description"><p>A pkcs12 type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mac</p></td> +<td class="parameter_description"><p>the MAC algorithm used as <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><code class="literal">gnutls_mac_algorithm_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt</p></td> +<td class="parameter_description"><p>the salt used for string to key (if non-NULL then <em class="parameter"><code>salt_size</code></em> +initially holds its size)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt_size</p></td> +<td class="parameter_description"><p>string to key salt size</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iter_count</p></td> +<td class="parameter_description"><p>string to key iteration count</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>if non-NULL it will contain an allocated null-terminated variable with the OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-mac-info.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> if the provided structure doesn't contain a MAC, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-HASH-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_HASH_ALGORITHM"><code class="literal">GNUTLS_E_UNKNOWN_HASH_ALGORITHM</code></a> if the structure's MAC isn't supported, or +another negative error code in case of a failure. Zero on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-simple-parse"></a><h3>gnutls_pkcs12_simple_parse ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_simple_parse (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> p12</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> *key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> **chain</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *chain_len</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> **extra_certs</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *extra_certs_len</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> *crl</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function parses a PKCS12 structure in <em class="parameter"><code>pkcs12</code></em> + and extracts the +private key, the corresponding certificate chain, any additional +certificates and a CRL. The structures in <em class="parameter"><code>key</code></em> +, <em class="parameter"><code>chain</code></em> + <em class="parameter"><code>crl</code></em> +, and <em class="parameter"><code>extra_certs</code></em> + +must not be initialized.</p> +<p>The <em class="parameter"><code>extra_certs</code></em> + and <em class="parameter"><code>extra_certs_len</code></em> + parameters are optional +and both may be set to <code class="literal">NULL</code>. If either is non-<code class="literal">NULL</code>, then both must +be set. The value for <em class="parameter"><code>extra_certs</code></em> + is allocated +using <code class="function">gnutls_malloc()</code>.</p> +<p>Encrypted PKCS12 bags and PKCS8 private keys are supported, but +only with password based security and the same password for all +operations.</p> +<p>Note that a PKCS12 structure may contain many keys and/or certificates, +and there is no way to identify which key/certificate pair you want. +For this reason this function is useful for PKCS12 files that contain +only one key/certificate pair and/or one CRL.</p> +<p>If the provided structure has encrypted fields but no password +is provided then this function returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_DECRYPTION_FAILED"><code class="literal">GNUTLS_E_DECRYPTION_FAILED</code></a>.</p> +<p>Note that normally the chain constructed does not include self signed +certificates, to comply with TLS' requirements. If, however, the flag +<a class="link" href="gnutls-pkcs12.html#GNUTLS-PKCS12-SP-INCLUDE-SELF-SIGNED:CAPS" title="GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED"><code class="literal">GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED</code></a> is specified then +self signed certificates will be included in the chain.</p> +<p>Prior to using this function the PKCS <span class="type">12</span> structure integrity must +be verified using <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-verify-mac" title="gnutls_pkcs12_verify_mac ()"><code class="function">gnutls_pkcs12_verify_mac()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-simple-parse.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>p12</p></td> +<td class="parameter_description"><p>A pkcs12 type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>optional password used to decrypt the structure, bags and keys.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a structure to store the parsed private key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>chain</p></td> +<td class="parameter_description"><p>the corresponding to key certificate chain (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>chain_len</p></td> +<td class="parameter_description"><p>will be updated with the number of additional (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extra_certs</p></td> +<td class="parameter_description"><p>optional pointer to receive an array of additional +certificates found in the PKCS12 structure (may be <code class="literal">NULL</code>).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extra_certs_len</p></td> +<td class="parameter_description"><p>will be updated with the number of additional +certs (may be <code class="literal">NULL</code>).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>an optional structure to store the parsed CRL (may be <code class="literal">NULL</code>).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero or one of GNUTLS_PKCS12_SP_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-simple-parse.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-get-data"></a><h3>gnutls_pkcs12_bag_get_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_get_data (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +<p>This function will return the bag's data. The data is a constant +that is stored into the bag. Should not be accessed after the bag +is deleted.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-get-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>The element of the bag to get the data from</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>where the bag's data will be. Should be treated as constant.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-get-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-set-data"></a><h3>gnutls_pkcs12_bag_set_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_set_data (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t" title="enum gnutls_pkcs12_bag_type_t"><span class="type">gnutls_pkcs12_bag_type_t</span></a> type</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +<p>This function will insert the given data of the given type into +the bag.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The data's type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the data to be copied.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-data.returns"></a><h4>Returns</h4> +<p> the index of the added bag on success, or a negative +value on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-set-crl"></a><h3>gnutls_pkcs12_bag_set_crl ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_set_crl (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>);</pre> +<p>This function will insert the given CRL into the +bag. This is just a wrapper over <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-data" title="gnutls_pkcs12_bag_set_data ()"><code class="function">gnutls_pkcs12_bag_set_data()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-crl.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>the CRL to be copied.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-crl.returns"></a><h4>Returns</h4> +<p> the index of the added bag on success, or a negative error code +on failure.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-set-crt"></a><h3>gnutls_pkcs12_bag_set_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_set_crt (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>);</pre> +<p>This function will insert the given certificate into the +bag. This is just a wrapper over <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-data" title="gnutls_pkcs12_bag_set_data ()"><code class="function">gnutls_pkcs12_bag_set_data()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-crt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>the certificate to be copied.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-crt.returns"></a><h4>Returns</h4> +<p> the index of the added bag on success, or a negative +value on failure.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-set-privkey"></a><h3>gnutls_pkcs12_bag_set_privkey ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_set_privkey (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> privkey</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will insert the given private key into the +bag. This is just a wrapper over <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-data" title="gnutls_pkcs12_bag_set_data ()"><code class="function">gnutls_pkcs12_bag_set_data()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-privkey.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>privkey</p></td> +<td class="parameter_description"><p>the private key to be copied.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>the password to protect the key with (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be one of <a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t"><span class="type">gnutls_pkcs_encrypt_flags_t</span></a> elements bitwise or'd</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-privkey.returns"></a><h4>Returns</h4> +<p> the index of the added bag on success, or a negative +value on failure.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-init"></a><h3>gnutls_pkcs12_bag_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_init (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> *bag</code></em>);</pre> +<p>This function will initialize a PKCS12 bag structure. PKCS12 Bags +usually contain private keys, lists of X.509 Certificates and X.509 +Certificate revocation lists.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-deinit"></a><h3>gnutls_pkcs12_bag_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_pkcs12_bag_deinit (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);</pre> +<p>This function will deinitialize a PKCS12 Bag structure.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-get-count"></a><h3>gnutls_pkcs12_bag_get_count ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_get_count (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);</pre> +<p>This function will return the number of the elements within the bag.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-get-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-get-count.returns"></a><h4>Returns</h4> +<p> Number of elements in bag, or an negative error code on +error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-get-key-id"></a><h3>gnutls_pkcs12_bag_get_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_get_key_id (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *id</code></em>);</pre> +<p>This function will return the key ID, of the specified bag element. +The key ID is usually used to distinguish the local private key and +the certificate pair.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-get-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>The bag's element to add the id</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>where the ID will be copied (to be treated as const)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-get-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-set-key-id"></a><h3>gnutls_pkcs12_bag_set_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_set_key_id (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *id</code></em>);</pre> +<p>This function will add the given key ID, to the specified, by the +index, bag element. The key ID will be encoded as a 'Local key +identifier' bag attribute, which is usually used to distinguish +the local private key and the certificate pair.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>The bag's element to add the id</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>the ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-get-friendly-name"></a><h3>gnutls_pkcs12_bag_get_friendly_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_get_friendly_name (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">char</span> **name</code></em>);</pre> +<p>This function will return the friendly name, of the specified bag +element. The key ID is usually used to distinguish the local +private key and the certificate pair.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-get-friendly-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>The bag's element to add the id</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>will hold a pointer to the name (to be treated as const)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-get-friendly-name.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-set-friendly-name"></a><h3>gnutls_pkcs12_bag_set_friendly_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs12_bag_set_friendly_name (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre> +<p>This function will add the given key friendly name, to the +specified, by the index, bag element. The name will be encoded as +a 'Friendly name' bag attribute, which is usually used to set a +user name to the local private key and the certificate pair.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-friendly-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>bag</p></td> +<td class="parameter_description"><p>The bag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>The bag's element to add the id</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>the name</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-set-friendly-name.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. or a negative error code on error.</p> +</div> +</div> +</div> +<div class="refsect1"> +<a name="gnutls-pkcs12.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="gnutls-pkcs12-t"></a><h3>gnutls_pkcs12_t</h3> +<pre class="programlisting">typedef struct gnutls_pkcs12_int *gnutls_pkcs12_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-t"></a><h3>gnutls_pkcs12_bag_t</h3> +<pre class="programlisting">typedef struct gnutls_pkcs12_bag_int *gnutls_pkcs12_bag_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS12-SP-INCLUDE-SELF-SIGNED:CAPS"></a><h3>GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED</h3> +<pre class="programlisting">#define GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-type-t"></a><h3>enum gnutls_pkcs12_bag_type_t</h3> +<p>Enumeration of different PKCS 12 bag types.</p> +<div class="refsect3"> +<a name="gnutls-pkcs12-bag-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-BAG-EMPTY:CAPS"></a>GNUTLS_BAG_EMPTY</p></td> +<td class="enum_member_description"> +<p>Empty PKCS-12 bag.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-BAG-PKCS8-ENCRYPTED-KEY:CAPS"></a>GNUTLS_BAG_PKCS8_ENCRYPTED_KEY</p></td> +<td class="enum_member_description"> +<p>PKCS-12 bag with PKCS-8 encrypted key.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-BAG-PKCS8-KEY:CAPS"></a>GNUTLS_BAG_PKCS8_KEY</p></td> +<td class="enum_member_description"> +<p>PKCS-12 bag with PKCS-8 key.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-BAG-CERTIFICATE:CAPS"></a>GNUTLS_BAG_CERTIFICATE</p></td> +<td class="enum_member_description"> +<p>PKCS-12 bag with certificate.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-BAG-CRL:CAPS"></a>GNUTLS_BAG_CRL</p></td> +<td class="enum_member_description"> +<p>PKCS-12 bag with CRL.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-BAG-SECRET:CAPS"></a>GNUTLS_BAG_SECRET</p></td> +<td class="enum_member_description"> +<p>PKCS-12 bag with secret PKCS-9 keys.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-BAG-ENCRYPTED:CAPS"></a>GNUTLS_BAG_ENCRYPTED</p></td> +<td class="enum_member_description"> +<p>Encrypted PKCS-12 bag.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-BAG-UNKNOWN:CAPS"></a>GNUTLS_BAG_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown PKCS-12 bag.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-bag-int"></a><h3>gnutls_pkcs12_bag_int</h3> +<pre class="programlisting">typedef struct { + struct bag_element element[MAX_BAG_ELEMENTS]; + unsigned bag_elements; +} gnutls_pkcs12_bag_int; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs12-int"></a><h3>gnutls_pkcs12_int</h3> +<pre class="programlisting">typedef struct { + asn1_node pkcs12; + unsigned expanded; +} gnutls_pkcs12_int; +</pre> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-tpm.html b/doc/reference/html/gnutls-tpm.html new file mode 100644 index 0000000..8a58d7a --- /dev/null +++ b/doc/reference/html/gnutls-tpm.html @@ -0,0 +1,429 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>tpm: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-dtls.html" title="dtls"> +<link rel="next" href="api-index-full.html" title="API Index"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-tpm.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="gnutls-dtls.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-tpm"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-tpm.top_of_page"></a>tpm</span></h2> +<p>tpm</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-tpm.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-privkey-generate" title="gnutls_tpm_privkey_generate ()">gnutls_tpm_privkey_generate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-key-list-deinit" title="gnutls_tpm_key_list_deinit ()">gnutls_tpm_key_list_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-key-list-get-url" title="gnutls_tpm_key_list_get_url ()">gnutls_tpm_key_list_get_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-get-registered" title="gnutls_tpm_get_registered ()">gnutls_tpm_get_registered</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-tpm.html#gnutls-tpm-privkey-delete" title="gnutls_tpm_privkey_delete ()">gnutls_tpm_privkey_delete</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-tpm.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-tpm.html#gnutls-tpm-key-list-t" title="gnutls_tpm_key_list_t">gnutls_tpm_key_list_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-tpm.html#GNUTLS-TPM-KEY-SIGNING:CAPS" title="GNUTLS_TPM_KEY_SIGNING">GNUTLS_TPM_KEY_SIGNING</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-tpm.html#GNUTLS-TPM-REGISTER-KEY:CAPS" title="GNUTLS_TPM_REGISTER_KEY">GNUTLS_TPM_REGISTER_KEY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-tpm.html#GNUTLS-TPM-KEY-USER:CAPS" title="GNUTLS_TPM_KEY_USER">GNUTLS_TPM_KEY_USER</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-tpm.html#gnutls-tpmkey-fmt-t" title="enum gnutls_tpmkey_fmt_t">gnutls_tpmkey_fmt_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">struct</td> +<td class="function_name"><a class="link" href="gnutls-tpm.html#tpm-key-list-st" title="struct tpm_key_list_st">tpm_key_list_st</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-tpm.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-tpm.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gnutls-tpm-privkey-generate"></a><h3>gnutls_tpm_privkey_generate ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_tpm_privkey_generate (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> pk</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *srk_password</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *key_password</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-tpm.html#gnutls-tpmkey-fmt-t" title="enum gnutls_tpmkey_fmt_t"><span class="type">gnutls_tpmkey_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> pub_format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *privkey</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *pubkey</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will generate a private key in the TPM +chip. The private key will be generated within the chip +and will be exported in a wrapped with TPM's master key +form. Furthermore the wrapped key can be protected with +the provided <em class="parameter"><code>password</code></em> +.</p> +<p>Note that bits in TPM is quantized value. If the input value +is not one of the allowed values, then it will be quantized to +one of 512, 1024, 2048, 4096, 8192 and 16384.</p> +<p>Allowed flags are:</p> +<p><a class="link" href="gnutls-tpm.html#GNUTLS-TPM-KEY-SIGNING:CAPS" title="GNUTLS_TPM_KEY_SIGNING"><code class="literal">GNUTLS_TPM_KEY_SIGNING</code></a>: Generate a signing key instead of a legacy,</p> +<p><a class="link" href="gnutls-tpm.html#GNUTLS-TPM-REGISTER-KEY:CAPS" title="GNUTLS_TPM_REGISTER_KEY"><code class="literal">GNUTLS_TPM_REGISTER_KEY</code></a>: Register the generate key in TPM. In that +case <em class="parameter"><code>privkey</code></em> + would contain a URL with the UUID.</p> +<div class="refsect3"> +<a name="gnutls-tpm-privkey-generate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pk</p></td> +<td class="parameter_description"><p>the public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>the security bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>srk_password</p></td> +<td class="parameter_description"><p>a password to protect the exported key (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_password</p></td> +<td class="parameter_description"><p>the password for the TPM (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pub_format</p></td> +<td class="parameter_description"><p>the format of the public key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>privkey</p></td> +<td class="parameter_description"><p>the generated key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pubkey</p></td> +<td class="parameter_description"><p>the corresponding public key (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be a list of GNUTLS_TPM_* flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-tpm-privkey-generate.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tpm-key-list-deinit"></a><h3>gnutls_tpm_key_list_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_tpm_key_list_deinit (<em class="parameter"><code><a class="link" href="gnutls-tpm.html#gnutls-tpm-key-list-t" title="gnutls_tpm_key_list_t"><span class="type">gnutls_tpm_key_list_t</span></a> list</code></em>);</pre> +<p>This function will deinitialize the list of stored keys in the TPM.</p> +<div class="refsect3"> +<a name="gnutls-tpm-key-list-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>a list of the keys</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tpm-key-list-get-url"></a><h3>gnutls_tpm_key_list_get_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_tpm_key_list_get_url (<em class="parameter"><code><a class="link" href="gnutls-tpm.html#gnutls-tpm-key-list-t" title="gnutls_tpm_key_list_t"><span class="type">gnutls_tpm_key_list_t</span></a> list</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>, + <em class="parameter"><code><span class="type">char</span> **url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return for each given index a URL of +the corresponding key. +If the provided index is out of bounds then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +is returned.</p> +<div class="refsect3"> +<a name="gnutls-tpm-key-list-get-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>a list of the keys</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>The index of the key (starting from zero)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>The URL to be returned</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-tpm-key-list-get-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tpm-get-registered"></a><h3>gnutls_tpm_get_registered ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_tpm_get_registered (<em class="parameter"><code><a class="link" href="gnutls-tpm.html#gnutls-tpm-key-list-t" title="gnutls_tpm_key_list_t"><span class="type">gnutls_tpm_key_list_t</span></a> *list</code></em>);</pre> +<p>This function will get a list of stored keys in the TPM. The uuid +of those keys</p> +<div class="refsect3"> +<a name="gnutls-tpm-get-registered.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>a list to store the keys</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-tpm-get-registered.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tpm-privkey-delete"></a><h3>gnutls_tpm_privkey_delete ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_tpm_privkey_delete (<em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *srk_password</code></em>);</pre> +<p>This function will unregister the private key from the TPM +chip.</p> +<div class="refsect3"> +<a name="gnutls-tpm-privkey-delete.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>the URL describing the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>srk_password</p></td> +<td class="parameter_description"><p>a password for the SRK key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-tpm-privkey-delete.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="gnutls-tpm.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="gnutls-tpm-key-list-t"></a><h3>gnutls_tpm_key_list_t</h3> +<pre class="programlisting">typedef struct tpm_key_list_st *gnutls_tpm_key_list_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-TPM-KEY-SIGNING:CAPS"></a><h3>GNUTLS_TPM_KEY_SIGNING</h3> +<pre class="programlisting">#define GNUTLS_TPM_KEY_SIGNING (1<<1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-TPM-REGISTER-KEY:CAPS"></a><h3>GNUTLS_TPM_REGISTER_KEY</h3> +<pre class="programlisting">#define GNUTLS_TPM_REGISTER_KEY (1<<2) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-TPM-KEY-USER:CAPS"></a><h3>GNUTLS_TPM_KEY_USER</h3> +<pre class="programlisting">#define GNUTLS_TPM_KEY_USER (1<<3) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-tpmkey-fmt-t"></a><h3>enum gnutls_tpmkey_fmt_t</h3> +<p>Enumeration of different certificate encoding formats.</p> +<div class="refsect3"> +<a name="gnutls-tpmkey-fmt-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TPMKEY-FMT-RAW:CAPS"></a>GNUTLS_TPMKEY_FMT_RAW</p></td> +<td class="enum_member_description"> +<p>The portable data format.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TPMKEY-FMT-DER:CAPS"></a>GNUTLS_TPMKEY_FMT_DER</p></td> +<td class="enum_member_description"> +<p>An alias for the raw format.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TPMKEY-FMT-CTK-PEM:CAPS"></a>GNUTLS_TPMKEY_FMT_CTK_PEM</p></td> +<td class="enum_member_description"> +<p>A custom data format used by some TPM tools.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="tpm-key-list-st"></a><h3>struct tpm_key_list_st</h3> +<pre class="programlisting">struct tpm_key_list_st;</pre> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls-x509.html b/doc/reference/html/gnutls-x509.html new file mode 100644 index 0000000..8f48643 --- /dev/null +++ b/doc/reference/html/gnutls-x509.html @@ -0,0 +1,19834 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>x509: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="intro.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="gnutls-abstract.html" title="abstract"> +<link rel="next" href="gnutls-openpgp.html" title="openpgp"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#gnutls-x509.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="gnutls-abstract.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-openpgp.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="gnutls-x509"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="gnutls-x509.top_of_page"></a>x509</span></h2> +<p>x509</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="gnutls-x509.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-init" title="gnutls_x509_crt_init ()">gnutls_x509_crt_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()">gnutls_x509_crt_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-flags" title="gnutls_x509_crt_set_flags ()">gnutls_x509_crt_set_flags</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-equals" title="gnutls_x509_crt_equals ()">gnutls_x509_crt_equals</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-equals2" title="gnutls_x509_crt_equals2 ()">gnutls_x509_crt_equals2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-import" title="gnutls_x509_crt_import ()">gnutls_x509_crt_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-import2" title="gnutls_x509_crt_list_import2 ()">gnutls_x509_crt_list_import2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-import" title="gnutls_x509_crt_list_import ()">gnutls_x509_crt_list_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-import-url" title="gnutls_x509_crt_import_url ()">gnutls_x509_crt_import_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-import-url" title="gnutls_x509_crt_list_import_url ()">gnutls_x509_crt_list_import_url</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-export" title="gnutls_x509_crt_export ()">gnutls_x509_crt_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-export2" title="gnutls_x509_crt_export2 ()">gnutls_x509_crt_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-private-key-usage-period" title="gnutls_x509_crt_get_private_key_usage_period ()">gnutls_x509_crt_get_private_key_usage_period</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn" title="gnutls_x509_crt_get_issuer_dn ()">gnutls_x509_crt_get_issuer_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn2" title="gnutls_x509_crt_get_issuer_dn2 ()">gnutls_x509_crt_get_issuer_dn2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn3" title="gnutls_x509_crt_get_issuer_dn3 ()">gnutls_x509_crt_get_issuer_dn3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn-oid" title="gnutls_x509_crt_get_issuer_dn_oid ()">gnutls_x509_crt_get_issuer_dn_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn-by-oid" title="gnutls_x509_crt_get_issuer_dn_by_oid ()">gnutls_x509_crt_get_issuer_dn_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn" title="gnutls_x509_crt_get_dn ()">gnutls_x509_crt_get_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn2" title="gnutls_x509_crt_get_dn2 ()">gnutls_x509_crt_get_dn2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn3" title="gnutls_x509_crt_get_dn3 ()">gnutls_x509_crt_get_dn3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn-oid" title="gnutls_x509_crt_get_dn_oid ()">gnutls_x509_crt_get_dn_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn-by-oid" title="gnutls_x509_crt_get_dn_by_oid ()">gnutls_x509_crt_get_dn_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-hostname" title="gnutls_x509_crt_check_hostname ()">gnutls_x509_crt_check_hostname</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-hostname2" title="gnutls_x509_crt_check_hostname2 ()">gnutls_x509_crt_check_hostname2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-email" title="gnutls_x509_crt_check_email ()">gnutls_x509_crt_check_email</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-ip" title="gnutls_x509_crt_check_ip ()">gnutls_x509_crt_check_ip</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-signature-algorithm" title="gnutls_x509_crt_get_signature_algorithm ()">gnutls_x509_crt_get_signature_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-signature" title="gnutls_x509_crt_get_signature ()">gnutls_x509_crt_get_signature</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-version" title="gnutls_x509_crt_get_version ()">gnutls_x509_crt_get_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-oid" title="gnutls_x509_crt_get_pk_oid ()">gnutls_x509_crt_get_pk_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-signature-oid" title="gnutls_x509_crt_get_signature_oid ()">gnutls_x509_crt_get_signature_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-key-id" title="gnutls_x509_crt_get_key_id ()">gnutls_x509_crt_get_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-private-key-usage-period" title="gnutls_x509_crt_set_private_key_usage_period ()">gnutls_x509_crt_set_private_key_usage_period</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-authority-key-id" title="gnutls_x509_crt_set_authority_key_id ()">gnutls_x509_crt_set_authority_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-authority-key-id" title="gnutls_x509_crt_get_authority_key_id ()">gnutls_x509_crt_get_authority_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-authority-key-gn-serial" title="gnutls_x509_crt_get_authority_key_gn_serial ()">gnutls_x509_crt_get_authority_key_gn_serial</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-key-id" title="gnutls_x509_crt_get_subject_key_id ()">gnutls_x509_crt_get_subject_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-unique-id" title="gnutls_x509_crt_get_subject_unique_id ()">gnutls_x509_crt_get_subject_unique_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-unique-id" title="gnutls_x509_crt_get_issuer_unique_id ()">gnutls_x509_crt_get_issuer_unique_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-pin-function" title="gnutls_x509_crt_set_pin_function ()">gnutls_x509_crt_set_pin_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-authority-info-access" title="gnutls_x509_crt_get_authority_info_access ()">gnutls_x509_crt_get_authority_info_access</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-check" title="gnutls_x509_name_constraints_check ()">gnutls_x509_name_constraints_check</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-check-crt" title="gnutls_x509_name_constraints_check_crt ()">gnutls_x509_name_constraints_check_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-init" title="gnutls_x509_name_constraints_init ()">gnutls_x509_name_constraints_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-deinit" title="gnutls_x509_name_constraints_deinit ()">gnutls_x509_name_constraints_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-name-constraints" title="gnutls_x509_crt_get_name_constraints ()">gnutls_x509_crt_get_name_constraints</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-add-permitted" title="gnutls_x509_name_constraints_add_permitted ()">gnutls_x509_name_constraints_add_permitted</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-add-excluded" title="gnutls_x509_name_constraints_add_excluded ()">gnutls_x509_name_constraints_add_excluded</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-name-constraints" title="gnutls_x509_crt_set_name_constraints ()">gnutls_x509_crt_set_name_constraints</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-get-permitted" title="gnutls_x509_name_constraints_get_permitted ()">gnutls_x509_name_constraints_get_permitted</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-get-excluded" title="gnutls_x509_name_constraints_get_excluded ()">gnutls_x509_name_constraints_get_excluded</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-cidr-to-rfc5280" title="gnutls_x509_cidr_to_rfc5280 ()">gnutls_x509_cidr_to_rfc5280</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-crl-dist-points" title="gnutls_x509_crt_get_crl_dist_points ()">gnutls_x509_crt_get_crl_dist_points</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crl-dist-points2" title="gnutls_x509_crt_set_crl_dist_points2 ()">gnutls_x509_crt_set_crl_dist_points2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crl-dist-points" title="gnutls_x509_crt_set_crl_dist_points ()">gnutls_x509_crt_set_crl_dist_points</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-cpy-crl-dist-points" title="gnutls_x509_crt_cpy_crl_dist_points ()">gnutls_x509_crt_cpy_crl_dist_points</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-sign" title="gnutls_x509_crl_sign ()">gnutls_x509_crl_sign</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-sign2" title="gnutls_x509_crl_sign2 ()">gnutls_x509_crl_sign2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-activation-time" title="gnutls_x509_crt_get_activation_time ()">gnutls_x509_crt_get_activation_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-expiration-time" title="gnutls_x509_crt_get_expiration_time ()">gnutls_x509_crt_get_expiration_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-serial" title="gnutls_x509_crt_get_serial ()">gnutls_x509_crt_get_serial</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-spki-init" title="gnutls_x509_spki_init ()">gnutls_x509_spki_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-spki-deinit" title="gnutls_x509_spki_deinit ()">gnutls_x509_spki_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-spki-get-rsa-pss-params" title="gnutls_x509_spki_get_rsa_pss_params ()">gnutls_x509_spki_get_rsa_pss_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-spki-set-rsa-pss-params" title="gnutls_x509_spki_set_rsa_pss_params ()">gnutls_x509_spki_set_rsa_pss_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-algorithm" title="gnutls_x509_crt_get_pk_algorithm ()">gnutls_x509_crt_get_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-spki" title="gnutls_x509_crt_set_spki ()">gnutls_x509_crt_set_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-spki" title="gnutls_x509_crt_get_spki ()">gnutls_x509_crt_get_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-rsa-raw" title="gnutls_x509_crt_get_pk_rsa_raw ()">gnutls_x509_crt_get_pk_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-dsa-raw" title="gnutls_x509_crt_get_pk_dsa_raw ()">gnutls_x509_crt_get_pk_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-ecc-raw" title="gnutls_x509_crt_get_pk_ecc_raw ()">gnutls_x509_crt_get_pk_ecc_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-gost-raw" title="gnutls_x509_crt_get_pk_gost_raw ()">gnutls_x509_crt_get_pk_gost_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-name" title="gnutls_x509_crt_get_subject_alt_name ()">gnutls_x509_crt_get_subject_alt_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-name2" title="gnutls_x509_crt_get_subject_alt_name2 ()">gnutls_x509_crt_get_subject_alt_name2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-othername-oid" title="gnutls_x509_crt_get_subject_alt_othername_oid ()">gnutls_x509_crt_get_subject_alt_othername_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-name" title="gnutls_x509_crt_get_issuer_alt_name ()">gnutls_x509_crt_get_issuer_alt_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-name2" title="gnutls_x509_crt_get_issuer_alt_name2 ()">gnutls_x509_crt_get_issuer_alt_name2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-othername-oid" title="gnutls_x509_crt_get_issuer_alt_othername_oid ()">gnutls_x509_crt_get_issuer_alt_othername_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-ca-status" title="gnutls_x509_crt_get_ca_status ()">gnutls_x509_crt_get_ca_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-basic-constraints" title="gnutls_x509_crt_get_basic_constraints ()">gnutls_x509_crt_get_basic_constraints</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-key-usage" title="gnutls_x509_crt_get_key_usage ()">gnutls_x509_crt_get_key_usage</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-key-usage" title="gnutls_x509_crt_set_key_usage ()">gnutls_x509_crt_set_key_usage</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-authority-info-access" title="gnutls_x509_crt_set_authority_info_access ()">gnutls_x509_crt_set_authority_info_access</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-inhibit-anypolicy" title="gnutls_x509_crt_get_inhibit_anypolicy ()">gnutls_x509_crt_get_inhibit_anypolicy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-inhibit-anypolicy" title="gnutls_x509_crt_set_inhibit_anypolicy ()">gnutls_x509_crt_set_inhibit_anypolicy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-proxy" title="gnutls_x509_crt_get_proxy ()">gnutls_x509_crt_get_proxy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-init" title="gnutls_x509_tlsfeatures_init ()">gnutls_x509_tlsfeatures_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-deinit" title="gnutls_x509_tlsfeatures_deinit ()">gnutls_x509_tlsfeatures_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-get" title="gnutls_x509_tlsfeatures_get ()">gnutls_x509_tlsfeatures_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-tlsfeatures" title="gnutls_x509_crt_set_tlsfeatures ()">gnutls_x509_crt_set_tlsfeatures</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-tlsfeatures" title="gnutls_x509_crt_get_tlsfeatures ()">gnutls_x509_crt_get_tlsfeatures</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-check-crt" title="gnutls_x509_tlsfeatures_check_crt ()">gnutls_x509_tlsfeatures_check_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-policy-release" title="gnutls_x509_policy_release ()">gnutls_x509_policy_release</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-policy" title="gnutls_x509_crt_get_policy ()">gnutls_x509_crt_get_policy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-policy" title="gnutls_x509_crt_set_policy ()">gnutls_x509_crt_set_policy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-known" title="gnutls_x509_dn_oid_known ()">gnutls_x509_dn_oid_known</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-name" title="gnutls_x509_dn_oid_name ()">gnutls_x509_dn_oid_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-oid" title="gnutls_x509_crt_get_extension_oid ()">gnutls_x509_crt_get_extension_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-by-oid" title="gnutls_x509_crt_get_extension_by_oid ()">gnutls_x509_crt_get_extension_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-signature-algorithm" title="gnutls_x509_crq_get_signature_algorithm ()">gnutls_x509_crq_get_signature_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-by-oid2" title="gnutls_x509_crq_get_extension_by_oid2 ()">gnutls_x509_crq_get_extension_by_oid2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-info" title="gnutls_x509_crt_get_extension_info ()">gnutls_x509_crt_get_extension_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-data" title="gnutls_x509_crt_get_extension_data ()">gnutls_x509_crt_get_extension_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-data2" title="gnutls_x509_crt_get_extension_data2 ()">gnutls_x509_crt_get_extension_data2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-extension-by-oid" title="gnutls_x509_crt_set_extension_by_oid ()">gnutls_x509_crt_set_extension_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-dn" title="gnutls_x509_crt_set_dn ()">gnutls_x509_crt_set_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-dn-by-oid" title="gnutls_x509_crt_set_dn_by_oid ()">gnutls_x509_crt_set_dn_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-dn-by-oid" title="gnutls_x509_crt_set_issuer_dn_by_oid ()">gnutls_x509_crt_set_issuer_dn_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-dn" title="gnutls_x509_crt_set_issuer_dn ()">gnutls_x509_crt_set_issuer_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-version" title="gnutls_x509_crt_set_version ()">gnutls_x509_crt_set_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-key" title="gnutls_x509_crt_set_key ()">gnutls_x509_crt_set_key</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-ca-status" title="gnutls_x509_crt_set_ca_status ()">gnutls_x509_crt_set_ca_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-basic-constraints" title="gnutls_x509_crt_set_basic_constraints ()">gnutls_x509_crt_set_basic_constraints</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-unique-id" title="gnutls_x509_crt_set_subject_unique_id ()">gnutls_x509_crt_set_subject_unique_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-unique-id" title="gnutls_x509_crt_set_issuer_unique_id ()">gnutls_x509_crt_set_issuer_unique_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-alternative-name" title="gnutls_x509_crt_set_subject_alternative_name ()">gnutls_x509_crt_set_subject_alternative_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-alt-name" title="gnutls_x509_crt_set_subject_alt_name ()">gnutls_x509_crt_set_subject_alt_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-alt-othername" title="gnutls_x509_crt_set_subject_alt_othername ()">gnutls_x509_crt_set_subject_alt_othername</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-alt-name" title="gnutls_x509_crt_set_issuer_alt_name ()">gnutls_x509_crt_set_issuer_alt_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-issuer-alt-othername" title="gnutls_x509_crt_set_issuer_alt_othername ()">gnutls_x509_crt_set_issuer_alt_othername</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-sign" title="gnutls_x509_crt_sign ()">gnutls_x509_crt_sign</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-sign2" title="gnutls_x509_crt_sign2 ()">gnutls_x509_crt_sign2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-activation-time" title="gnutls_x509_crt_set_activation_time ()">gnutls_x509_crt_set_activation_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-expiration-time" title="gnutls_x509_crt_set_expiration_time ()">gnutls_x509_crt_set_expiration_time</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-serial" title="gnutls_x509_crt_set_serial ()">gnutls_x509_crt_set_serial</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-key-id" title="gnutls_x509_crt_set_subject_key_id ()">gnutls_x509_crt_set_subject_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-proxy-dn" title="gnutls_x509_crt_set_proxy_dn ()">gnutls_x509_crt_set_proxy_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-proxy" title="gnutls_x509_crt_set_proxy ()">gnutls_x509_crt_set_proxy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-print" title="gnutls_x509_crt_print ()">gnutls_x509_crt_print</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-print" title="gnutls_x509_crl_print ()">gnutls_x509_crl_print</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-raw-issuer-dn" title="gnutls_x509_crt_get_raw_issuer_dn ()">gnutls_x509_crt_get_raw_issuer_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-raw-dn" title="gnutls_x509_crt_get_raw_dn ()">gnutls_x509_crt_get_raw_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get" title="gnutls_x509_rdn_get ()">gnutls_x509_rdn_get</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get2" title="gnutls_x509_rdn_get2 ()">gnutls_x509_rdn_get2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get-oid" title="gnutls_x509_rdn_get_oid ()">gnutls_x509_rdn_get_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get-by-oid" title="gnutls_x509_rdn_get_by_oid ()">gnutls_x509_rdn_get_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject" title="gnutls_x509_crt_get_subject ()">gnutls_x509_crt_get_subject</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer" title="gnutls_x509_crt_get_issuer ()">gnutls_x509_crt_get_issuer</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-get-rdn-ava" title="gnutls_x509_dn_get_rdn_ava ()">gnutls_x509_dn_get_rdn_ava</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-get-str" title="gnutls_x509_dn_get_str ()">gnutls_x509_dn_get_str</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-get-str2" title="gnutls_x509_dn_get_str2 ()">gnutls_x509_dn_get_str2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-set-str" title="gnutls_x509_dn_set_str ()">gnutls_x509_dn_set_str</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-init" title="gnutls_x509_dn_init ()">gnutls_x509_dn_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-import" title="gnutls_x509_dn_import ()">gnutls_x509_dn_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-export" title="gnutls_x509_dn_export ()">gnutls_x509_dn_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-export2" title="gnutls_x509_dn_export2 ()">gnutls_x509_dn_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-deinit" title="gnutls_x509_dn_deinit ()">gnutls_x509_dn_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-init" title="gnutls_x509_crl_init ()">gnutls_x509_crl_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-deinit" title="gnutls_x509_crl_deinit ()">gnutls_x509_crl_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-import" title="gnutls_x509_crl_import ()">gnutls_x509_crl_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-export" title="gnutls_x509_crl_export ()">gnutls_x509_crl_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-export2" title="gnutls_x509_crl_export2 ()">gnutls_x509_crl_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-raw-issuer-dn" title="gnutls_x509_crl_get_raw_issuer_dn ()">gnutls_x509_crl_get_raw_issuer_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn" title="gnutls_x509_crl_get_issuer_dn ()">gnutls_x509_crl_get_issuer_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn2" title="gnutls_x509_crl_get_issuer_dn2 ()">gnutls_x509_crl_get_issuer_dn2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn3" title="gnutls_x509_crl_get_issuer_dn3 ()">gnutls_x509_crl_get_issuer_dn3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn-by-oid" title="gnutls_x509_crl_get_issuer_dn_by_oid ()">gnutls_x509_crl_get_issuer_dn_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-dn-oid" title="gnutls_x509_crl_get_dn_oid ()">gnutls_x509_crl_get_dn_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-signature-algorithm" title="gnutls_x509_crl_get_signature_algorithm ()">gnutls_x509_crl_get_signature_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-signature" title="gnutls_x509_crl_get_signature ()">gnutls_x509_crl_get_signature</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-version" title="gnutls_x509_crl_get_version ()">gnutls_x509_crl_get_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-signature-oid" title="gnutls_x509_crl_get_signature_oid ()">gnutls_x509_crl_get_signature_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-this-update" title="gnutls_x509_crl_get_this_update ()">gnutls_x509_crl_get_this_update</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">time_t</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-next-update" title="gnutls_x509_crl_get_next_update ()">gnutls_x509_crl_get_next_update</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-crt-count" title="gnutls_x509_crl_get_crt_count ()">gnutls_x509_crl_get_crt_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-crt-serial" title="gnutls_x509_crl_get_crt_serial ()">gnutls_x509_crl_get_crt_serial</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-crt-serial" title="gnutls_x509_crl_iter_crt_serial ()">gnutls_x509_crl_iter_crt_serial</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-deinit" title="gnutls_x509_crl_iter_deinit ()">gnutls_x509_crl_iter_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-check-issuer" title="gnutls_x509_crl_check_issuer ()">gnutls_x509_crl_check_issuer</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-list-import2" title="gnutls_x509_crl_list_import2 ()">gnutls_x509_crl_list_import2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-list-import" title="gnutls_x509_crl_list_import ()">gnutls_x509_crl_list_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-version" title="gnutls_x509_crl_set_version ()">gnutls_x509_crl_set_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-this-update" title="gnutls_x509_crl_set_this_update ()">gnutls_x509_crl_set_this_update</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-next-update" title="gnutls_x509_crl_set_next_update ()">gnutls_x509_crl_set_next_update</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-crt-serial" title="gnutls_x509_crl_set_crt_serial ()">gnutls_x509_crl_set_crt_serial</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-crt" title="gnutls_x509_crl_set_crt ()">gnutls_x509_crl_set_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-authority-key-id" title="gnutls_x509_crl_get_authority_key_id ()">gnutls_x509_crl_get_authority_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-authority-key-gn-serial" title="gnutls_x509_crl_get_authority_key_gn_serial ()">gnutls_x509_crl_get_authority_key_gn_serial</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-number" title="gnutls_x509_crl_get_number ()">gnutls_x509_crl_get_number</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-oid" title="gnutls_x509_crl_get_extension_oid ()">gnutls_x509_crl_get_extension_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-info" title="gnutls_x509_crl_get_extension_info ()">gnutls_x509_crl_get_extension_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-data" title="gnutls_x509_crl_get_extension_data ()">gnutls_x509_crl_get_extension_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-data2" title="gnutls_x509_crl_get_extension_data2 ()">gnutls_x509_crl_get_extension_data2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-authority-key-id" title="gnutls_x509_crl_set_authority_key_id ()">gnutls_x509_crl_set_authority_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-set-number" title="gnutls_x509_crl_set_number ()">gnutls_x509_crl_set_number</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#GNUTLS-PROFILE-TO-VFLAGS:CAPS" title="GNUTLS_PROFILE_TO_VFLAGS()">GNUTLS_PROFILE_TO_VFLAGS</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#GNUTLS-VFLAGS-TO-PROFILE:CAPS" title="GNUTLS_VFLAGS_TO_PROFILE()">GNUTLS_VFLAGS_TO_PROFILE</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-certificate-verification-profile-get-name" title="gnutls_certificate_verification_profile_get_name ()">gnutls_certificate_verification_profile_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-verify" title="gnutls_x509_crt_list_verify ()">gnutls_x509_crt_list_verify</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-verify" title="gnutls_x509_crt_verify ()">gnutls_x509_crt_verify</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-verify" title="gnutls_x509_crl_verify ()">gnutls_x509_crl_verify</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-verify-data2" title="gnutls_x509_crt_verify_data2 ()">gnutls_x509_crt_verify_data2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-revocation" title="gnutls_x509_crt_check_revocation ()">gnutls_x509_crt_check_revocation</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-fingerprint" title="gnutls_x509_crt_get_fingerprint ()">gnutls_x509_crt_get_fingerprint</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-key-purpose-oid" title="gnutls_x509_crt_get_key_purpose_oid ()">gnutls_x509_crt_get_key_purpose_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-key-purpose-oid" title="gnutls_x509_crt_set_key_purpose_oid ()">gnutls_x509_crt_set_key_purpose_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">unsigned</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-key-purpose" title="gnutls_x509_crt_check_key_purpose ()">gnutls_x509_crt_check_key_purpose</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#GNUTLS-PKCS-CIPHER-MASK:CAPS" title="GNUTLS_PKCS_CIPHER_MASK()">GNUTLS_PKCS_CIPHER_MASK</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-pkcs-schema-get-name" title="gnutls_pkcs_schema_get_name ()">gnutls_pkcs_schema_get_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-pkcs-schema-get-oid" title="gnutls_pkcs_schema_get_oid ()">gnutls_pkcs_schema_get_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-init" title="gnutls_x509_privkey_init ()">gnutls_x509_privkey_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-deinit" title="gnutls_x509_privkey_deinit ()">gnutls_x509_privkey_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="returnvalue">gnutls_sec_param_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-sec-param" title="gnutls_x509_privkey_sec_param ()">gnutls_x509_privkey_sec_param</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-set-pin-function" title="gnutls_x509_privkey_set_pin_function ()">gnutls_x509_privkey_set_pin_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-cpy" title="gnutls_x509_privkey_cpy ()">gnutls_x509_privkey_cpy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import" title="gnutls_x509_privkey_import ()">gnutls_x509_privkey_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-pkcs8" title="gnutls_x509_privkey_import_pkcs8 ()">gnutls_x509_privkey_import_pkcs8</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-openssl" title="gnutls_x509_privkey_import_openssl ()">gnutls_x509_privkey_import_openssl</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-pkcs8-info" title="gnutls_pkcs8_info ()">gnutls_pkcs8_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import2" title="gnutls_x509_privkey_import2 ()">gnutls_x509_privkey_import2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-rsa-raw" title="gnutls_x509_privkey_import_rsa_raw ()">gnutls_x509_privkey_import_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-rsa-raw2" title="gnutls_x509_privkey_import_rsa_raw2 ()">gnutls_x509_privkey_import_rsa_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-ecc-raw" title="gnutls_x509_privkey_import_ecc_raw ()">gnutls_x509_privkey_import_ecc_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-gost-raw" title="gnutls_x509_privkey_import_gost_raw ()">gnutls_x509_privkey_import_gost_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-fix" title="gnutls_x509_privkey_fix ()">gnutls_x509_privkey_fix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-dsa-raw" title="gnutls_x509_privkey_export_dsa_raw ()">gnutls_x509_privkey_export_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-import-dsa-raw" title="gnutls_x509_privkey_import_dsa_raw ()">gnutls_x509_privkey_import_dsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-pk-algorithm" title="gnutls_x509_privkey_get_pk_algorithm ()">gnutls_x509_privkey_get_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-pk-algorithm2" title="gnutls_x509_privkey_get_pk_algorithm2 ()">gnutls_x509_privkey_get_pk_algorithm2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-spki" title="gnutls_x509_privkey_get_spki ()">gnutls_x509_privkey_get_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-set-spki" title="gnutls_x509_privkey_set_spki ()">gnutls_x509_privkey_set_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-key-id" title="gnutls_x509_privkey_get_key_id ()">gnutls_x509_privkey_get_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-generate" title="gnutls_x509_privkey_generate ()">gnutls_x509_privkey_generate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-set-flags" title="gnutls_x509_privkey_set_flags ()">gnutls_x509_privkey_set_flags</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-generate2" title="gnutls_x509_privkey_generate2 ()">gnutls_x509_privkey_generate2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-verify-seed" title="gnutls_x509_privkey_verify_seed ()">gnutls_x509_privkey_verify_seed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-get-seed" title="gnutls_x509_privkey_get_seed ()">gnutls_x509_privkey_get_seed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-verify-params" title="gnutls_x509_privkey_verify_params ()">gnutls_x509_privkey_verify_params</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export" title="gnutls_x509_privkey_export ()">gnutls_x509_privkey_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export2" title="gnutls_x509_privkey_export2 ()">gnutls_x509_privkey_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-pkcs8" title="gnutls_x509_privkey_export_pkcs8 ()">gnutls_x509_privkey_export_pkcs8</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export2-pkcs8" title="gnutls_x509_privkey_export2_pkcs8 ()">gnutls_x509_privkey_export2_pkcs8</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-rsa-raw2" title="gnutls_x509_privkey_export_rsa_raw2 ()">gnutls_x509_privkey_export_rsa_raw2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-rsa-raw" title="gnutls_x509_privkey_export_rsa_raw ()">gnutls_x509_privkey_export_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-ecc-raw" title="gnutls_x509_privkey_export_ecc_raw ()">gnutls_x509_privkey_export_ecc_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-gost-raw" title="gnutls_x509_privkey_export_gost_raw ()">gnutls_x509_privkey_export_gost_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-privkey-sign-data" title="gnutls_x509_privkey_sign_data ()">gnutls_x509_privkey_sign_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-sign" title="gnutls_x509_crq_sign ()">gnutls_x509_crq_sign</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-sign2" title="gnutls_x509_crq_sign2 ()">gnutls_x509_crq_sign2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-print" title="gnutls_x509_crq_print ()">gnutls_x509_crq_print</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-verify" title="gnutls_x509_crq_verify ()">gnutls_x509_crq_verify</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-init" title="gnutls_x509_crq_init ()">gnutls_x509_crq_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-deinit" title="gnutls_x509_crq_deinit ()">gnutls_x509_crq_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-import" title="gnutls_x509_crq_import ()">gnutls_x509_crq_import</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-private-key-usage-period" title="gnutls_x509_crq_get_private_key_usage_period ()">gnutls_x509_crq_get_private_key_usage_period</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn" title="gnutls_x509_crq_get_dn ()">gnutls_x509_crq_get_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn2" title="gnutls_x509_crq_get_dn2 ()">gnutls_x509_crq_get_dn2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn3" title="gnutls_x509_crq_get_dn3 ()">gnutls_x509_crq_get_dn3</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn-oid" title="gnutls_x509_crq_get_dn_oid ()">gnutls_x509_crq_get_dn_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn-by-oid" title="gnutls_x509_crq_get_dn_by_oid ()">gnutls_x509_crq_get_dn_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-dn" title="gnutls_x509_crq_set_dn ()">gnutls_x509_crq_set_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-dn-by-oid" title="gnutls_x509_crq_set_dn_by_oid ()">gnutls_x509_crq_set_dn_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-version" title="gnutls_x509_crq_set_version ()">gnutls_x509_crq_set_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-version" title="gnutls_x509_crq_get_version ()">gnutls_x509_crq_get_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-key" title="gnutls_x509_crq_set_key ()">gnutls_x509_crq_set_key</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-extension-by-oid" title="gnutls_x509_crq_set_extension_by_oid ()">gnutls_x509_crq_set_extension_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-challenge-password" title="gnutls_x509_crq_set_challenge_password ()">gnutls_x509_crq_set_challenge_password</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-challenge-password" title="gnutls_x509_crq_get_challenge_password ()">gnutls_x509_crq_get_challenge_password</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-attribute-by-oid" title="gnutls_x509_crq_set_attribute_by_oid ()">gnutls_x509_crq_set_attribute_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-attribute-by-oid" title="gnutls_x509_crq_get_attribute_by_oid ()">gnutls_x509_crq_get_attribute_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-export" title="gnutls_x509_crq_export ()">gnutls_x509_crq_export</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-export2" title="gnutls_x509_crq_export2 ()">gnutls_x509_crq_export2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crq" title="gnutls_x509_crt_set_crq ()">gnutls_x509_crt_set_crq</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crq-extensions" title="gnutls_x509_crt_set_crq_extensions ()">gnutls_x509_crt_set_crq_extensions</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-crq-extension-by-oid" title="gnutls_x509_crt_set_crq_extension_by_oid ()">gnutls_x509_crt_set_crq_extension_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-private-key-usage-period" title="gnutls_x509_crq_set_private_key_usage_period ()">gnutls_x509_crq_set_private_key_usage_period</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-key-rsa-raw" title="gnutls_x509_crq_set_key_rsa_raw ()">gnutls_x509_crq_set_key_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-subject-alt-name" title="gnutls_x509_crq_set_subject_alt_name ()">gnutls_x509_crq_set_subject_alt_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-subject-alt-othername" title="gnutls_x509_crq_set_subject_alt_othername ()">gnutls_x509_crq_set_subject_alt_othername</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-key-usage" title="gnutls_x509_crq_set_key_usage ()">gnutls_x509_crq_set_key_usage</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-basic-constraints" title="gnutls_x509_crq_set_basic_constraints ()">gnutls_x509_crq_set_basic_constraints</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-key-purpose-oid" title="gnutls_x509_crq_set_key_purpose_oid ()">gnutls_x509_crq_set_key_purpose_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-key-purpose-oid" title="gnutls_x509_crq_get_key_purpose_oid ()">gnutls_x509_crq_get_key_purpose_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-data" title="gnutls_x509_crq_get_extension_data ()">gnutls_x509_crq_get_extension_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-data2" title="gnutls_x509_crq_get_extension_data2 ()">gnutls_x509_crq_get_extension_data2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-info" title="gnutls_x509_crq_get_extension_info ()">gnutls_x509_crq_get_extension_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-attribute-data" title="gnutls_x509_crq_get_attribute_data ()">gnutls_x509_crq_get_attribute_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-attribute-info" title="gnutls_x509_crq_get_attribute_info ()">gnutls_x509_crq_get_attribute_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-pk-algorithm" title="gnutls_x509_crq_get_pk_algorithm ()">gnutls_x509_crq_get_pk_algorithm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-spki" title="gnutls_x509_crq_get_spki ()">gnutls_x509_crq_get_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-spki" title="gnutls_x509_crq_set_spki ()">gnutls_x509_crq_set_spki</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-signature-oid" title="gnutls_x509_crq_get_signature_oid ()">gnutls_x509_crq_get_signature_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-pk-oid" title="gnutls_x509_crq_get_pk_oid ()">gnutls_x509_crq_get_pk_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-key-id" title="gnutls_x509_crq_get_key_id ()">gnutls_x509_crq_get_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-key-rsa-raw" title="gnutls_x509_crq_get_key_rsa_raw ()">gnutls_x509_crq_get_key_rsa_raw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-key-usage" title="gnutls_x509_crq_get_key_usage ()">gnutls_x509_crq_get_key_usage</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-basic-constraints" title="gnutls_x509_crq_get_basic_constraints ()">gnutls_x509_crq_get_basic_constraints</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-subject-alt-name" title="gnutls_x509_crq_get_subject_alt_name ()">gnutls_x509_crq_get_subject_alt_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-subject-alt-othername-oid" title="gnutls_x509_crq_get_subject_alt_othername_oid ()">gnutls_x509_crq_get_subject_alt_othername_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-by-oid" title="gnutls_x509_crq_get_extension_by_oid ()">gnutls_x509_crq_get_extension_by_oid</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-tlsfeatures" title="gnutls_x509_crq_get_tlsfeatures ()">gnutls_x509_crq_get_tlsfeatures</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-tlsfeatures" title="gnutls_x509_crq_set_tlsfeatures ()">gnutls_x509_crq_set_tlsfeatures</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-by-oid2" title="gnutls_x509_crt_get_extension_by_oid2 ()">gnutls_x509_crt_get_extension_by_oid2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-init" title="gnutls_x509_trust_list_init ()">gnutls_x509_trust_list_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-deinit" title="gnutls_x509_trust_list_deinit ()">gnutls_x509_trust_list_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-issuer" title="gnutls_x509_trust_list_get_issuer ()">gnutls_x509_trust_list_get_issuer</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-issuer-by-dn" title="gnutls_x509_trust_list_get_issuer_by_dn ()">gnutls_x509_trust_list_get_issuer_by_dn</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-issuer-by-subject-key-id" title="gnutls_x509_trust_list_get_issuer_by_subject_key_id ()">gnutls_x509_trust_list_get_issuer_by_subject_key_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-cas" title="gnutls_x509_trust_list_add_cas ()">gnutls_x509_trust_list_add_cas</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-remove-cas" title="gnutls_x509_trust_list_remove_cas ()">gnutls_x509_trust_list_remove_cas</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-named-crt" title="gnutls_x509_trust_list_add_named_crt ()">gnutls_x509_trust_list_add_named_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-crls" title="gnutls_x509_trust_list_add_crls ()">gnutls_x509_trust_list_add_crls</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-iter-get-ca" title="gnutls_x509_trust_list_iter_get_ca ()">gnutls_x509_trust_list_iter_get_ca</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-iter-deinit" title="gnutls_x509_trust_list_iter_deinit ()">gnutls_x509_trust_list_iter_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-session-set-verify-output-function" title="gnutls_session_set_verify_output_function ()">gnutls_session_set_verify_output_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-named-crt" title="gnutls_x509_trust_list_verify_named_crt ()">gnutls_x509_trust_list_verify_named_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt2" title="gnutls_x509_trust_list_verify_crt2 ()">gnutls_x509_trust_list_verify_crt2</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt" title="gnutls_x509_trust_list_verify_crt ()">gnutls_x509_trust_list_verify_crt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-trust-mem" title="gnutls_x509_trust_list_add_trust_mem ()">gnutls_x509_trust_list_add_trust_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-trust-file" title="gnutls_x509_trust_list_add_trust_file ()">gnutls_x509_trust_list_add_trust_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-trust-dir" title="gnutls_x509_trust_list_add_trust_dir ()">gnutls_x509_trust_list_add_trust_dir</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-remove-trust-file" title="gnutls_x509_trust_list_remove_trust_file ()">gnutls_x509_trust_list_remove_trust_file</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-remove-trust-mem" title="gnutls_x509_trust_list_remove_trust_mem ()">gnutls_x509_trust_list_remove_trust_mem</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-system-trust" title="gnutls_x509_trust_list_add_system_trust ()">gnutls_x509_trust_list_add_system_trust</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-set-getissuer-function" title="gnutls_x509_trust_list_set_getissuer_function ()">gnutls_x509_trust_list_set_getissuer_function</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-set-ptr" title="gnutls_x509_trust_list_set_ptr ()">gnutls_x509_trust_list_set_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-ptr" title="gnutls_x509_trust_list_get_ptr ()">gnutls_x509_trust_list_get_ptr</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-certificate-set-trust-list" title="gnutls_certificate_set_trust_list ()">gnutls_certificate_set_trust_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-certificate-get-trust-list" title="gnutls_certificate_get_trust_list ()">gnutls_certificate_get_trust_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-ext-deinit" title="gnutls_x509_ext_deinit ()">gnutls_x509_ext_deinit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="gnutls-x509.html#gnutls-x509-ext-print" title="gnutls_x509_ext_print ()">gnutls_x509_ext_print</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-x509.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="other_proto_type"> +<col class="other_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-COUNTRY-NAME:CAPS" title="GNUTLS_OID_X520_COUNTRY_NAME">GNUTLS_OID_X520_COUNTRY_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-ORGANIZATION-NAME:CAPS" title="GNUTLS_OID_X520_ORGANIZATION_NAME">GNUTLS_OID_X520_ORGANIZATION_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-ORGANIZATIONAL-UNIT-NAME:CAPS" title="GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME">GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-COMMON-NAME:CAPS" title="GNUTLS_OID_X520_COMMON_NAME">GNUTLS_OID_X520_COMMON_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-LOCALITY-NAME:CAPS" title="GNUTLS_OID_X520_LOCALITY_NAME">GNUTLS_OID_X520_LOCALITY_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-STATE-OR-PROVINCE-NAME:CAPS" title="GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME">GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-INITIALS:CAPS" title="GNUTLS_OID_X520_INITIALS">GNUTLS_OID_X520_INITIALS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-GENERATION-QUALIFIER:CAPS" title="GNUTLS_OID_X520_GENERATION_QUALIFIER">GNUTLS_OID_X520_GENERATION_QUALIFIER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-SURNAME:CAPS" title="GNUTLS_OID_X520_SURNAME">GNUTLS_OID_X520_SURNAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-GIVEN-NAME:CAPS" title="GNUTLS_OID_X520_GIVEN_NAME">GNUTLS_OID_X520_GIVEN_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-TITLE:CAPS" title="GNUTLS_OID_X520_TITLE">GNUTLS_OID_X520_TITLE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-DN-QUALIFIER:CAPS" title="GNUTLS_OID_X520_DN_QUALIFIER">GNUTLS_OID_X520_DN_QUALIFIER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-PSEUDONYM:CAPS" title="GNUTLS_OID_X520_PSEUDONYM">GNUTLS_OID_X520_PSEUDONYM</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-POSTALCODE:CAPS" title="GNUTLS_OID_X520_POSTALCODE">GNUTLS_OID_X520_POSTALCODE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-X520-NAME:CAPS" title="GNUTLS_OID_X520_NAME">GNUTLS_OID_X520_NAME</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-LDAP-DC:CAPS" title="GNUTLS_OID_LDAP_DC">GNUTLS_OID_LDAP_DC</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-LDAP-UID:CAPS" title="GNUTLS_OID_LDAP_UID">GNUTLS_OID_LDAP_UID</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-PKCS9-EMAIL:CAPS" title="GNUTLS_OID_PKCS9_EMAIL">GNUTLS_OID_PKCS9_EMAIL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-DATE-OF-BIRTH:CAPS" title="GNUTLS_OID_PKIX_DATE_OF_BIRTH">GNUTLS_OID_PKIX_DATE_OF_BIRTH</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-PLACE-OF-BIRTH:CAPS" title="GNUTLS_OID_PKIX_PLACE_OF_BIRTH">GNUTLS_OID_PKIX_PLACE_OF_BIRTH</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-GENDER:CAPS" title="GNUTLS_OID_PKIX_GENDER">GNUTLS_OID_PKIX_GENDER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-COUNTRY-OF-CITIZENSHIP:CAPS" title="GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP">GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-PKIX-COUNTRY-OF-RESIDENCE:CAPS" title="GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE">GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-TLS-WWW-SERVER:CAPS" title="GNUTLS_KP_TLS_WWW_SERVER">GNUTLS_KP_TLS_WWW_SERVER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-TLS-WWW-CLIENT:CAPS" title="GNUTLS_KP_TLS_WWW_CLIENT">GNUTLS_KP_TLS_WWW_CLIENT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-CODE-SIGNING:CAPS" title="GNUTLS_KP_CODE_SIGNING">GNUTLS_KP_CODE_SIGNING</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-MS-SMART-CARD-LOGON:CAPS" title="GNUTLS_KP_MS_SMART_CARD_LOGON">GNUTLS_KP_MS_SMART_CARD_LOGON</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-EMAIL-PROTECTION:CAPS" title="GNUTLS_KP_EMAIL_PROTECTION">GNUTLS_KP_EMAIL_PROTECTION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-TIME-STAMPING:CAPS" title="GNUTLS_KP_TIME_STAMPING">GNUTLS_KP_TIME_STAMPING</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-OCSP-SIGNING:CAPS" title="GNUTLS_KP_OCSP_SIGNING">GNUTLS_KP_OCSP_SIGNING</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-IPSEC-IKE:CAPS" title="GNUTLS_KP_IPSEC_IKE">GNUTLS_KP_IPSEC_IKE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-ANY:CAPS" title="GNUTLS_KP_ANY">GNUTLS_KP_ANY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-KP-FLAG-DISALLOW-ANY:CAPS" title="GNUTLS_KP_FLAG_DISALLOW_ANY">GNUTLS_KP_FLAG_DISALLOW_ANY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-AIA:CAPS" title="GNUTLS_OID_AIA">GNUTLS_OID_AIA</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-AD-OCSP:CAPS" title="GNUTLS_OID_AD_OCSP">GNUTLS_OID_AD_OCSP</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-OID-AD-CAISSUERS:CAPS" title="GNUTLS_OID_AD_CAISSUERS">GNUTLS_OID_AD_CAISSUERS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-FSAN-SET:CAPS" title="GNUTLS_FSAN_SET">GNUTLS_FSAN_SET</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-FSAN-APPEND:CAPS" title="GNUTLS_FSAN_APPEND">GNUTLS_FSAN_APPEND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-FSAN-ENCODE-OCTET-STRING:CAPS" title="GNUTLS_FSAN_ENCODE_OCTET_STRING">GNUTLS_FSAN_ENCODE_OCTET_STRING</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-FSAN-ENCODE-UTF8-STRING:CAPS" title="GNUTLS_FSAN_ENCODE_UTF8_STRING">GNUTLS_FSAN_ENCODE_UTF8_STRING</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-SUBJECT-KEY-ID:CAPS" title="GNUTLS_X509EXT_OID_SUBJECT_KEY_ID">GNUTLS_X509EXT_OID_SUBJECT_KEY_ID</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-KEY-USAGE:CAPS" title="GNUTLS_X509EXT_OID_KEY_USAGE">GNUTLS_X509EXT_OID_KEY_USAGE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-PRIVATE-KEY-USAGE-PERIOD:CAPS" title="GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD">GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-SAN:CAPS" title="GNUTLS_X509EXT_OID_SAN">GNUTLS_X509EXT_OID_SAN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-IAN:CAPS" title="GNUTLS_X509EXT_OID_IAN">GNUTLS_X509EXT_OID_IAN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-BASIC-CONSTRAINTS:CAPS" title="GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS">GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-NAME-CONSTRAINTS:CAPS" title="GNUTLS_X509EXT_OID_NAME_CONSTRAINTS">GNUTLS_X509EXT_OID_NAME_CONSTRAINTS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-CRL-DIST-POINTS:CAPS" title="GNUTLS_X509EXT_OID_CRL_DIST_POINTS">GNUTLS_X509EXT_OID_CRL_DIST_POINTS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-CRT-POLICY:CAPS" title="GNUTLS_X509EXT_OID_CRT_POLICY">GNUTLS_X509EXT_OID_CRT_POLICY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-AUTHORITY-KEY-ID:CAPS" title="GNUTLS_X509EXT_OID_AUTHORITY_KEY_ID">GNUTLS_X509EXT_OID_AUTHORITY_KEY_ID</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-EXTENDED-KEY-USAGE:CAPS" title="GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE">GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-INHIBIT-ANYPOLICY:CAPS" title="GNUTLS_X509EXT_OID_INHIBIT_ANYPOLICY">GNUTLS_X509EXT_OID_INHIBIT_ANYPOLICY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-AUTHORITY-INFO-ACCESS:CAPS" title="GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS">GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-PROXY-CRT-INFO:CAPS" title="GNUTLS_X509EXT_OID_PROXY_CRT_INFO">GNUTLS_X509EXT_OID_PROXY_CRT_INFO</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-TLSFEATURES:CAPS" title="GNUTLS_X509EXT_OID_TLSFEATURES">GNUTLS_X509EXT_OID_TLSFEATURES</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509EXT-OID-CT-SCT-V1:CAPS" title="GNUTLS_X509EXT_OID_CT_SCT_V1">GNUTLS_X509EXT_OID_CT_SCT_V1</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509-OID-POLICY-ANY:CAPS" title="GNUTLS_X509_OID_POLICY_ANY">GNUTLS_X509_OID_POLICY_ANY</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-certificate-import-flags" title="enum gnutls_certificate_import_flags">gnutls_certificate_import_flags</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-crt-flags" title="enum gnutls_x509_crt_flags">gnutls_x509_crt_flags</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-keyid-flags-t" title="enum gnutls_keyid_flags_t">gnutls_keyid_flags_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-info-access-what-t" title="enum gnutls_info_access_what_t">gnutls_info_access_what_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t">gnutls_x509_name_constraints_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-EXT-FLAG-APPEND:CAPS" title="GNUTLS_EXT_FLAG_APPEND">GNUTLS_EXT_FLAG_APPEND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-NAME-CONSTRAINTS-FLAG-APPEND:CAPS" title="GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND">GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-CRL-REASON-SUPERSEEDED:CAPS" title="GNUTLS_CRL_REASON_SUPERSEEDED">GNUTLS_CRL_REASON_SUPERSEEDED</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-crl-reason-flags-t" title="enum gnutls_x509_crl_reason_flags_t">gnutls_x509_crl_reason_flags_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509-NO-WELL-DEFINED-EXPIRATION:CAPS" title="GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION">GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t">gnutls_x509_spki_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t">gnutls_x509_tlsfeatures_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-MAX-QUALIFIERS:CAPS" title="GNUTLS_MAX_QUALIFIERS">GNUTLS_MAX_QUALIFIERS</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-qualifier-t" title="enum gnutls_x509_qualifier_t">gnutls_x509_qualifier_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-policy-st" title="gnutls_x509_policy_st">gnutls_x509_policy_st</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-OID-RETURN-OID:CAPS" title="GNUTLS_X509_DN_OID_RETURN_OID">GNUTLS_X509_DN_OID_RETURN_OID</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t">gnutls_x509_dn_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-ava-st" title="gnutls_x509_ava_st">gnutls_x509_ava_st</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT">GNUTLS_X509_DN_FLAG_COMPAT</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-t" title="gnutls_x509_crl_iter_t">gnutls_x509_crl_iter_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-certificate-count" title="gnutls_x509_crl_get_certificate_count">gnutls_x509_crl_get_certificate_count</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-certificate" title="gnutls_x509_crl_get_certificate">gnutls_x509_crl_get_certificate</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-certificate-verify-flags" title="enum gnutls_certificate_verify_flags">gnutls_certificate_verify_flags</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-BROKEN:CAPS" title="GNUTLS_VERIFY_ALLOW_BROKEN">GNUTLS_VERIFY_ALLOW_BROKEN</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-certificate-verification-profiles-t" title="enum gnutls_certificate_verification_profiles_t">gnutls_certificate_verification_profiles_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-VFLAGS-PROFILE-MASK:CAPS" title="GNUTLS_VFLAGS_PROFILE_MASK">GNUTLS_VFLAGS_PROFILE_MASK</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS8-PLAIN:CAPS" title="GNUTLS_PKCS8_PLAIN">GNUTLS_PKCS8_PLAIN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS8-USE-PKCS12-3DES:CAPS" title="GNUTLS_PKCS8_USE_PKCS12_3DES">GNUTLS_PKCS8_USE_PKCS12_3DES</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS8-USE-PKCS12-ARCFOUR:CAPS" title="GNUTLS_PKCS8_USE_PKCS12_ARCFOUR">GNUTLS_PKCS8_USE_PKCS12_ARCFOUR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS8-USE-PKCS12-RC2-40:CAPS" title="GNUTLS_PKCS8_USE_PKCS12_RC2_40">GNUTLS_PKCS8_USE_PKCS12_RC2_40</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t">gnutls_pkcs_encrypt_flags_t</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PKCS12-3DES:CAPS" title="GNUTLS_PKCS_USE_PKCS12_3DES">GNUTLS_PKCS_USE_PKCS12_3DES</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PKCS12-ARCFOUR:CAPS" title="GNUTLS_PKCS_USE_PKCS12_ARCFOUR">GNUTLS_PKCS_USE_PKCS12_ARCFOUR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PKCS12-RC2-40:CAPS" title="GNUTLS_PKCS_USE_PKCS12_RC2_40">GNUTLS_PKCS_USE_PKCS12_RC2_40</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-3DES:CAPS" title="GNUTLS_PKCS_USE_PBES2_3DES">GNUTLS_PKCS_USE_PBES2_3DES</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-AES-128:CAPS" title="GNUTLS_PKCS_USE_PBES2_AES_128">GNUTLS_PKCS_USE_PBES2_AES_128</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-AES-192:CAPS" title="GNUTLS_PKCS_USE_PBES2_AES_192">GNUTLS_PKCS_USE_PBES2_AES_192</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-AES-256:CAPS" title="GNUTLS_PKCS_USE_PBES2_AES_256">GNUTLS_PKCS_USE_PBES2_AES_256</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-TC26Z:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_TC26Z">GNUTLS_PKCS_USE_PBES2_GOST_TC26Z</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPA:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_CPA">GNUTLS_PKCS_USE_PBES2_GOST_CPA</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPB:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_CPB">GNUTLS_PKCS_USE_PBES2_GOST_CPB</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPC:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_CPC">GNUTLS_PKCS_USE_PBES2_GOST_CPC</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPD:CAPS" title="GNUTLS_PKCS_USE_PBES2_GOST_CPD">GNUTLS_PKCS_USE_PBES2_GOST_CPD</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-keygen-types-t" title="enum gnutls_keygen_types_t">gnutls_keygen_types_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-keygen-data-st" title="gnutls_keygen_data_st">gnutls_keygen_data_st</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t">gnutls_x509_trust_list_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-iter-t" title="gnutls_x509_trust_list_iter_t">gnutls_x509_trust_list_iter_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-trust-list-flags-t" title="enum gnutls_trust_list_flags_t">gnutls_trust_list_flags_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="gnutls-x509.html#gnutls-x509-ext-st" title="gnutls_x509_ext_st">gnutls_x509_ext_st</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="gnutls-x509.description"></a><h2>Description</h2> +</div> +<div class="refsect1"> +<a name="gnutls-x509.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gnutls-x509-crt-init"></a><h3>gnutls_x509_crt_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *cert</code></em>);</pre> +<p>This function will initialize an X.509 certificate structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-deinit"></a><h3>gnutls_x509_crt_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_crt_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>);</pre> +<p>This function will deinitialize a certificate structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>The data to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-flags"></a><h3>gnutls_x509_crt_set_flags ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_crt_set_flags (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will set flags for the specified certificate. +Currently this is useful for the <a class="link" href="gnutls-x509.html#GNUTLS-X509-CRT-FLAG-IGNORE-SANITY:CAPS"><code class="literal">GNUTLS_X509_CRT_FLAG_IGNORE_SANITY</code></a> +which allows importing certificates even if they have known issues.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-flags.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>A type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from the <a class="link" href="gnutls-x509.html#gnutls-x509-crt-flags" title="enum gnutls_x509_crt_flags"><code class="literal">gnutls_x509_crt_flags</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-equals"></a><h3>gnutls_x509_crt_equals ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_crt_equals (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert1</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert2</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-equals2"></a><h3>gnutls_x509_crt_equals2 ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_crt_equals2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert1</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *der</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-import"></a><h3>gnutls_x509_crt_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);</pre> +<p>This function will convert the given DER or PEM encoded Certificate +to the native gnutls_x509_crt_t format. The output will be stored +in <em class="parameter"><code>cert</code></em> +.</p> +<p>If the Certificate is PEM encoded it should have a header of "X509 +CERTIFICATE", or "CERTIFICATE".</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-import.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>The data to store the parsed certificate.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The DER or PEM encoded certificate.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-import.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-list-import2"></a><h3>gnutls_x509_crt_list_import2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_list_import2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> **certs</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *size</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will convert the given PEM encoded certificate list +to the native gnutls_x509_crt_t format. The output will be stored +in <em class="parameter"><code>certs</code></em> + which will be allocated and initialized.</p> +<p>If the Certificate is PEM encoded it should have a header of "X509 +CERTIFICATE", or "CERTIFICATE".</p> +<p>To deinitialize <em class="parameter"><code>certs</code></em> +, you need to deinitialize each crt structure +independently, and use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a> at <em class="parameter"><code>certs</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-import2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>certs</p></td> +<td class="parameter_description"><p>Will hold the parsed certificate list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>size</p></td> +<td class="parameter_description"><p>It will contain the size of the list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The PEM encoded certificate.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be (0) or an OR'd sequence of gnutls_certificate_import_flags.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-import2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-list-import"></a><h3>gnutls_x509_crt_list_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_list_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *certs</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *cert_max</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will convert the given PEM encoded certificate list +to the native gnutls_x509_crt_t format. The output will be stored +in <em class="parameter"><code>certs</code></em> +. They will be automatically initialized.</p> +<p>The flag <a class="link" href="gnutls-x509.html#GNUTLS-X509-CRT-LIST-IMPORT-FAIL-IF-EXCEED:CAPS"><code class="literal">GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED</code></a> will cause +import to fail if the certificates in the provided buffer are more +than the available structures. The <a class="link" href="gnutls-x509.html#GNUTLS-X509-CRT-LIST-FAIL-IF-UNSORTED:CAPS"><code class="literal">GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED</code></a> +flag will cause the function to fail if the provided list is not +sorted from subject to issuer.</p> +<p>If the Certificate is PEM encoded it should have a header of "X509 +CERTIFICATE", or "CERTIFICATE".</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-import.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>certs</p></td> +<td class="parameter_description"><p>Indicates where the parsed list will be copied to. Must not be initialized.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_max</p></td> +<td class="parameter_description"><p>Initially must hold the maximum number of certs. It will be updated with the number of certs available.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The PEM encoded certificate.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be (0) or an OR'd sequence of gnutls_certificate_import_flags.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-import.returns"></a><h4>Returns</h4> +<p> the number of certificates read or a negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-import-url"></a><h3>gnutls_x509_crt_import_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_import_url (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import a certificate present in a PKCS<span class="type">11</span> token +or any type of back-end that supports URLs.</p> +<p>In previous versions of gnutls this function was named +gnutls_x509_crt_import_pkcs11_url, and the old name is +an alias to this one.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-import-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>A certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_* flags for PKCS<span class="type">11</span> URLs or zero otherwise</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-import-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-list-import-url"></a><h3>gnutls_x509_crt_list_import_url ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_list_import_url (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> **certs</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *size</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *url</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> pin_fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *pin_fn_userdata</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import a certificate chain present in a PKCS<span class="type">11</span> token +or any type of back-end that supports URLs. The certificates +must be deinitialized afterwards using <a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()"><code class="function">gnutls_x509_crt_deinit()</code></a> +and the returned pointer must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<p>The URI provided must be the first certificate in the chain; subsequent +certificates will be retrieved using <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer" title="gnutls_pkcs11_get_raw_issuer ()"><code class="function">gnutls_pkcs11_get_raw_issuer()</code></a> or +equivalent functionality for the supported URI.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-import-url.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>certs</p></td> +<td class="parameter_description"><p>Will hold the allocated certificate list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>size</p></td> +<td class="parameter_description"><p>It will contain the size of the list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>url</p></td> +<td class="parameter_description"><p>A PKCS 11 url</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pin_fn</p></td> +<td class="parameter_description"><p>a PIN callback if not globally set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pin_fn_userdata</p></td> +<td class="parameter_description"><p>parameter for the PIN callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>One of GNUTLS_PKCS11_OBJ_* flags for PKCS<span class="type">11</span> URLs or zero otherwise</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-import-url.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-export"></a><h3>gnutls_x509_crt_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_export (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will export the certificate to DER or PEM format.</p> +<p>If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN CERTIFICATE".</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-export.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain a certificate PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-export.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-export2"></a><h3>gnutls_x509_crt_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_export2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the certificate to DER or PEM format. +The output buffer is allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN CERTIFICATE".</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-export2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain a certificate PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-export2.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-private-key-usage-period"></a><h3>gnutls_x509_crt_get_private_key_usage_period ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_private_key_usage_period + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">time_t</span> *activation</code></em>, + <em class="parameter"><code><span class="type">time_t</span> *expiration</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the expiration and activation +times of the private key of the certificate. It relies on +the PKIX extension 2.5.29.16 being present.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-private-key-usage-period.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>activation</p></td> +<td class="parameter_description"><p>The activation time</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>expiration</p></td> +<td class="parameter_description"><p>The expiration time</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>the extension status</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-private-key-usage-period.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +if the extension is not present, otherwise a negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer-dn"></a><h3>gnutls_x509_crt_get_issuer_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">char</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>);</pre> +<p>This function will copy the name of the Certificate issuer in the +provided buffer. The name will be in the form +"C=xxxx,O=yyyy,CN=zzzz" as described in RFC4514. The output string +will be ASCII or UTF-8 encoded, depending on the certificate data.</p> +<p>If <em class="parameter"><code>buf</code></em> + is null then only the size will be filled.</p> +<p>This function does not output a fully RFC4514 compliant string, if +that is required see <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn3" title="gnutls_x509_crt_get_issuer_dn3 ()"><code class="function">gnutls_x509_crt_get_issuer_dn3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is not +long enough, and in that case the <em class="parameter"><code>buf_size</code></em> +will be updated +with the required size. <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> if +the DN does not exist, or another error value on error. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer-dn2"></a><h3>gnutls_x509_crt_get_issuer_dn2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer_dn2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>);</pre> +<p>This function will allocate buffer and copy the name of issuer of the Certificate. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>This function does not output a fully RFC4514 compliant string, if +that is required see <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn3" title="gnutls_x509_crt_get_issuer_dn3 ()"><code class="function">gnutls_x509_crt_get_issuer_dn3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name; must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer-dn3"></a><h3>gnutls_x509_crt_get_issuer_dn3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer_dn3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will allocate buffer and copy the name of issuer of the Certificate. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>When the flag <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a> is specified, the output +format will match the format output by previous to 3.5.6 versions of GnuTLS +which was not not fully RFC4514-compliant.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name; must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer-dn-oid"></a><h3>gnutls_x509_crt_get_issuer_dn_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer_dn_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>);</pre> +<p>This function will extract the OIDs of the name of the Certificate +issuer specified by the given index.</p> +<p>If <em class="parameter"><code>oid</code></em> + is null then only the size will be filled. The <em class="parameter"><code>oid</code></em> + +returned will be null terminated, although <em class="parameter"><code>oid_size</code></em> + will not +account for the trailing null.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>This specifies which OID to return. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a buffer to hold the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is not +long enough, and in that case the <em class="parameter"><code>buf_size</code></em> +will be updated with +the required size. <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> if there +are no data in the current index. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer-dn-by-oid"></a><h3>gnutls_x509_crt_get_issuer_dn_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer_dn_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> raw_flag</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>);</pre> +<p>This function will extract the part of the name of the Certificate +issuer specified by the given OID. The output, if the raw flag is not +used, will be encoded as described in RFC4514. Thus a string that is +ASCII or UTF-8 encoded, depending on the certificate data.</p> +<p>Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is (0), this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC4514 -- +in hex format with a '#' prefix. You can check about known OIDs +using <a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-known" title="gnutls_x509_dn_oid_known ()"><code class="function">gnutls_x509_dn_oid_known()</code></a>.</p> +<p>If <em class="parameter"><code>buf</code></em> + is null then only the size will be filled. If the <em class="parameter"><code>raw_flag</code></em> + +is not specified the output is always null terminated, although the +<em class="parameter"><code>buf_size</code></em> + will not include the null character.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identified in null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the RDN, this specifies which to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_flag</p></td> +<td class="parameter_description"><p>If non-zero returns the raw DER data of the DN part.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-dn-by-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is not +long enough, and in that case the <em class="parameter"><code>buf_size</code></em> +will be updated with +the required size. <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> if there +are no data in the current index. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-dn"></a><h3>gnutls_x509_crt_get_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">char</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>);</pre> +<p>This function will copy the name of the Certificate in the provided +buffer. The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>The <em class="parameter"><code>buf</code></em> + returned will be null terminated and the <em class="parameter"><code>buf_size</code></em> + will account +for the trailing null. If <em class="parameter"><code>buf</code></em> + is null then only the size will be filled.</p> +<p>This function does not output a fully RFC4514 compliant string, if +that is required see <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn3" title="gnutls_x509_crt_get_dn3 ()"><code class="function">gnutls_x509_crt_get_dn3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is not +long enough, and in that case the <em class="parameter"><code>buf_size</code></em> +will be updated +with the required size. <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> if +the DN does not exist, or another error value on error. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-dn2"></a><h3>gnutls_x509_crt_get_dn2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_dn2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>);</pre> +<p>This function will allocate buffer and copy the name of the Certificate. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>This function does not output a fully RFC4514 compliant string, if +that is required see <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-dn3" title="gnutls_x509_crt_get_dn3 ()"><code class="function">gnutls_x509_crt_get_dn3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name; must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-dn3"></a><h3>gnutls_x509_crt_get_dn3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_dn3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will allocate buffer and copy the name of the Certificate. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>When the flag <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a> is specified, the output +format will match the format output by previous to 3.5.6 versions of GnuTLS +which was not not fully RFC4514-compliant.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name; must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-dn-oid"></a><h3>gnutls_x509_crt_get_dn_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_dn_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>);</pre> +<p>This function will extract the OIDs of the name of the Certificate +subject specified by the given index.</p> +<p>If <em class="parameter"><code>oid</code></em> + is null then only the size will be filled. The <em class="parameter"><code>oid</code></em> + +returned will be null terminated, although <em class="parameter"><code>oid_size</code></em> + will not +account for the trailing null.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>This specifies which OID to return. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a buffer to hold the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is not +long enough, and in that case the <em class="parameter"><code>buf_size</code></em> +will be updated with +the required size. <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> if there +are no data in the current index. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-dn-by-oid"></a><h3>gnutls_x509_crt_get_dn_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_dn_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> raw_flag</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>);</pre> +<p>This function will extract the part of the name of the Certificate +subject specified by the given OID. The output, if the raw flag is +not used, will be encoded as described in RFC4514. Thus a string +that is ASCII or UTF-8 encoded, depending on the certificate data.</p> +<p>Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is (0), this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC4514 -- +in hex format with a '#' prefix. You can check about known OIDs +using <a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-known" title="gnutls_x509_dn_oid_known ()"><code class="function">gnutls_x509_dn_oid_known()</code></a>.</p> +<p>If <em class="parameter"><code>buf</code></em> + is null then only the size will be filled. If the <em class="parameter"><code>raw_flag</code></em> + +is not specified the output is always null terminated, although the +<em class="parameter"><code>buf_size</code></em> + will not include the null character.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identified in null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the RDN, this specifies which to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_flag</p></td> +<td class="parameter_description"><p>If non-zero returns the raw DER data of the DN part.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer where the DN part will be copied (may be null).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-dn-by-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is not +long enough, and in that case the <em class="parameter"><code>buf_size</code></em> +will be updated with +the required size. <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> if there +are no data in the current index. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-check-hostname"></a><h3>gnutls_x509_crt_check_hostname ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_crt_check_hostname (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *hostname</code></em>);</pre> +<p>This function will check if the given certificate's subject matches +the given hostname. This is a basic implementation of the matching +described in RFC6125, and takes into account wildcards, +and the DNSName/IPAddress subject alternative name PKIX extension.</p> +<p>For details see also <a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-hostname2" title="gnutls_x509_crt_check_hostname2 ()"><code class="function">gnutls_x509_crt_check_hostname2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-hostname.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain an gnutls_x509_crt_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hostname</p></td> +<td class="parameter_description"><p>A null terminated string that contains a DNS name</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-hostname.returns"></a><h4>Returns</h4> +<p> non-zero for a successful match, and zero on failure.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-check-hostname2"></a><h3>gnutls_x509_crt_check_hostname2 ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_crt_check_hostname2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *hostname</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will check if the given certificate's subject matches +the given hostname. This is a basic implementation of the matching +described in RFC6125, and takes into account wildcards, +and the DNSName/IPAddress subject alternative name PKIX extension.</p> +<p>IPv4 addresses are accepted by this function in the dotted-decimal +format (e.g, ddd.ddd.ddd.ddd), and IPv6 addresses in the hexadecimal +x:x:x:x:x:x:x:x format. For them the IPAddress subject alternative +name extension is consulted. Previous versions to 3.6.0 of GnuTLS +in case of a non-match would consult (in a non-standard extension) +the DNSname and CN fields. This is no longer the case.</p> +<p>When the flag <a class="link" href="gnutls-x509.html#GNUTLS-VERIFY-DO-NOT-ALLOW-WILDCARDS:CAPS"><code class="literal">GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS</code></a> is specified no +wildcards are considered. Otherwise they are only considered if the +domain name consists of three components or more, and the wildcard +starts at the leftmost position.</p> +<p>When the flag <a class="link" href="gnutls-x509.html#GNUTLS-VERIFY-DO-NOT-ALLOW-IP-MATCHES:CAPS"><code class="literal">GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES</code></a> is specified, +the input will be treated as a DNS name, and matching of textual IP addresses +against the IPAddress part of the alternative name will not be allowed.</p> +<p>The function <a class="link" href="gnutls-x509.html#gnutls-x509-crt-check-ip" title="gnutls_x509_crt_check_ip ()"><code class="function">gnutls_x509_crt_check_ip()</code></a> is available for matching +IP addresses.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-hostname2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain an gnutls_x509_crt_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hostname</p></td> +<td class="parameter_description"><p>A null terminated string that contains a DNS name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>gnutls_certificate_verify_flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-hostname2.returns"></a><h4>Returns</h4> +<p> non-zero for a successful match, and zero on failure.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-check-email"></a><h3>gnutls_x509_crt_check_email ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_crt_check_email (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *email</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will check if the given certificate's subject matches +the given email address.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-email.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain an gnutls_x509_crt_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>email</p></td> +<td class="parameter_description"><p>A null terminated string that contains an email address (RFC822)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-email.returns"></a><h4>Returns</h4> +<p> non-zero for a successful match, and zero on failure.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-check-ip"></a><h3>gnutls_x509_crt_check_ip ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_crt_check_ip (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> *ip</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> ip_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will check if the IP allowed IP addresses in +the certificate's subject alternative name match the provided +IP address.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-ip.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain an gnutls_x509_crt_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ip</p></td> +<td class="parameter_description"><p>A pointer to the raw IP address</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ip_size</p></td> +<td class="parameter_description"><p>the number of bytes in ip (4 or 16)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-ip.returns"></a><h4>Returns</h4> +<p> non-zero for a successful match, and zero on failure.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-signature-algorithm"></a><h3>gnutls_x509_crt_get_signature_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_signature_algorithm + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>);</pre> +<p>This function will return a value of the <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> +enumeration that is the signature algorithm that has been used to +sign this certificate.</p> +<p>Since 3.6.0 this function never returns a negative error code. +Error cases and unknown/unsupported signature algorithms are +mapped to <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-UNKNOWN:CAPS"><code class="literal">GNUTLS_SIGN_UNKNOWN</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-signature-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-signature-algorithm.returns"></a><h4>Returns</h4> +<p> a <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> value</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-signature"></a><h3>gnutls_x509_crt_get_signature ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_signature (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">char</span> *sig</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_sig</code></em>);</pre> +<p>This function will extract the signature field of a certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-signature.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sig</p></td> +<td class="parameter_description"><p>a pointer where the signature part will be copied (may be null).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sig_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>sig</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-signature.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-version"></a><h3>gnutls_x509_crt_get_version ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_version (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>);</pre> +<p>This function will return the version of the specified Certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-version.returns"></a><h4>Returns</h4> +<p> version of certificate, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-pk-oid"></a><h3>gnutls_x509_crt_get_pk_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_pk_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>);</pre> +<p>This function will return the OID of the public key algorithm +on that certificate. This is function +is useful in the case <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-pk-algorithm" title="gnutls_x509_crt_get_pk_algorithm ()"><code class="function">gnutls_x509_crt_get_pk_algorithm()</code></a> +returned <a class="link" href="gnutls-gnutls.html#GNUTLS-PK-UNKNOWN:CAPS"><code class="literal">GNUTLS_PK_UNKNOWN</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a buffer to hold the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-oid.returns"></a><h4>Returns</h4> +<p> zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-signature-oid"></a><h3>gnutls_x509_crt_get_signature_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_signature_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>);</pre> +<p>This function will return the OID of the signature algorithm +that has been used to sign this certificate. This is function +is useful in the case <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-signature-algorithm" title="gnutls_x509_crt_get_signature_algorithm ()"><code class="function">gnutls_x509_crt_get_signature_algorithm()</code></a> +returned <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-UNKNOWN:CAPS"><code class="literal">GNUTLS_SIGN_UNKNOWN</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-signature-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a buffer to hold the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-signature-oid.returns"></a><h4>Returns</h4> +<p> zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-key-id"></a><h3>gnutls_x509_crt_get_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will return a unique ID that depends on the public +key parameters. This ID can be used in checking whether a +certificate corresponds to the given private key.</p> +<p>If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned. The output will normally be a SHA-1 hash output, +which is 20 bytes.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be one of the flags from <a class="link" href="gnutls-x509.html#gnutls-keyid-flags-t" title="enum gnutls_keyid_flags_t"><code class="literal">gnutls_keyid_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain the key ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-key-id.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-private-key-usage-period"></a><h3>gnutls_x509_crt_set_private_key_usage_period ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_private_key_usage_period + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><span class="type">time_t</span> activation</code></em>, + <em class="parameter"><code><span class="type">time_t</span> expiration</code></em>);</pre> +<p>This function will set the private key usage period extension (2.5.29.16).</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-private-key-usage-period.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>activation</p></td> +<td class="parameter_description"><p>The activation time</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>expiration</p></td> +<td class="parameter_description"><p>The expiration time</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-private-key-usage-period.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-authority-key-id"></a><h3>gnutls_x509_crt_set_authority_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_authority_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *id</code></em>, + <em class="parameter"><code><span class="type">size_t</span> id_size</code></em>);</pre> +<p>This function will set the X.509 certificate's authority key ID extension. +Only the keyIdentifier field can be set with this function.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-authority-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>The key ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id_size</p></td> +<td class="parameter_description"><p>Holds the size of the key ID field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-authority-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-authority-key-id"></a><h3>gnutls_x509_crt_get_authority_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_authority_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">void</span> *id</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *id_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the X.509v3 certificate authority's key +identifier. This is obtained by the X.509 Authority Key +identifier extension field (2.5.29.35). Note that this function +only returns the keyIdentifier field of the extension and +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-EXTENSION:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_EXTENSION"><code class="literal">GNUTLS_E_X509_UNSUPPORTED_EXTENSION</code></a>, if the extension contains +the name and serial number of the certificate. In that case +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-authority-key-gn-serial" title="gnutls_x509_crt_get_authority_key_gn_serial ()"><code class="function">gnutls_x509_crt_get_authority_key_gn_serial()</code></a> may be used.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-authority-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>The place where the identifier will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id_size</p></td> +<td class="parameter_description"><p>Holds the size of the id field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-authority-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +if the extension is not present, otherwise a negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-authority-key-gn-serial"></a><h3>gnutls_x509_crt_get_authority_key_gn_serial ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_authority_key_gn_serial + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *alt</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *alt_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *alt_type</code></em>, + <em class="parameter"><code><span class="type">void</span> *serial</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *serial_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the X.509 authority key +identifier when stored as a general name (authorityCertIssuer) +and serial number.</p> +<p>Because more than one general names might be stored +<em class="parameter"><code>seq</code></em> + can be used as a counter to request them all until +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-authority-key-gn-serial.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alt</p></td> +<td class="parameter_description"><p>is the place where the alternative name will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alt_size</p></td> +<td class="parameter_description"><p>holds the size of alt.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alt_type</p></td> +<td class="parameter_description"><p>holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial</p></td> +<td class="parameter_description"><p>buffer to store the serial number (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial_size</p></td> +<td class="parameter_description"><p>Holds the size of the serial field (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-authority-key-gn-serial.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +if the extension is not present, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-subject-key-id"></a><h3>gnutls_x509_crt_get_subject_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_subject_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">void</span> *ret</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ret_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the X.509v3 certificate's subject key +identifier. This is obtained by the X.509 Subject Key identifier +extension field (2.5.29.14).</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret</p></td> +<td class="parameter_description"><p>The place where the identifier will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret_size</p></td> +<td class="parameter_description"><p>Holds the size of the result field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +if the extension is not present, otherwise a negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-subject-unique-id"></a><h3>gnutls_x509_crt_get_subject_unique_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_subject_unique_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><span class="type">char</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>);</pre> +<p>This function will extract the subjectUniqueID value (if present) for +the given certificate.</p> +<p>If the user allocated memory buffer is not large enough to hold the +full subjectUniqueID, then a GNUTLS_E_SHORT_MEMORY_BUFFER error will be +returned, and buf_size will be set to the actual length.</p> +<p>This function had a bug prior to 3.4.8 that prevented the setting +of <code class="literal">NULL</code> <em class="parameter"><code>buf</code></em> + to discover the <em class="parameter"><code>buf_size</code></em> +. To use this function safely +with the older versions the <em class="parameter"><code>buf</code></em> + must be a valid buffer that can hold +at least a single byte if <em class="parameter"><code>buf_size</code></em> + is zero.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-unique-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>user allocated memory buffer, will hold the unique id</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>size of user allocated memory buffer (on input), will hold +actual size of the unique ID on return.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-unique-id.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer-unique-id"></a><h3>gnutls_x509_crt_get_issuer_unique_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer_unique_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><span class="type">char</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>);</pre> +<p>This function will extract the issuerUniqueID value (if present) for +the given certificate.</p> +<p>If the user allocated memory buffer is not large enough to hold the +full subjectUniqueID, then a GNUTLS_E_SHORT_MEMORY_BUFFER error will be +returned, and buf_size will be set to the actual length.</p> +<p>This function had a bug prior to 3.4.8 that prevented the setting +of <code class="literal">NULL</code> <em class="parameter"><code>buf</code></em> + to discover the <em class="parameter"><code>buf_size</code></em> +. To use this function safely +with the older versions the <em class="parameter"><code>buf</code></em> + must be a valid buffer that can hold +at least a single byte if <em class="parameter"><code>buf_size</code></em> + is zero.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-unique-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>user allocated memory buffer, will hold the unique id</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>size of user allocated memory buffer (on input), will hold +actual size of the unique ID on return.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-unique-id.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-pin-function"></a><h3>gnutls_x509_crt_set_pin_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_crt_set_pin_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +<p>This function will set a callback function to be used when +it is required to access a protected object. This function overrides +the global function set using <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" title="gnutls_pkcs11_set_pin_function ()"><code class="function">gnutls_pkcs11_set_pin_function()</code></a>.</p> +<p>Note that this callback is currently used only during the import +of a PKCS <span class="type">11</span> certificate with <a class="link" href="gnutls-x509.html#gnutls-x509-crt-import-url" title="gnutls_x509_crt_import_url ()"><code class="function">gnutls_x509_crt_import_url()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-pin-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>The certificate structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fn</p></td> +<td class="parameter_description"><p>the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>data associated with the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-authority-info-access"></a><h3>gnutls_x509_crt_get_authority_info_access ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_authority_info_access + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">int</span> what</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>Note that a simpler API to access the authority info data is provided +by <code class="function">gnutls_x509_aia_get()</code> and <code class="function">gnutls_x509_ext_import_aia()</code>.</p> +<p>This function extracts the Authority Information Access (AIA) +extension, see RFC 5280 section 4.2.2.1 for more information. The +AIA extension holds a sequence of AccessDescription (AD) data.</p> +<p>The <em class="parameter"><code>seq</code></em> + input parameter is used to indicate which member of the +sequence the caller is interested in. The first member is 0, the +second member 1 and so on. When the <em class="parameter"><code>seq</code></em> + value is out of bounds, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +<p>The type of data returned in <em class="parameter"><code>data</code></em> + is specified via <em class="parameter"><code>what</code></em> + which +should be <a class="link" href="gnutls-x509.html#gnutls-info-access-what-t" title="enum gnutls_info_access_what_t"><span class="type">gnutls_info_access_what_t</span></a> values.</p> +<p>If <em class="parameter"><code>what</code></em> + is <a class="link" href="gnutls-x509.html#GNUTLS-IA-ACCESSMETHOD-OID:CAPS"><code class="literal">GNUTLS_IA_ACCESSMETHOD_OID</code></a> then <em class="parameter"><code>data</code></em> + will hold the +accessMethod OID (e.g., "1.3.6.1.5.5.7.48.1").</p> +<p>If <em class="parameter"><code>what</code></em> + is <a class="link" href="gnutls-x509.html#GNUTLS-IA-ACCESSLOCATION-GENERALNAME-TYPE:CAPS"><code class="literal">GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE</code></a>, <em class="parameter"><code>data</code></em> + will +hold the accessLocation GeneralName type (e.g., +"uniformResourceIdentifier").</p> +<p>If <em class="parameter"><code>what</code></em> + is <a class="link" href="gnutls-x509.html#GNUTLS-IA-URI:CAPS"><code class="literal">GNUTLS_IA_URI</code></a>, <em class="parameter"><code>data</code></em> + will hold the accessLocation URI +data. Requesting this <em class="parameter"><code>what</code></em> + value leads to an error if the +accessLocation is not of the "uniformResourceIdentifier" type.</p> +<p>If <em class="parameter"><code>what</code></em> + is <a class="link" href="gnutls-x509.html#GNUTLS-IA-OCSP-URI:CAPS"><code class="literal">GNUTLS_IA_OCSP_URI</code></a>, <em class="parameter"><code>data</code></em> + will hold the OCSP URI. +Requesting this <em class="parameter"><code>what</code></em> + value leads to an error if the accessMethod +is not 1.3.6.1.5.5.7.48.1 aka OCSP, or if accessLocation is not of +the "uniformResourceIdentifier" type. In that case <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_ALGORITHM"><code class="literal">GNUTLS_E_UNKNOWN_ALGORITHM</code></a> +will be returned, and <em class="parameter"><code>seq</code></em> + should be increased and this function +called again.</p> +<p>If <em class="parameter"><code>what</code></em> + is <a class="link" href="gnutls-x509.html#GNUTLS-IA-CAISSUERS-URI:CAPS"><code class="literal">GNUTLS_IA_CAISSUERS_URI</code></a>, <em class="parameter"><code>data</code></em> + will hold the caIssuers +URI. Requesting this <em class="parameter"><code>what</code></em> + value leads to an error if the +accessMethod is not 1.3.6.1.5.5.7.48.2 aka caIssuers, or if +accessLocation is not of the "uniformResourceIdentifier" type. +In that case handle as in <a class="link" href="gnutls-x509.html#GNUTLS-IA-OCSP-URI:CAPS"><code class="literal">GNUTLS_IA_OCSP_URI</code></a>.</p> +<p>More <em class="parameter"><code>what</code></em> + values may be allocated in the future as needed.</p> +<p>If <em class="parameter"><code>data</code></em> + is NULL, the function does the same without storing the +output data, that is, it will set <em class="parameter"><code>critical</code></em> + and do error checking +as usual.</p> +<p>The value of the critical flag is returned in *<em class="parameter"><code>critical</code></em> +. Supply a +NULL <em class="parameter"><code>critical</code></em> + if you want the function to make sure the extension +is non-critical, as required by RFC 5280.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-authority-info-access.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the access descriptor (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>what</p></td> +<td class="parameter_description"><p>what data to get, a <a class="link" href="gnutls-x509.html#gnutls-info-access-what-t" title="enum gnutls_info_access_what_t"><span class="type">gnutls_info_access_what_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>output data to be freed with <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>pointer to output integer that is set to non-zero if the extension is marked as critical (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-authority-info-access.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> on +invalid <em class="parameter"><code>crt</code></em> +, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CONSTRAINT-ERROR:CAPS" title="GNUTLS_E_CONSTRAINT_ERROR"><code class="literal">GNUTLS_E_CONSTRAINT_ERROR</code></a> if the extension is +incorrectly marked as critical (use a non-NULL <em class="parameter"><code>critical</code></em> +to +override), <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_ALGORITHM"><code class="literal">GNUTLS_E_UNKNOWN_ALGORITHM</code></a> if the requested OID does +not match (e.g., when using <a class="link" href="gnutls-x509.html#GNUTLS-IA-OCSP-URI:CAPS"><code class="literal">GNUTLS_IA_OCSP_URI</code></a>), otherwise a +negative error code.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-name-constraints-check"></a><h3>gnutls_x509_name_constraints_check ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_name_constraints_check (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> nc</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> type</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *name</code></em>);</pre> +<p>This function will check the provided name against the constraints in +<em class="parameter"><code>nc</code></em> + using the RFC5280 rules. Currently this function is limited to DNS +names, emails and IP addresses (of type <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"><code class="literal">GNUTLS_SAN_DNSNAME</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"><code class="literal">GNUTLS_SAN_RFC822NAME</code></a> and <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-IPADDRESS:CAPS"><code class="literal">GNUTLS_SAN_IPADDRESS</code></a>).</p> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-check.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>the extracted name constraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>the type of the constraint to check (of type gnutls_x509_subject_alt_name_t)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>the name to be checked</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-check.returns"></a><h4>Returns</h4> +<p> zero if the provided name is not acceptable, and non-zero otherwise.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-name-constraints-check-crt"></a><h3>gnutls_x509_name_constraints_check_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_name_constraints_check_crt + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> nc</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>);</pre> +<p>This function will check the provided certificate names against the constraints in +<em class="parameter"><code>nc</code></em> + using the RFC5280 rules. It will traverse all the certificate's names and +alternative names.</p> +<p>Currently this function is limited to DNS +names and emails (of type <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"><code class="literal">GNUTLS_SAN_DNSNAME</code></a> and <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"><code class="literal">GNUTLS_SAN_RFC822NAME</code></a>).</p> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-check-crt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>the extracted name constraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>the type of the constraint to check (of type gnutls_x509_subject_alt_name_t)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>the certificate to be checked</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-check-crt.returns"></a><h4>Returns</h4> +<p> zero if the provided name is not acceptable, and non-zero otherwise.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-name-constraints-init"></a><h3>gnutls_x509_name_constraints_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_name_constraints_init (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> *nc</code></em>);</pre> +<p>This function will initialize a name constraints type.</p> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>The nameconstraints</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-name-constraints-deinit"></a><h3>gnutls_x509_name_constraints_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_name_constraints_deinit (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> nc</code></em>);</pre> +<p>This function will deinitialize a name constraints type.</p> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>The nameconstraints</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-name-constraints"></a><h3>gnutls_x509_crt_get_name_constraints ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_name_constraints (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> nc</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return an intermediate type containing +the name constraints of the provided CA certificate. That +structure can be used in combination with <a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-check" title="gnutls_x509_name_constraints_check ()"><code class="function">gnutls_x509_name_constraints_check()</code></a> +to verify whether a server's name is in accordance with the constraints.</p> +<p>When the <em class="parameter"><code>flags</code></em> + is set to <a class="link" href="gnutls-x509.html#GNUTLS-EXT-FLAG-APPEND:CAPS" title="GNUTLS_EXT_FLAG_APPEND"><code class="literal">GNUTLS_EXT_FLAG_APPEND</code></a>, +then if the <em class="parameter"><code>nc</code></em> + structure is empty this function will behave +identically as if the flag was not set. +Otherwise if there are elements in the <em class="parameter"><code>nc</code></em> + structure then the +constraints will be merged with the existing constraints following +RFC5280 p6.1.4 (excluded constraints will be appended, permitted +will be intersected).</p> +<p>Note that <em class="parameter"><code>nc</code></em> + must be initialized prior to calling this function.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-name-constraints.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>The nameconstraints intermediate type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-EXT-FLAG-APPEND:CAPS" title="GNUTLS_EXT_FLAG_APPEND"><code class="literal">GNUTLS_EXT_FLAG_APPEND</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>the extension status</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-name-constraints.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +if the extension is not present, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-name-constraints-add-permitted"></a><h3>gnutls_x509_name_constraints_add_permitted ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_name_constraints_add_permitted + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> nc</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> type</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *name</code></em>);</pre> +<p>This function will add a name constraint to the list of permitted +constraints. The constraints <em class="parameter"><code>type</code></em> + can be any of the following types: +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"><code class="literal">GNUTLS_SAN_DNSNAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"><code class="literal">GNUTLS_SAN_RFC822NAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DN:CAPS"><code class="literal">GNUTLS_SAN_DN</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-URI:CAPS"><code class="literal">GNUTLS_SAN_URI</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-IPADDRESS:CAPS"><code class="literal">GNUTLS_SAN_IPADDRESS</code></a>. For the latter, an IP address +in network byte order is expected, followed by its network mask.</p> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-add-permitted.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>The nameconstraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The type of the constraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>The data of the constraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-add-permitted.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-name-constraints-add-excluded"></a><h3>gnutls_x509_name_constraints_add_excluded ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_name_constraints_add_excluded + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> nc</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> type</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *name</code></em>);</pre> +<p>This function will add a name constraint to the list of excluded +constraints. The constraints <em class="parameter"><code>type</code></em> + can be any of the following types: +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"><code class="literal">GNUTLS_SAN_DNSNAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"><code class="literal">GNUTLS_SAN_RFC822NAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DN:CAPS"><code class="literal">GNUTLS_SAN_DN</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-URI:CAPS"><code class="literal">GNUTLS_SAN_URI</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-IPADDRESS:CAPS"><code class="literal">GNUTLS_SAN_IPADDRESS</code></a>. For the latter, an IP address +in network byte order is expected, followed by its network mask (which is +4 bytes in IPv4 or 16-bytes in IPv6).</p> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-add-excluded.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>The nameconstraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The type of the constraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>The data of the constraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-add-excluded.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-name-constraints"></a><h3>gnutls_x509_crt_set_name_constraints ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_name_constraints (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> nc</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> critical</code></em>);</pre> +<p>This function will set the provided name constraints to +the certificate extension list. This extension is always +marked as critical.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-name-constraints.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>The certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>The nameconstraints structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>whether this extension will be critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-name-constraints.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-name-constraints-get-permitted"></a><h3>gnutls_x509_name_constraints_get_permitted ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_name_constraints_get_permitted + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> nc</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx</code></em>, + <em class="parameter"><code><span class="type">unsigned</span> *type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *name</code></em>);</pre> +<p>This function will return an intermediate type containing +the name constraints of the provided CA certificate. That +structure can be used in combination with <a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-check" title="gnutls_x509_name_constraints_check ()"><code class="function">gnutls_x509_name_constraints_check()</code></a> +to verify whether a server's name is in accordance with the constraints.</p> +<p>The name should be treated as constant and valid for the lifetime of <em class="parameter"><code>nc</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-get-permitted.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>the extracted name constraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>the index of the constraint</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>the type of the constraint (of type gnutls_x509_subject_alt_name_t)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>the name in the constraint (of the specific type)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-get-permitted.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +if the extension is not present, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-name-constraints-get-excluded"></a><h3>gnutls_x509_name_constraints_get_excluded ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_name_constraints_get_excluded + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-t" title="gnutls_x509_name_constraints_t"><span class="type">gnutls_x509_name_constraints_t</span></a> nc</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx</code></em>, + <em class="parameter"><code><span class="type">unsigned</span> *type</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *name</code></em>);</pre> +<p>This function will return an intermediate type containing +the name constraints of the provided CA certificate. That +structure can be used in combination with <a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-check" title="gnutls_x509_name_constraints_check ()"><code class="function">gnutls_x509_name_constraints_check()</code></a> +to verify whether a server's name is in accordance with the constraints.</p> +<p>The name should be treated as constant and valid for the lifetime of <em class="parameter"><code>nc</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-get-excluded.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>nc</p></td> +<td class="parameter_description"><p>the extracted name constraints</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>the index of the constraint</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>the type of the constraint (of type gnutls_x509_subject_alt_name_t)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>the name in the constraint (of the specific type)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-name-constraints-get-excluded.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +if the extension is not present, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-cidr-to-rfc5280"></a><h3>gnutls_x509_cidr_to_rfc5280 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_cidr_to_rfc5280 (<em class="parameter"><code>const <span class="type">char</span> *cidr</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cidr_rfc5280</code></em>);</pre> +<p>This function will convert text CIDR range with prefix (such as '10.0.0.0/8') +to RFC5280 (IP address in network byte order followed by its network mask). +Works for both IPv4 and IPv6.</p> +<p>The resulting object is directly usable for IP name constraints usage, +for example in functions <a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-add-permitted" title="gnutls_x509_name_constraints_add_permitted ()"><code class="literal">gnutls_x509_name_constraints_add_permitted</code></a> +or <a class="link" href="gnutls-x509.html#gnutls-x509-name-constraints-add-excluded" title="gnutls_x509_name_constraints_add_excluded ()"><code class="literal">gnutls_x509_name_constraints_add_excluded</code></a>.</p> +<p>The data in datum needs to be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-cidr-to-rfc5280.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cidr</p></td> +<td class="parameter_description"><p>CIDR in RFC4632 format (IP/prefix), null-terminated</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cidr_rfc5280</p></td> +<td class="parameter_description"><p>CIDR range converted to RFC5280 format</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-cidr-to-rfc5280.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.5.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-crl-dist-points"></a><h3>gnutls_x509_crt_get_crl_dist_points ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_crl_dist_points (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *ret</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ret_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *reason_flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function retrieves the CRL distribution points (2.5.29.31), +contained in the given certificate in the X509v3 Certificate +Extensions.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-crl-dist-points.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the distribution point (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>san</p></td> +<td class="parameter_description"><p>is the place where the distribution point will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>san_size</p></td> +<td class="parameter_description"><p>holds the size of ret.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>reason_flags</p></td> +<td class="parameter_description"><p>Revocation reasons. An ORed sequence of flags from <a class="link" href="gnutls-x509.html#gnutls-x509-crl-reason-flags-t" title="enum gnutls_x509_crl_reason_flags_t"><code class="literal">gnutls_x509_crl_reason_flags_t</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-crl-dist-points.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> and updates <em class="parameter"><code>ret_size</code></em> +if +<em class="parameter"><code>ret_size</code></em> +is not enough to hold the distribution point, or the +type of the distribution point if everything was ok. The type is +one of the enumerated <a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><code class="literal">gnutls_x509_subject_alt_name_t</code></a>. If the +certificate does not have an Alternative name with the specified +sequence number then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is +returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-crl-dist-points2"></a><h3>gnutls_x509_crt_set_crl_dist_points2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_crl_dist_points2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> reason_flags</code></em>);</pre> +<p>This function will set the CRL distribution points certificate extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crl-dist-points2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is one of the gnutls_x509_subject_alt_name_t enumerations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>The data size</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>reason_flags</p></td> +<td class="parameter_description"><p>revocation reasons</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crl-dist-points2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-crl-dist-points"></a><h3>gnutls_x509_crt_set_crl_dist_points ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_crl_dist_points (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data_string</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> reason_flags</code></em>);</pre> +<p>This function will set the CRL distribution points certificate extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crl-dist-points.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is one of the gnutls_x509_subject_alt_name_t enumerations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_string</p></td> +<td class="parameter_description"><p>The data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>reason_flags</p></td> +<td class="parameter_description"><p>revocation reasons</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crl-dist-points.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-cpy-crl-dist-points"></a><h3>gnutls_x509_crt_cpy_crl_dist_points ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_cpy_crl_dist_points (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> dst</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> src</code></em>);</pre> +<p>This function will copy the CRL distribution points certificate +extension, from the source to the destination certificate. +This may be useful to copy from a CA certificate to issued ones.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-cpy-crl-dist-points.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>src</p></td> +<td class="parameter_description"><p>the certificate where the dist points will be copied from</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-cpy-crl-dist-points.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-sign"></a><h3>gnutls_x509_crl_sign ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_sign (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> issuer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> issuer_key</code></em>);</pre> +<p>This function is the same a <a class="link" href="gnutls-x509.html#gnutls-x509-crl-sign2" title="gnutls_x509_crl_sign2 ()"><code class="function">gnutls_x509_crl_sign2()</code></a> with no flags, +and an appropriate hash algorithm. The hash algorithm used may +vary between versions of GnuTLS, and it is tied to the security +level of the issuer's public key.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-sign.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>is the certificate of the certificate issuer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer_key</p></td> +<td class="parameter_description"><p>holds the issuer's private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-sign.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-sign2"></a><h3>gnutls_x509_crl_sign2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_sign2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> issuer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> issuer_key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> dig</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will sign the CRL with the issuer's private key, and +will copy the issuer's information into the CRL.</p> +<p>This must be the last step in a certificate CRL since all +the previously set parameters are now signed.</p> +<p>A known limitation of this function is, that a newly-signed CRL will not +be fully functional (e.g., for signature verification), until it +is exported an re-imported.</p> +<p>After GnuTLS 3.6.1 the value of <em class="parameter"><code>dig</code></em> + may be <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-UNKNOWN:CAPS"><code class="literal">GNUTLS_DIG_UNKNOWN</code></a>, +and in that case, a suitable but reasonable for the key algorithm will be selected.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-sign2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>is the certificate of the certificate issuer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer_key</p></td> +<td class="parameter_description"><p>holds the issuer's private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>The message digest to use. GNUTLS_DIG_SHA256 is the safe choice unless you know what you're doing.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be 0</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-sign2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-activation-time"></a><h3>gnutls_x509_crt_get_activation_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_x509_crt_get_activation_time (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>);</pre> +<p>This function will return the time this Certificate was or will be +activated.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-activation-time.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-activation-time.returns"></a><h4>Returns</h4> +<p> activation time, or (time_t)-1 on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-expiration-time"></a><h3>gnutls_x509_crt_get_expiration_time ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_x509_crt_get_expiration_time (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>);</pre> +<p>This function will return the time this certificate was or will be +expired.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-expiration-time.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-expiration-time.returns"></a><h4>Returns</h4> +<p> expiration time, or (time_t)-1 on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-serial"></a><h3>gnutls_x509_crt_get_serial ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_serial (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">void</span> *result</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre> +<p>This function will return the X.509 certificate's serial number. +This is obtained by the X509 Certificate serialNumber field. Serial +is not always a 32 or 64bit number. Some CAs use large serial +numbers, thus it may be wise to handle it as something uint8_t.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-serial.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>The place where the serial number will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>result_size</p></td> +<td class="parameter_description"><p>Holds the size of the result field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-serial.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-spki-init"></a><h3>gnutls_x509_spki_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_spki_init (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> *spki</code></em>);</pre> +<p>This function will initialize a SubjectPublicKeyInfo structure used +in PKIX. The structure is used to set additional parameters +in the public key information field of a certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-spki-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-spki-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-spki-deinit"></a><h3>gnutls_x509_spki_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_spki_deinit (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>);</pre> +<p>This function will deinitialize a SubjectPublicKeyInfo structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-spki-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>the SubjectPublicKeyInfo structure</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-spki-get-rsa-pss-params"></a><h3>gnutls_x509_spki_get_rsa_pss_params ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_spki_get_rsa_pss_params (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> *dig</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *salt_size</code></em>);</pre> +<p>This function will get the public key algorithm parameters +of RSA-PSS type.</p> +<div class="refsect3"> +<a name="gnutls-x509-spki-get-rsa-pss-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>the SubjectPublicKeyInfo structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>if non-NULL, it will hold the digest algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt_size</p></td> +<td class="parameter_description"><p>if non-NULL, it will hold the salt size</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-spki-get-rsa-pss-params.returns"></a><h4>Returns</h4> +<p> zero if the parameters are present or a negative +value on error.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-spki-set-rsa-pss-params"></a><h3>gnutls_x509_spki_set_rsa_pss_params ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_spki_set_rsa_pss_params (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> dig</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> salt_size</code></em>);</pre> +<p>This function will set the public key parameters for +an RSA-PSS algorithm, in the SubjectPublicKeyInfo structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-spki-set-rsa-pss-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>the SubjectPublicKeyInfo structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>a digest algorithm of type <a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt_size</p></td> +<td class="parameter_description"><p>the size of salt string</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-pk-algorithm"></a><h3>gnutls_x509_crt_get_pk_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_pk_algorithm (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<p>This function will return the public key algorithm of an X.509 +certificate.</p> +<p>If bits is non null, it should have enough size to hold the parameters +size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public +exponent.</p> +<p>Unknown/unsupported algorithms are mapped to <a class="link" href="gnutls-gnutls.html#GNUTLS-PK-UNKNOWN:CAPS"><code class="literal">GNUTLS_PK_UNKNOWN</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>if bits is non null it will hold the size of the parameters' in bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-algorithm.returns"></a><h4>Returns</h4> +<p> a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on +success, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-spki"></a><h3>gnutls_x509_crt_set_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set the certificate's subject public key +information explicitly. This is intended to be used in the cases +where a single public key (e.g., RSA) can be used for multiple +signature algorithms (RSA PKCS1-1.5, and RSA-PSS).</p> +<p>To export the public key (i.e., the SubjectPublicKeyInfo part), check +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-x509" title="gnutls_pubkey_import_x509 ()"><code class="function">gnutls_pubkey_import_x509()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-spki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>a SubjectPublicKeyInfo structure of type <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-spki.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-spki"></a><h3>gnutls_x509_crt_get_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the public key information of an X.509 +certificate. The provided <em class="parameter"><code>spki</code></em> + must be initialized.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-spki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>a SubjectPublicKeyInfo structure of type <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-pk-rsa-raw"></a><h3>gnutls_x509_crt_get_pk_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_pk_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>);</pre> +<p>This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-rsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>will hold the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>will hold the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-rsa-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-pk-dsa-raw"></a><h3>gnutls_x509_crt_get_pk_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_pk_dsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<p>This function will export the DSA public key's parameters found in +the given certificate. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-dsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the p</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the q</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>g</p></td> +<td class="parameter_description"><p>will hold the g</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-dsa-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-pk-ecc-raw"></a><h3>gnutls_x509_crt_get_pk_ecc_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_pk_ecc_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<p>This function will export the ECC public key's parameters found in +the given certificate. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>In EdDSA curves the <em class="parameter"><code>y</code></em> + parameter will be <code class="literal">NULL</code> and the other parameters +will be in the native format for the curve.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-ecc-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-ecc-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.4.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-pk-gost-raw"></a><h3>gnutls_x509_crt_get_pk_gost_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_pk_gost_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> *digest</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-gost-paramset-t" title="enum gnutls_gost_paramset_t"><span class="type">gnutls_gost_paramset_t</span></a> *paramset</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>);</pre> +<p>This function will export the GOST public key's parameters found in +the given certificate. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-gost-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>will hold the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>paramset</p></td> +<td class="parameter_description"><p>will hold the GOST parameter set ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-pk-gost-raw.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-subject-alt-name"></a><h3>gnutls_x509_crt_get_subject_alt_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_subject_alt_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *san</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *san_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function retrieves the Alternative Name (2.5.29.17), contained +in the given certificate in the X509v3 Certificate Extensions.</p> +<p>When the SAN type is otherName, it will extract the data in the +otherName's value field, and <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME</code></a> is returned. +You may use <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-othername-oid" title="gnutls_x509_crt_get_subject_alt_othername_oid ()"><code class="function">gnutls_x509_crt_get_subject_alt_othername_oid()</code></a> to get +the corresponding OID and the "virtual" SAN types (e.g., +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a>).</p> +<p>If an otherName OID is known, the data will be decoded. Otherwise +the returned data will be DER encoded, and you will have to decode +it yourself. Currently, only the RFC 3920 id-on-xmppAddr SAN is +recognized.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-alt-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>san</p></td> +<td class="parameter_description"><p>is the place where the alternative name will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>san_size</p></td> +<td class="parameter_description"><p>holds the size of san.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-alt-name.returns"></a><h4>Returns</h4> +<p> the alternative subject name type on success, one of the +enumerated <a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a>. It will return +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if <em class="parameter"><code>san_size</code></em> +is not large enough to +hold the value. In that case <em class="parameter"><code>san_size</code></em> +will be updated with the +required size. If the certificate does not have an Alternative +name with the specified sequence number then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-subject-alt-name2"></a><h3>gnutls_x509_crt_get_subject_alt_name2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_subject_alt_name2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *san</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *san_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *san_type</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the alternative names, contained in the +given certificate. It is the same as +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-name" title="gnutls_x509_crt_get_subject_alt_name ()"><code class="function">gnutls_x509_crt_get_subject_alt_name()</code></a> except for the fact that it +will return the type of the alternative name in <em class="parameter"><code>san_type</code></em> + even if +the function fails for some reason (i.e. the buffer provided is +not enough).</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-alt-name2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>san</p></td> +<td class="parameter_description"><p>is the place where the alternative name will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>san_size</p></td> +<td class="parameter_description"><p>holds the size of ret.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>san_type</p></td> +<td class="parameter_description"><p>holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-alt-name2.returns"></a><h4>Returns</h4> +<p> the alternative subject name type on success, one of the +enumerated <a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a>. It will return +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if <em class="parameter"><code>san_size</code></em> +is not large enough +to hold the value. In that case <em class="parameter"><code>san_size</code></em> +will be updated with +the required size. If the certificate does not have an +Alternative name with the specified sequence number then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-subject-alt-othername-oid"></a><h3>gnutls_x509_crt_get_subject_alt_othername_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_subject_alt_othername_oid + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>);</pre> +<p>This function will extract the type OID of an otherName Subject +Alternative Name, contained in the given certificate, and return +the type as an enumerated element.</p> +<p>This function is only useful if +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-name" title="gnutls_x509_crt_get_subject_alt_name ()"><code class="function">gnutls_x509_crt_get_subject_alt_name()</code></a> returned +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME</code></a>.</p> +<p>If <em class="parameter"><code>oid</code></em> + is null then only the size will be filled. The <em class="parameter"><code>oid</code></em> + +returned will be null terminated, although <em class="parameter"><code>oid_size</code></em> + will not +account for the trailing null.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-alt-othername-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>is the place where the otherName OID will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>holds the size of ret.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject-alt-othername-oid.returns"></a><h4>Returns</h4> +<p> the alternative subject name type on success, one of the +enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, it +will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, +e.g. <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a>, and <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME</code></a> for +unknown OIDs. It will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if +<em class="parameter"><code>ian_size</code></em> +is not large enough to hold the value. In that case +<em class="parameter"><code>ian_size</code></em> +will be updated with the required size. If the +certificate does not have an Alternative name with the specified +sequence number and with the otherName type then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer-alt-name"></a><h3>gnutls_x509_crt_get_issuer_alt_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer_alt_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *ian</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ian_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function retrieves the Issuer Alternative Name (2.5.29.18), +contained in the given certificate in the X509v3 Certificate +Extensions.</p> +<p>When the SAN type is otherName, it will extract the data in the +otherName's value field, and <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME</code></a> is returned. +You may use <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-othername-oid" title="gnutls_x509_crt_get_subject_alt_othername_oid ()"><code class="function">gnutls_x509_crt_get_subject_alt_othername_oid()</code></a> to get +the corresponding OID and the "virtual" SAN types (e.g., +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a>).</p> +<p>If an otherName OID is known, the data will be decoded. Otherwise +the returned data will be DER encoded, and you will have to decode +it yourself. Currently, only the RFC 3920 id-on-xmppAddr Issuer +AltName is recognized.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-alt-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ian</p></td> +<td class="parameter_description"><p>is the place where the alternative name will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ian_size</p></td> +<td class="parameter_description"><p>holds the size of ian.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-alt-name.returns"></a><h4>Returns</h4> +<p> the alternative issuer name type on success, one of the +enumerated <a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a>. It will return +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if <em class="parameter"><code>ian_size</code></em> +is not large enough +to hold the value. In that case <em class="parameter"><code>ian_size</code></em> +will be updated with +the required size. If the certificate does not have an +Alternative name with the specified sequence number then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer-alt-name2"></a><h3>gnutls_x509_crt_get_issuer_alt_name2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer_alt_name2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *ian</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ian_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *ian_type</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the alternative names, contained in the +given certificate. It is the same as +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-name" title="gnutls_x509_crt_get_issuer_alt_name ()"><code class="function">gnutls_x509_crt_get_issuer_alt_name()</code></a> except for the fact that it +will return the type of the alternative name in <em class="parameter"><code>ian_type</code></em> + even if +the function fails for some reason (i.e. the buffer provided is +not enough).</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-alt-name2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ian</p></td> +<td class="parameter_description"><p>is the place where the alternative name will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ian_size</p></td> +<td class="parameter_description"><p>holds the size of ret.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ian_type</p></td> +<td class="parameter_description"><p>holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-alt-name2.returns"></a><h4>Returns</h4> +<p> the alternative issuer name type on success, one of the +enumerated <a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a>. It will return +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if <em class="parameter"><code>ian_size</code></em> +is not large enough +to hold the value. In that case <em class="parameter"><code>ian_size</code></em> +will be updated with +the required size. If the certificate does not have an +Alternative name with the specified sequence number then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer-alt-othername-oid"></a><h3>gnutls_x509_crt_get_issuer_alt_othername_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer_alt_othername_oid + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *ret</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ret_size</code></em>);</pre> +<p>This function will extract the type OID of an otherName Subject +Alternative Name, contained in the given certificate, and return +the type as an enumerated element.</p> +<p>If <em class="parameter"><code>oid</code></em> + is null then only the size will be filled. The <em class="parameter"><code>oid</code></em> + +returned will be null terminated, although <em class="parameter"><code>oid_size</code></em> + will not +account for the trailing null.</p> +<p>This function is only useful if +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-name" title="gnutls_x509_crt_get_issuer_alt_name ()"><code class="function">gnutls_x509_crt_get_issuer_alt_name()</code></a> returned +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-alt-othername-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret</p></td> +<td class="parameter_description"><p>is the place where the otherName OID will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret_size</p></td> +<td class="parameter_description"><p>holds the size of ret.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer-alt-othername-oid.returns"></a><h4>Returns</h4> +<p> the alternative issuer name type on success, one of the +enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, it +will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, +e.g. <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a>, and <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME</code></a> for +unknown OIDs. It will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if +<em class="parameter"><code>ret_size</code></em> +is not large enough to hold the value. In that case +<em class="parameter"><code>ret_size</code></em> +will be updated with the required size. If the +certificate does not have an Alternative name with the specified +sequence number and with the otherName type then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +</div> +<p class="since">Since: 2.10.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-ca-status"></a><h3>gnutls_x509_crt_get_ca_status ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_ca_status (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return certificates CA status, by reading the +basicConstraints X.509 extension (2.5.29.19). If the certificate is +a CA a positive value will be returned, or (0) if the certificate +does not have CA flag set.</p> +<p>Use <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-basic-constraints" title="gnutls_x509_crt_get_basic_constraints ()"><code class="function">gnutls_x509_crt_get_basic_constraints()</code></a> if you want to read the +pathLenConstraint field too.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-ca-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-ca-status.returns"></a><h4>Returns</h4> +<p> If the certificate is a CA a positive value will be +returned, or (0) if the certificate does not have CA flag set. A +negative error code may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-basic-constraints"></a><h3>gnutls_x509_crt_get_basic_constraints ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_basic_constraints (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *ca</code></em>, + <em class="parameter"><code><span class="type">int</span> *pathlen</code></em>);</pre> +<p>This function will read the certificate's basic constraints, and +return the certificates CA status. It reads the basicConstraints +X.509 extension (2.5.29.19).</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-basic-constraints.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca</p></td> +<td class="parameter_description"><p>pointer to output integer indicating CA status, may be NULL, +value is 1 if the certificate CA flag is set, 0 otherwise.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pathlen</p></td> +<td class="parameter_description"><p>pointer to output integer indicating path length (may be +NULL), non-negative error codes indicate a present pathLenConstraint +field and the actual value, -1 indicate that the field is absent.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-basic-constraints.returns"></a><h4>Returns</h4> +<p> If the certificate is a CA a positive value will be +returned, or (0) if the certificate does not have CA flag set. A +negative error code may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-key-usage"></a><h3>gnutls_x509_crt_get_key_usage ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_key_usage (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *key_usage</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return certificate's key usage, by reading the +keyUsage X.509 extension (2.5.29.15). The key usage value will ORed +values of the: <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS" title="GNUTLS_KEY_DIGITAL_SIGNATURE"><code class="literal">GNUTLS_KEY_DIGITAL_SIGNATURE</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-NON-REPUDIATION:CAPS" title="GNUTLS_KEY_NON_REPUDIATION"><code class="literal">GNUTLS_KEY_NON_REPUDIATION</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_KEY_ENCIPHERMENT"><code class="literal">GNUTLS_KEY_KEY_ENCIPHERMENT</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DATA-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_DATA_ENCIPHERMENT"><code class="literal">GNUTLS_KEY_DATA_ENCIPHERMENT</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-AGREEMENT:CAPS" title="GNUTLS_KEY_KEY_AGREEMENT"><code class="literal">GNUTLS_KEY_KEY_AGREEMENT</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-CERT-SIGN:CAPS" title="GNUTLS_KEY_KEY_CERT_SIGN"><code class="literal">GNUTLS_KEY_KEY_CERT_SIGN</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-CRL-SIGN:CAPS" title="GNUTLS_KEY_CRL_SIGN"><code class="literal">GNUTLS_KEY_CRL_SIGN</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-ENCIPHER-ONLY:CAPS" title="GNUTLS_KEY_ENCIPHER_ONLY"><code class="literal">GNUTLS_KEY_ENCIPHER_ONLY</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DECIPHER-ONLY:CAPS" title="GNUTLS_KEY_DECIPHER_ONLY"><code class="literal">GNUTLS_KEY_DECIPHER_ONLY</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-key-usage.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>where the key usage bits will be stored</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-key-usage.returns"></a><h4>Returns</h4> +<p> zero on success, or a negative error code in case of +parsing error. If the certificate does not contain the keyUsage +extension <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be +returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-key-usage"></a><h3>gnutls_x509_crt_set_key_usage ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_key_usage (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> usage</code></em>);</pre> +<p>This function will set the keyUsage certificate extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-key-usage.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>usage</p></td> +<td class="parameter_description"><p>an ORed sequence of the GNUTLS_KEY_* elements.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-key-usage.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-authority-info-access"></a><h3>gnutls_x509_crt_set_authority_info_access ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_authority_info_access + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><span class="type">int</span> what</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +<p>This function sets the Authority Information Access (AIA) +extension, see RFC 5280 section 4.2.2.1 for more information. </p> +<p>The type of data stored in <em class="parameter"><code>data</code></em> + is specified via <em class="parameter"><code>what</code></em> + which +should be <a class="link" href="gnutls-x509.html#gnutls-info-access-what-t" title="enum gnutls_info_access_what_t"><span class="type">gnutls_info_access_what_t</span></a> values.</p> +<p>If <em class="parameter"><code>what</code></em> + is <a class="link" href="gnutls-x509.html#GNUTLS-IA-OCSP-URI:CAPS"><code class="literal">GNUTLS_IA_OCSP_URI</code></a>, <em class="parameter"><code>data</code></em> + will hold the OCSP URI. +If <em class="parameter"><code>what</code></em> + is <a class="link" href="gnutls-x509.html#GNUTLS-IA-CAISSUERS-URI:CAPS"><code class="literal">GNUTLS_IA_CAISSUERS_URI</code></a>, <em class="parameter"><code>data</code></em> + will hold the caIssuers +URI.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-authority-info-access.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>what</p></td> +<td class="parameter_description"><p>what data to get, a <a class="link" href="gnutls-x509.html#gnutls-info-access-what-t" title="enum gnutls_info_access_what_t"><span class="type">gnutls_info_access_what_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>output data to be freed with <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-authority-info-access.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-inhibit-anypolicy"></a><h3>gnutls_x509_crt_get_inhibit_anypolicy ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_inhibit_anypolicy (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *skipcerts</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return certificate's value of the SkipCerts, i.e., +the Inhibit anyPolicy X.509 extension (2.5.29.54).</p> +<p>The returned value is the number of additional certificates that +may appear in the path before the anyPolicy is no longer acceptable.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-inhibit-anypolicy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>skipcerts</p></td> +<td class="parameter_description"><p>will hold the number of certificates after which anypolicy is no longer acceptable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-inhibit-anypolicy.returns"></a><h4>Returns</h4> +<p> zero on success, or a negative error code in case of +parsing error. If the certificate does not contain the Inhibit anyPolicy +extension <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be +returned.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-inhibit-anypolicy"></a><h3>gnutls_x509_crt_set_inhibit_anypolicy ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_inhibit_anypolicy (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> skipcerts</code></em>);</pre> +<p>This function will set the Inhibit anyPolicy certificate extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-inhibit-anypolicy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>skipcerts</p></td> +<td class="parameter_description"><p>number of certificates after which anypolicy is no longer acceptable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-inhibit-anypolicy.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-proxy"></a><h3>gnutls_x509_crt_get_proxy ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_proxy (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>, + <em class="parameter"><code><span class="type">int</span> *pathlen</code></em>, + <em class="parameter"><code><span class="type">char</span> **policyLanguage</code></em>, + <em class="parameter"><code><span class="type">char</span> **policy</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_policy</code></em>);</pre> +<p>This function will get information from a proxy certificate. It +reads the ProxyCertInfo X.509 extension (1.3.6.1.5.5.7.1.14).</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-proxy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pathlen</p></td> +<td class="parameter_description"><p>pointer to output integer indicating path length (may be +NULL), non-negative error codes indicate a present pCPathLenConstraint +field and the actual value, -1 indicate that the field is absent.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>policyLanguage</p></td> +<td class="parameter_description"><p>output variable with OID of policy language</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>policy</p></td> +<td class="parameter_description"><p>output variable with policy data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_policy</p></td> +<td class="parameter_description"><p>output variable size of policy data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-proxy.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-tlsfeatures-init"></a><h3>gnutls_x509_tlsfeatures_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_tlsfeatures_init (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t"><span class="type">gnutls_x509_tlsfeatures_t</span></a> *features</code></em>);</pre> +<p>This function will initialize a X.509 TLS features extension structure</p> +<div class="refsect3"> +<a name="gnutls-x509-tlsfeatures-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>f</p></td> +<td class="parameter_description"><p>The TLS features</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-tlsfeatures-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.5.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-tlsfeatures-deinit"></a><h3>gnutls_x509_tlsfeatures_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_tlsfeatures_deinit (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t"><span class="type">gnutls_x509_tlsfeatures_t</span></a> Param1</code></em>);</pre> +<p>This function will deinitialize a X.509 TLS features extension structure</p> +<div class="refsect3"> +<a name="gnutls-x509-tlsfeatures-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>f</p></td> +<td class="parameter_description"><p>The TLS features</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.5.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-tlsfeatures-get"></a><h3>gnutls_x509_tlsfeatures_get ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_tlsfeatures_get (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t"><span class="type">gnutls_x509_tlsfeatures_t</span></a> f</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> idx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *feature</code></em>);</pre> +<p>This function will get a feature from the X.509 TLS features +extension structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-tlsfeatures-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>f</p></td> +<td class="parameter_description"><p>The TLS features</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>idx</p></td> +<td class="parameter_description"><p>The index of the feature to get</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature</p></td> +<td class="parameter_description"><p>If the function succeeds, the feature will be stored in this variable</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-tlsfeatures-get.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.5.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-tlsfeatures"></a><h3>gnutls_x509_crt_set_tlsfeatures ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_tlsfeatures (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t"><span class="type">gnutls_x509_tlsfeatures_t</span></a> features</code></em>);</pre> +<p>This function will set the certificates +X.509 TLS extension from the given structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-tlsfeatures.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>A X.509 certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>features</p></td> +<td class="parameter_description"><p>If the function succeeds, the +features will be added to the certificate.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-tlsfeatures.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.5.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-tlsfeatures"></a><h3>gnutls_x509_crt_get_tlsfeatures ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_tlsfeatures (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t"><span class="type">gnutls_x509_tlsfeatures_t</span></a> features</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will get the X.509 TLS features +extension structure from the certificate. The +returned structure needs to be freed using +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-deinit" title="gnutls_x509_tlsfeatures_deinit ()"><code class="function">gnutls_x509_tlsfeatures_deinit()</code></a>.</p> +<p>When the <em class="parameter"><code>flags</code></em> + is set to <a class="link" href="gnutls-x509.html#GNUTLS-EXT-FLAG-APPEND:CAPS" title="GNUTLS_EXT_FLAG_APPEND"><code class="literal">GNUTLS_EXT_FLAG_APPEND</code></a>, +then if the <em class="parameter"><code>features</code></em> + structure is empty this function will behave +identically as if the flag was not set. Otherwise if there are elements +in the <em class="parameter"><code>features</code></em> + structure then they will be merged with.</p> +<p>Note that <em class="parameter"><code>features</code></em> + must be initialized prior to calling this function.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-tlsfeatures.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>A X.509 certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>features</p></td> +<td class="parameter_description"><p>If the function succeeds, the +features will be stored in this variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-EXT-FLAG-APPEND:CAPS" title="GNUTLS_EXT_FLAG_APPEND"><code class="literal">GNUTLS_EXT_FLAG_APPEND</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>the extension status</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-tlsfeatures.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.5.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-tlsfeatures-check-crt"></a><h3>gnutls_x509_tlsfeatures_check_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_tlsfeatures_check_crt (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t"><span class="type">gnutls_x509_tlsfeatures_t</span></a> feat</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-policy-release"></a><h3>gnutls_x509_policy_release ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_policy_release (<em class="parameter"><code><span class="type">struct gnutls_x509_policy_st</span> *policy</code></em>);</pre> +<p>This function will deinitialize all memory associated with the provided +<em class="parameter"><code>policy</code></em> +. The policy is allocated using <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-policy" title="gnutls_x509_crt_get_policy ()"><code class="function">gnutls_x509_crt_get_policy()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-policy-release.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>policy</p></td> +<td class="parameter_description"><p>a certificate policy</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.1.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-policy"></a><h3>gnutls_x509_crt_get_policy ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_policy (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">struct gnutls_x509_policy_st</span> *policy</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will extract the certificate policy (extension 2.5.29.32) +specified by the given index.</p> +<p>The policy returned by this function must be deinitialized by using +<a class="link" href="gnutls-x509.html#gnutls-x509-policy-release" title="gnutls_x509_policy_release ()"><code class="function">gnutls_x509_policy_release()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-policy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>This specifies which policy to return. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>policy</p></td> +<td class="parameter_description"><p>A pointer to a policy structure.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-policy.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +if the extension is not present, otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.1.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-policy"></a><h3>gnutls_x509_crt_set_policy ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_policy (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">struct gnutls_x509_policy_st</span> *policy</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> critical</code></em>);</pre> +<p>This function will set the certificate policy extension (2.5.29.32). +Multiple calls to this function append a new policy.</p> +<p>Note the maximum text size for the qualifier <a class="link" href="gnutls-x509.html#GNUTLS-X509-QUALIFIER-NOTICE:CAPS"><code class="literal">GNUTLS_X509_QUALIFIER_NOTICE</code></a> +is 200 characters. This function will fail with <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> +if this is exceeded.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-policy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>policy</p></td> +<td class="parameter_description"><p>A pointer to a policy</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>use non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-policy.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.5</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-oid-known"></a><h3>gnutls_x509_dn_oid_known ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_dn_oid_known (<em class="parameter"><code>const <span class="type">char</span> *oid</code></em>);</pre> +<p>This function will inform about known DN OIDs. This is useful since +functions like <a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-dn-by-oid" title="gnutls_x509_crt_set_dn_by_oid ()"><code class="function">gnutls_x509_crt_set_dn_by_oid()</code></a> use the information +on known OIDs to properly encode their input. Object Identifiers +that are not known are not encoded by these functions, and their +input is stored directly into the ASN.1 structure. In that case of +unknown OIDs, you have the responsibility of DER encoding your +data.</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-oid-known.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in a null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-dn-oid-known.returns"></a><h4>Returns</h4> +<p> 1 on known OIDs and 0 otherwise.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-oid-name"></a><h3>gnutls_x509_dn_oid_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_x509_dn_oid_name (<em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the name of a known DN OID. If +<a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-OID-RETURN-OID:CAPS" title="GNUTLS_X509_DN_OID_RETURN_OID"><code class="literal">GNUTLS_X509_DN_OID_RETURN_OID</code></a> is specified this function +will return the given OID if no descriptive name has been +found.</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-oid-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in a null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>0 or GNUTLS_X509_DN_OID_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-dn-oid-name.returns"></a><h4>Returns</h4> +<p> A null terminated string or NULL otherwise.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-extension-oid"></a><h3>gnutls_x509_crt_get_extension_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_extension_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>);</pre> +<p>This function will return the requested extension OID in the certificate. +The extension OID will be stored as a string in the provided buffer.</p> +<p>The <em class="parameter"><code>oid</code></em> + returned will be null terminated, although <em class="parameter"><code>oid_size</code></em> + will not +account for the trailing null.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension OID to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned. If you have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-extension-by-oid"></a><h3>gnutls_x509_crt_get_extension_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_extension_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the extension specified by the OID in the +certificate. The extensions will be returned as binary data DER +encoded, in the provided buffer.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identified in null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the extensions, this specifies which to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned. If the certificate does not +contain the specified extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-signature-algorithm"></a><h3>gnutls_x509_crq_get_signature_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_signature_algorithm + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>);</pre> +<p>This function will return a value of the <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> +enumeration that is the signature algorithm that has been used to +sign this certificate request.</p> +<p>Since 3.6.0 this function never returns a negative error code. +Error cases and unknown/unsupported signature algorithms are +mapped to <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-UNKNOWN:CAPS"><code class="literal">GNUTLS_SIGN_UNKNOWN</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-signature-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <span class="type">gnutls_x509_cr_t</span> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-signature-algorithm.returns"></a><h4>Returns</h4> +<p> a <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> value</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-extension-by-oid2"></a><h3>gnutls_x509_crq_get_extension_by_oid2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_extension_by_oid2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *output</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the extension specified by the OID in +the certificate. The extensions will be returned as binary data +DER encoded, in the provided buffer.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-by-oid2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in a null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the extensions, this +specifies which to get. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>will hold the allocated extension data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-by-oid2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error. If the certificate does not +contain the specified extension +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be returned.</p> +</div> +<p class="since">Since: 3.3.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-extension-info"></a><h3>gnutls_x509_crt_get_extension_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_extension_info (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the requested extension OID in the +certificate, and the critical flag for it. The extension OID will +be stored as a string in the provided buffer. Use +<code class="function">gnutls_x509_crt_get_extension()</code> to extract the data.</p> +<p>If the buffer provided is not long enough to hold the output, then +<em class="parameter"><code>oid_size</code></em> + is updated and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will be +returned. The <em class="parameter"><code>oid</code></em> + returned will be null terminated, although +<em class="parameter"><code>oid_size</code></em> + will not account for the trailing null (the latter is not +true for GnuTLS prior to 3.6.0).</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension OID to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the maximum size of <em class="parameter"><code>oid</code></em> +, on return +holds actual size of <em class="parameter"><code>oid</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>output variable with critical flag, may be NULL.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-info.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned. If you have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-extension-data"></a><h3>gnutls_x509_crt_get_extension_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_extension_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_data</code></em>);</pre> +<p>This function will return the requested extension data in the +certificate. The extension data will be stored in the +provided buffer.</p> +<p>Use <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-info" title="gnutls_x509_crt_get_extension_info ()"><code class="function">gnutls_x509_crt_get_extension_info()</code></a> to extract the OID and +critical flag. Use <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-by-oid" title="gnutls_x509_crt_get_extension_by_oid ()"><code class="function">gnutls_x509_crt_get_extension_by_oid()</code></a> instead, +if you want to get data indexed by the extension OID rather than +sequence.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension OID to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the data (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_data</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>data</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned. If you have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-extension-data2"></a><h3>gnutls_x509_crt_get_extension_data2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_extension_data2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +<p>This function will return the requested by the index extension data in the +certificate. The extension data will be allocated using +<code class="function">gnutls_malloc()</code>.</p> +<p>Use <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-info" title="gnutls_x509_crt_get_extension_info ()"><code class="function">gnutls_x509_crt_get_extension_info()</code></a> to extract the OID.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-data2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension OID to read. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>will contain the extension DER-encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-data2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned. If you have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-extension-by-oid"></a><h3>gnutls_x509_crt_set_extension_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_extension_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> sizeof_buf</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> critical</code></em>);</pre> +<p>This function will set an the extension, by the specified OID, in +the certificate. The extension data should be binary data DER +encoded.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-extension-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a DER encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_buf</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>should be non-zero if the extension is to be marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-extension-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-dn"></a><h3>gnutls_x509_crt_set_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *dn</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **err</code></em>);</pre> +<p>This function will set the DN on the provided certificate. +The input string should be plain ASCII or UTF-8 encoded. On +DN parsing error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PARSING-ERROR:CAPS" title="GNUTLS_E_PARSING_ERROR"><code class="literal">GNUTLS_E_PARSING_ERROR</code></a> is returned.</p> +<p>Note that DNs are not expected to hold DNS information, and thus +no automatic IDNA conversions are attempted when using this function. +If that is required (e.g., store a domain in CN), process the corresponding +input with <a class="link" href="gnutls-gnutls.html#gnutls-idna-map" title="gnutls_idna_map ()"><code class="function">gnutls_idna_map()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a comma separated DN string (RFC4514)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err</p></td> +<td class="parameter_description"><p>indicates the error position (if any)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-dn.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-dn-by-oid"></a><h3>gnutls_x509_crt_set_dn_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_dn_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> raw_flag</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *name</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> sizeof_name</code></em>);</pre> +<p>This function will set the part of the name of the Certificate +subject, specified by the given OID. The input string should be +ASCII or UTF-8 encoded.</p> +<p>Some helper macros with popular OIDs can be found in gnutls/x509.h +With this function you can only set the known OIDs. You can test +for known OIDs using <a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-known" title="gnutls_x509_dn_oid_known ()"><code class="function">gnutls_x509_dn_oid_known()</code></a>. For OIDs that are +not known (by gnutls) you should properly DER encode your data, +and call this function with <em class="parameter"><code>raw_flag</code></em> + set.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-dn-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in a null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_flag</p></td> +<td class="parameter_description"><p>must be 0, or 1 if the data are DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>a pointer to the name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_name</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>name</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-dn-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-issuer-dn-by-oid"></a><h3>gnutls_x509_crt_set_issuer_dn_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_issuer_dn_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> raw_flag</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *name</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> sizeof_name</code></em>);</pre> +<p>This function will set the part of the name of the Certificate +issuer, specified by the given OID. The input string should be +ASCII or UTF-8 encoded.</p> +<p>Some helper macros with popular OIDs can be found in gnutls/x509.h +With this function you can only set the known OIDs. You can test +for known OIDs using <a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-known" title="gnutls_x509_dn_oid_known ()"><code class="function">gnutls_x509_dn_oid_known()</code></a>. For OIDs that are +not known (by gnutls) you should properly DER encode your data, +and call this function with <em class="parameter"><code>raw_flag</code></em> + set.</p> +<p>Normally you do not need to call this function, since the signing +operation will copy the signer's name as the issuer of the +certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-dn-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in a null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_flag</p></td> +<td class="parameter_description"><p>must be 0, or 1 if the data are DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>a pointer to the name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_name</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>name</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-dn-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-issuer-dn"></a><h3>gnutls_x509_crt_set_issuer_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_issuer_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *dn</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **err</code></em>);</pre> +<p>This function will set the DN on the provided certificate. +The input string should be plain ASCII or UTF-8 encoded. On +DN parsing error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PARSING-ERROR:CAPS" title="GNUTLS_E_PARSING_ERROR"><code class="literal">GNUTLS_E_PARSING_ERROR</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a comma separated DN string (RFC4514)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err</p></td> +<td class="parameter_description"><p>indicates the error position (if any)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-dn.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-version"></a><h3>gnutls_x509_crt_set_version ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_version (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> version</code></em>);</pre> +<p>This function will set the version of the certificate. This must +be one for X.509 version 1, and so on. Plain certificates without +extensions must have version set to one.</p> +<p>To create well-formed certificates, you must specify version 3 if +you use any certificate extensions. Extensions are created by +functions such as <a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-alt-name" title="gnutls_x509_crt_set_subject_alt_name ()"><code class="function">gnutls_x509_crt_set_subject_alt_name()</code></a> +or <a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-key-usage" title="gnutls_x509_crt_set_key_usage ()"><code class="function">gnutls_x509_crt_set_key_usage()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>holds the version number. For X.509v1 certificates must be 1.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-version.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-key"></a><h3>gnutls_x509_crt_set_key ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_key (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function will set the public parameters from the given +private key to the certificate.</p> +<p>To export the public key (i.e., the SubjectPublicKeyInfo part), check +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-x509" title="gnutls_pubkey_import_x509 ()"><code class="function">gnutls_pubkey_import_x509()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-key.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>holds a private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-key.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-ca-status"></a><h3>gnutls_x509_crt_set_ca_status ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_ca_status (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> ca</code></em>);</pre> +<p>This function will set the basicConstraints certificate extension. +Use <a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-basic-constraints" title="gnutls_x509_crt_set_basic_constraints ()"><code class="function">gnutls_x509_crt_set_basic_constraints()</code></a> if you want to control +the pathLenConstraint field too.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-ca-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca</p></td> +<td class="parameter_description"><p>true(1) or false(0). Depending on the Certificate authority status.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-ca-status.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-basic-constraints"></a><h3>gnutls_x509_crt_set_basic_constraints ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_basic_constraints (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> ca</code></em>, + <em class="parameter"><code><span class="type">int</span> pathLenConstraint</code></em>);</pre> +<p>This function will set the basicConstraints certificate extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-basic-constraints.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca</p></td> +<td class="parameter_description"><p>true(1) or false(0). Depending on the Certificate authority status.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pathLenConstraint</p></td> +<td class="parameter_description"><p>non-negative error codes indicate maximum length of path, +and negative error codes indicate that the pathLenConstraints field should +not be present.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-basic-constraints.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-subject-unique-id"></a><h3>gnutls_x509_crt_set_subject_unique_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_subject_unique_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *id</code></em>, + <em class="parameter"><code><span class="type">size_t</span> id_size</code></em>);</pre> +<p>This function will set the X.509 certificate's subject unique ID field.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-unique-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>The unique ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id_size</p></td> +<td class="parameter_description"><p>Holds the size of the unique ID.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-unique-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-issuer-unique-id"></a><h3>gnutls_x509_crt_set_issuer_unique_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_issuer_unique_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *id</code></em>, + <em class="parameter"><code><span class="type">size_t</span> id_size</code></em>);</pre> +<p>This function will set the X.509 certificate's issuer unique ID field.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-unique-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>The unique ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id_size</p></td> +<td class="parameter_description"><p>Holds the size of the unique ID.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-unique-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-subject-alternative-name"></a><h3>gnutls_x509_crt_set_subject_alternative_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_subject_alternative_name + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *data_string</code></em>);</pre> +<p>This function will set the subject alternative name certificate +extension. This function assumes that data can be expressed as a null +terminated string.</p> +<p>The name of the function is unfortunate since it is inconsistent with +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-name" title="gnutls_x509_crt_get_subject_alt_name ()"><code class="function">gnutls_x509_crt_get_subject_alt_name()</code></a>.</p> +<p>See <a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-alt-name" title="gnutls_x509_crt_set_subject_alt_name ()"><code class="function">gnutls_x509_crt_set_subject_alt_name()</code></a> for more information.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-alternative-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is one of the gnutls_x509_subject_alt_name_t enumerations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_string</p></td> +<td class="parameter_description"><p>The data to be set, a (0) terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-alternative-name.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-subject-alt-name"></a><h3>gnutls_x509_crt_set_subject_alt_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_subject_alt_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set the subject alternative name certificate +extension. It can set the following types: <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"><code class="literal">GNUTLS_SAN_DNSNAME</code></a> as a text string, +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"><code class="literal">GNUTLS_SAN_RFC822NAME</code></a> as a text string, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-URI:CAPS"><code class="literal">GNUTLS_SAN_URI</code></a> as a text string, +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-IPADDRESS:CAPS"><code class="literal">GNUTLS_SAN_IPADDRESS</code></a> as a binary IP address (4 or 16 bytes), +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a> as a UTF8 string (since 3.5.0).</p> +<p>Since version 3.5.7 the <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"><code class="literal">GNUTLS_SAN_RFC822NAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"><code class="literal">GNUTLS_SAN_DNSNAME</code></a>, and +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a> are converted to ACE format when necessary.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-alt-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is one of the gnutls_x509_subject_alt_name_t enumerations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>The size of data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. </p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-alt-name.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-subject-alt-othername"></a><h3>gnutls_x509_crt_set_subject_alt_othername ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_subject_alt_othername + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set an "othername" to the subject alternative name certificate +extension.</p> +<p>The values set are set as binary values and are expected to have the proper DER encoding. +For convenience the flags <a class="link" href="gnutls-x509.html#GNUTLS-FSAN-ENCODE-OCTET-STRING:CAPS" title="GNUTLS_FSAN_ENCODE_OCTET_STRING"><code class="literal">GNUTLS_FSAN_ENCODE_OCTET_STRING</code></a> and <a class="link" href="gnutls-x509.html#GNUTLS-FSAN-ENCODE-UTF8-STRING:CAPS" title="GNUTLS_FSAN_ENCODE_UTF8_STRING"><code class="literal">GNUTLS_FSAN_ENCODE_UTF8_STRING</code></a> +can be used to encode the provided data.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-alt-othername.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>The other name OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>The size of data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. </p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-alt-othername.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-issuer-alt-name"></a><h3>gnutls_x509_crt_set_issuer_alt_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_issuer_alt_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> type</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set the issuer alternative name certificate +extension. It can set the same types as <a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-subject-alt-name" title="gnutls_x509_crt_set_subject_alt_name ()"><code class="function">gnutls_x509_crt_set_subject_alt_name()</code></a>.</p> +<p>Since version 3.5.7 the <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"><code class="literal">GNUTLS_SAN_RFC822NAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"><code class="literal">GNUTLS_SAN_DNSNAME</code></a>, and +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a> are converted to ACE format when necessary.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-alt-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>is one of the gnutls_x509_subject_alt_name_t enumerations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>The size of data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. </p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-alt-name.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-issuer-alt-othername"></a><h3>gnutls_x509_crt_set_issuer_alt_othername ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_issuer_alt_othername + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set an "othername" to the issuer alternative name certificate +extension.</p> +<p>The values set are set as binary values and are expected to have the proper DER encoding. +For convenience the flags <a class="link" href="gnutls-x509.html#GNUTLS-FSAN-ENCODE-OCTET-STRING:CAPS" title="GNUTLS_FSAN_ENCODE_OCTET_STRING"><code class="literal">GNUTLS_FSAN_ENCODE_OCTET_STRING</code></a> and <a class="link" href="gnutls-x509.html#GNUTLS-FSAN-ENCODE-UTF8-STRING:CAPS" title="GNUTLS_FSAN_ENCODE_UTF8_STRING"><code class="literal">GNUTLS_FSAN_ENCODE_UTF8_STRING</code></a> +can be used to encode the provided data.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-alt-othername.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>The other name OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>The size of data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. </p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-issuer-alt-othername.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-sign"></a><h3>gnutls_x509_crt_sign ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_sign (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> issuer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> issuer_key</code></em>);</pre> +<p>This function is the same a <a class="link" href="gnutls-x509.html#gnutls-x509-crt-sign2" title="gnutls_x509_crt_sign2 ()"><code class="function">gnutls_x509_crt_sign2()</code></a> with no flags, +and an appropriate hash algorithm. The hash algorithm used may +vary between versions of GnuTLS, and it is tied to the security +level of the issuer's public key.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-sign.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>is the certificate of the certificate issuer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer_key</p></td> +<td class="parameter_description"><p>holds the issuer's private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-sign.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-sign2"></a><h3>gnutls_x509_crt_sign2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_sign2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> issuer</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> issuer_key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> dig</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will sign the certificate with the issuer's private key, and +will copy the issuer's information into the certificate.</p> +<p>This must be the last step in a certificate generation since all +the previously set parameters are now signed.</p> +<p>A known limitation of this function is, that a newly-signed certificate will not +be fully functional (e.g., for signature verification), until it +is exported an re-imported.</p> +<p>After GnuTLS 3.6.1 the value of <em class="parameter"><code>dig</code></em> + may be <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-UNKNOWN:CAPS"><code class="literal">GNUTLS_DIG_UNKNOWN</code></a>, +and in that case, a suitable but reasonable for the key algorithm will be selected.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-sign2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>is the certificate of the certificate issuer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer_key</p></td> +<td class="parameter_description"><p>holds the issuer's private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>The message digest to use, <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-SHA256:CAPS"><code class="literal">GNUTLS_DIG_SHA256</code></a> is a safe choice</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be 0</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-sign2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-activation-time"></a><h3>gnutls_x509_crt_set_activation_time ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_activation_time (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">time_t</span> act_time</code></em>);</pre> +<p>This function will set the time this certificate was or will be +activated.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-activation-time.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>act_time</p></td> +<td class="parameter_description"><p>The actual time</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-activation-time.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-expiration-time"></a><h3>gnutls_x509_crt_set_expiration_time ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_expiration_time (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">time_t</span> exp_time</code></em>);</pre> +<p>This function will set the time this Certificate will expire. +Setting an expiration time to (time_t)-1 will set +to the no well-defined expiration date value.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-expiration-time.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>exp_time</p></td> +<td class="parameter_description"><p>The actual time</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-expiration-time.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-serial"></a><h3>gnutls_x509_crt_set_serial ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_serial (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *serial</code></em>, + <em class="parameter"><code><span class="type">size_t</span> serial_size</code></em>);</pre> +<p>This function will set the X.509 certificate's serial number. +While the serial number is an integer, it is often handled +as an opaque field by several CAs. For this reason this function +accepts any kind of data as a serial number. To be consistent +with the X.509/PKIX specifications the provided <em class="parameter"><code>serial</code></em> + should be +a big-endian positive number (i.e. its leftmost bit should be zero).</p> +<p>The size of the serial is restricted to 20 bytes maximum by RFC5280. +This function allows writing more than 20 bytes but the generated +certificates in that case may be rejected by other implementations.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-serial.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial</p></td> +<td class="parameter_description"><p>The serial number</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial_size</p></td> +<td class="parameter_description"><p>Holds the size of the serial field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-serial.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-subject-key-id"></a><h3>gnutls_x509_crt_set_subject_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_subject_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *id</code></em>, + <em class="parameter"><code><span class="type">size_t</span> id_size</code></em>);</pre> +<p>This function will set the X.509 certificate's subject key ID +extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>The key ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id_size</p></td> +<td class="parameter_description"><p>Holds the size of the subject key ID field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-subject-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-proxy-dn"></a><h3>gnutls_x509_crt_set_proxy_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_proxy_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> eecrt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> raw_flag</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *name</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> sizeof_name</code></em>);</pre> +<p>This function will set the subject in <em class="parameter"><code>crt</code></em> + to the end entity's +<em class="parameter"><code>eecrt</code></em> + subject name, and add a single Common Name component <em class="parameter"><code>name</code></em> + +of size <em class="parameter"><code>sizeof_name</code></em> +. This corresponds to the required proxy +certificate naming style. Note that if <em class="parameter"><code>name</code></em> + is <code class="literal">NULL</code>, you MUST +set it later by using <a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-dn-by-oid" title="gnutls_x509_crt_set_dn_by_oid ()"><code class="function">gnutls_x509_crt_set_dn_by_oid()</code></a> or similar.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-proxy-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a gnutls_x509_crt_t type with the new proxy cert</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>eecrt</p></td> +<td class="parameter_description"><p>the end entity certificate that will be issuing the proxy</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_flag</p></td> +<td class="parameter_description"><p>must be 0, or 1 if the CN is DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>a pointer to the CN name, may be NULL (but MUST then be added later)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_name</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>name</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-proxy-dn.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-proxy"></a><h3>gnutls_x509_crt_set_proxy ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_proxy (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><span class="type">int</span> pathLenConstraint</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *policyLanguage</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *policy</code></em>, + <em class="parameter"><code><span class="type">size_t</span> sizeof_policy</code></em>);</pre> +<p>This function will set the proxyCertInfo extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-proxy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pathLenConstraint</p></td> +<td class="parameter_description"><p>non-negative error codes indicate maximum length of path, +and negative error codes indicate that the pathLenConstraints field should +not be present.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>policyLanguage</p></td> +<td class="parameter_description"><p>OID describing the language of <em class="parameter"><code>policy</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>policy</p></td> +<td class="parameter_description"><p>uint8_t byte array with policy language, can be <code class="literal">NULL</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_policy</p></td> +<td class="parameter_description"><p>size of <em class="parameter"><code>policy</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-proxy.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-print"></a><h3>gnutls_x509_crt_print ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_print (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t"><span class="type">gnutls_certificate_print_formats_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will pretty print a X.509 certificate, suitable for +display to a human.</p> +<p>If the format is <a class="link" href="gnutls-gnutls.html#GNUTLS-CRT-PRINT-FULL:CAPS"><code class="literal">GNUTLS_CRT_PRINT_FULL</code></a> then all fields of the +certificate will be output, on multiple lines. The +<a class="link" href="gnutls-gnutls.html#GNUTLS-CRT-PRINT-ONELINE:CAPS"><code class="literal">GNUTLS_CRT_PRINT_ONELINE</code></a> format will generate one line with some +selected fields, which is useful for logging purposes.</p> +<p>The output <em class="parameter"><code>out</code></em> + needs to be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-print.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>The data to be printed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>Indicate the format to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>Newly allocated datum with null terminated string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-print.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-print"></a><h3>gnutls_x509_crl_print ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_print (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t"><span class="type">gnutls_certificate_print_formats_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will pretty print a X.509 certificate revocation +list, suitable for display to a human.</p> +<p>The output <em class="parameter"><code>out</code></em> + needs to be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-print.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>The data to be printed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>Indicate the format to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>Newly allocated datum with null terminated string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-print.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-raw-issuer-dn"></a><h3>gnutls_x509_crt_get_raw_issuer_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_raw_issuer_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *start</code></em>);</pre> +<p>This function will return a pointer to the DER encoded DN structure +and the length. This points to allocated data that must be free'd using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-raw-issuer-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>will hold the starting point of the DN</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-raw-issuer-dn.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-raw-dn"></a><h3>gnutls_x509_crt_get_raw_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_raw_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *start</code></em>);</pre> +<p>This function will return a pointer to the DER encoded DN structure and +the length. This points to allocated data that must be free'd using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-raw-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>will hold the starting point of the DN</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-raw-dn.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-rdn-get"></a><h3>gnutls_x509_rdn_get ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_rdn_get (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *idn</code></em>, + <em class="parameter"><code><span class="type">char</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre> +<p>This function will return the name of the given RDN sequence. The +name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as described in +RFC4514.</p> +<p>This function does not output a fully RFC4514 compliant string, if +that is required see <a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get2" title="gnutls_x509_rdn_get2 ()"><code class="function">gnutls_x509_rdn_get2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-rdn-get.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>idn</p></td> +<td class="parameter_description"><p>should contain a DER encoded RDN sequence</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the peer's name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-rdn-get.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> is returned and *<em class="parameter"><code>buf_size</code></em> +is +updated if the provided buffer is not long enough, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-rdn-get2"></a><h3>gnutls_x509_rdn_get2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_rdn_get2 (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *idn</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *str</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will return the name of the given RDN sequence. The +name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as described in +RFC4514.</p> +<p>When the flag <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a> is specified, the output +format will match the format output by previous to 3.5.6 versions of GnuTLS +which was not not fully RFC4514-compliant.</p> +<div class="refsect3"> +<a name="gnutls-x509-rdn-get2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>idn</p></td> +<td class="parameter_description"><p>should contain a DER encoded RDN sequence</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>str</p></td> +<td class="parameter_description"><p>a datum that will hold the name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero of <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-rdn-get2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> is returned and *<em class="parameter"><code>buf_size</code></em> +is +updated if the provided buffer is not long enough, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-rdn-get-oid"></a><h3>gnutls_x509_rdn_get_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_rdn_get_oid (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *idn</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre> +<p>This function will return the specified Object identifier, of the +RDN sequence.</p> +<div class="refsect3"> +<a name="gnutls-x509-rdn-get-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>idn</p></td> +<td class="parameter_description"><p>should contain a DER encoded RDN sequence</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Indicates which OID to return. Use 0 for the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the peer's name OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-rdn-get-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> is returned and *<em class="parameter"><code>buf_size</code></em> +is +updated if the provided buffer is not long enough, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-rdn-get-by-oid"></a><h3>gnutls_x509_rdn_get_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_rdn_get_by_oid (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *idn</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> raw_flag</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre> +<p>This function will return the name of the given Object identifier, +of the RDN sequence. The name will be encoded using the rules +from RFC4514.</p> +<div class="refsect3"> +<a name="gnutls-x509-rdn-get-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>idn</p></td> +<td class="parameter_description"><p>should contain a DER encoded RDN sequence</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>an Object Identifier</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the RDN indicates which +to send. Use 0 for the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_flag</p></td> +<td class="parameter_description"><p>If non-zero then the raw DER data are returned.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the peer's name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-rdn-get-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, or +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> is returned and *<em class="parameter"><code>buf_size</code></em> +is +updated if the provided buffer is not long enough, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-subject"></a><h3>gnutls_x509_crt_get_subject ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_subject (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> *dn</code></em>);</pre> +<p>Return the Certificate's Subject DN as a <a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><code class="literal">gnutls_x509_dn_t</code></a> data type, +that can be decoded using <a class="link" href="gnutls-x509.html#gnutls-x509-dn-get-rdn-ava" title="gnutls_x509_dn_get_rdn_ava ()"><code class="function">gnutls_x509_dn_get_rdn_ava()</code></a>.</p> +<p>Note that <em class="parameter"><code>dn</code></em> + should be treated as constant. Because it points +into the <em class="parameter"><code>cert</code></em> + object, you should not use <em class="parameter"><code>dn</code></em> + after <em class="parameter"><code>cert</code></em> + is +deallocated.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>output variable with pointer to uint8_t DN.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-subject.returns"></a><h4>Returns</h4> +<p> Returns 0 on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-issuer"></a><h3>gnutls_x509_crt_get_issuer ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_issuer (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> *dn</code></em>);</pre> +<p>Return the Certificate's Issuer DN as a <a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><code class="literal">gnutls_x509_dn_t</code></a> data type, +that can be decoded using <a class="link" href="gnutls-x509.html#gnutls-x509-dn-get-rdn-ava" title="gnutls_x509_dn_get_rdn_ava ()"><code class="function">gnutls_x509_dn_get_rdn_ava()</code></a>.</p> +<p>Note that <em class="parameter"><code>dn</code></em> + should be treated as constant. Because it points +into the <em class="parameter"><code>cert</code></em> + object, you should not use <em class="parameter"><code>dn</code></em> + after <em class="parameter"><code>cert</code></em> + is +deallocated.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>output variable with pointer to uint8_t DN</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-issuer.returns"></a><h4>Returns</h4> +<p> Returns 0 on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-get-rdn-ava"></a><h3>gnutls_x509_dn_get_rdn_ava ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_dn_get_rdn_ava (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> dn</code></em>, + <em class="parameter"><code><span class="type">int</span> irdn</code></em>, + <em class="parameter"><code><span class="type">int</span> iava</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-ava-st" title="gnutls_x509_ava_st"><span class="type">gnutls_x509_ava_st</span></a> *ava</code></em>);</pre> +<p>Get pointers to data within the DN. The format of the <em class="parameter"><code>ava</code></em> + structure +is shown below.</p> +<p> struct gnutls_x509_ava_st { + gnutls_datum_t oid; + gnutls_datum_t value; + unsigned long value_tag; + };</p> +<p>The X.509 distinguished name is a sequence of sequences of strings +and this is what the <em class="parameter"><code>irdn</code></em> + and <em class="parameter"><code>iava</code></em> + indexes model.</p> +<p>Note that <em class="parameter"><code>ava</code></em> + will contain pointers into the <em class="parameter"><code>dn</code></em> + structure which +in turns points to the original certificate. Thus you should not +modify any data or deallocate any of those.</p> +<p>This is a low-level function that requires the caller to do the +value conversions when necessary (e.g. from UCS-2).</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-get-rdn-ava.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to DN</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>irdn</p></td> +<td class="parameter_description"><p>index of RDN</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iava</p></td> +<td class="parameter_description"><p>index of AVA.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ava</p></td> +<td class="parameter_description"><p>Pointer to structure which will hold output information.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-dn-get-rdn-ava.returns"></a><h4>Returns</h4> +<p> Returns 0 on success, or an error code.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-get-str"></a><h3>gnutls_x509_dn_get_str ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_dn_get_str (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> dn</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *str</code></em>);</pre> +<p>This function will allocate buffer and copy the name in the provided DN. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>When the flag <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a> is specified, the output +format will match the format output by previous to 3.5.6 versions of GnuTLS +which was not not fully RFC4514-compliant.</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-get-str.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to DN</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>str</p></td> +<td class="parameter_description"><p>a datum that will hold the name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-dn-get-str.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-get-str2"></a><h3>gnutls_x509_dn_get_str2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_dn_get_str2 (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> dn</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *str</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-set-str"></a><h3>gnutls_x509_dn_set_str ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_dn_set_str (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> dn</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *str</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **err</code></em>);</pre> +<p>This function will set the DN on the provided DN structure. +The input string should be plain ASCII or UTF-8 encoded. On +DN parsing error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PARSING-ERROR:CAPS" title="GNUTLS_E_PARSING_ERROR"><code class="literal">GNUTLS_E_PARSING_ERROR</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-set-str.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to DN</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>str</p></td> +<td class="parameter_description"><p>a comma separated DN string (RFC4514)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err</p></td> +<td class="parameter_description"><p>indicates the error position (if any)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-dn-set-str.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-init"></a><h3>gnutls_x509_dn_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_dn_init (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> *dn</code></em>);</pre> +<p>This function initializes a <a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> type.</p> +<p>The object returned must be deallocated using +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-deinit" title="gnutls_x509_dn_deinit ()"><code class="function">gnutls_x509_dn_deinit()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>the object to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-dn-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-import"></a><h3>gnutls_x509_dn_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_dn_import (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> dn</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +<p>This function parses an RDN sequence and stores the result to a +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> type. The data must have been initialized +with <a class="link" href="gnutls-x509.html#gnutls-x509-dn-init" title="gnutls_x509_dn_init ()"><code class="function">gnutls_x509_dn_init()</code></a>. You may use <a class="link" href="gnutls-x509.html#gnutls-x509-dn-get-rdn-ava" title="gnutls_x509_dn_get_rdn_ava ()"><code class="function">gnutls_x509_dn_get_rdn_ava()</code></a> to +decode the DN.</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-import.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>the structure that will hold the imported DN</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>should contain a DER encoded RDN sequence</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-dn-import.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-export"></a><h3>gnutls_x509_dn_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_dn_export (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> dn</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will export the DN to DER or PEM format.</p> +<p>If the buffer provided is not long enough to hold the output, then +*<em class="parameter"><code>output_data_size</code></em> + is updated and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> +will be returned.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN NAME".</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-export.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>Holds the uint8_t DN object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain a DN PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-dn-export.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-export2"></a><h3>gnutls_x509_dn_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_dn_export2 (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> dn</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the DN to DER or PEM format.</p> +<p>The output buffer is allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN NAME".</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-export2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>Holds the uint8_t DN object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain a DN PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-dn-export2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-deinit"></a><h3>gnutls_x509_dn_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_dn_deinit (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-dn-t" title="gnutls_x509_dn_t"><span class="type">gnutls_x509_dn_t</span></a> dn</code></em>);</pre> +<p>This function deallocates the DN object as returned by +<a class="link" href="gnutls-x509.html#gnutls-x509-dn-import" title="gnutls_x509_dn_import ()"><code class="function">gnutls_x509_dn_import()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-dn-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a DN uint8_t object pointer.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 2.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-init"></a><h3>gnutls_x509_crl_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> *crl</code></em>);</pre> +<p>This function will initialize a CRL structure. CRL stands for +Certificate Revocation List. A revocation list usually contains +lists of certificate serial numbers that have been revoked by an +Authority. The revocation lists are always signed with the +authority's private key.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-deinit"></a><h3>gnutls_x509_crl_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_crl_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>);</pre> +<p>This function will deinitialize a CRL structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>The data to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-import"></a><h3>gnutls_x509_crl_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);</pre> +<p>This function will convert the given DER or PEM encoded CRL +to the native <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> format. The output will be stored in 'crl'.</p> +<p>If the CRL is PEM encoded it should have a header of "X509 CRL".</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-import.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>The data to store the parsed CRL.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The DER or PEM encoded CRL.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-import.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-export"></a><h3>gnutls_x509_crl_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_export (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will export the revocation list to DER or PEM format.</p> +<p>If the buffer provided is not long enough to hold the output, then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will be returned.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN X509 CRL".</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-export.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>Holds the revocation list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain a private key PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will +be replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-export.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-export2"></a><h3>gnutls_x509_crl_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_export2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the revocation list to DER or PEM format.</p> +<p>The output buffer is allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN X509 CRL".</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-export2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>Holds the revocation list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain a private key PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-export2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +<p>Since 3.1.3</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-raw-issuer-dn"></a><h3>gnutls_x509_crl_get_raw_issuer_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_raw_issuer_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>);</pre> +<p>This function will return a pointer to the DER encoded DN structure +and the length.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-raw-issuer-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>will hold the starting point of the DN</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-raw-issuer-dn.returns"></a><h4>Returns</h4> +<p> a negative error code on error, and (0) on success.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-issuer-dn"></a><h3>gnutls_x509_crl_get_issuer_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_issuer_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">char</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre> +<p>This function will copy the name of the CRL issuer in the provided +buffer. The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>If buf is <code class="literal">NULL</code> then only the size will be filled.</p> +<p>This function does not output a fully RFC4514 compliant string, if +that is required see <a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn3" title="gnutls_x509_crl_get_issuer_dn3 ()"><code class="function">gnutls_x509_crl_get_issuer_dn3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-issuer-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the peer's name (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_buf</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-issuer-dn.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is +not long enough, and in that case the sizeof_buf will be updated +with the required size, and 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-issuer-dn2"></a><h3>gnutls_x509_crl_get_issuer_dn2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_issuer_dn2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>);</pre> +<p>This function will allocate buffer and copy the name of the CRL issuer. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>This function does not output a fully RFC4514 compliant string, if +that is required see <a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn3" title="gnutls_x509_crl_get_issuer_dn3 ()"><code class="function">gnutls_x509_crl_get_issuer_dn3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-issuer-dn2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name; must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-issuer-dn2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-issuer-dn3"></a><h3>gnutls_x509_crl_get_issuer_dn3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_issuer_dn3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will allocate buffer and copy the name of the CRL issuer. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>When the flag <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a> is specified, the output +format will match the format output by previous to 3.5.6 versions of GnuTLS +which was not not fully RFC4514-compliant.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-issuer-dn3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name; must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-issuer-dn3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-issuer-dn-by-oid"></a><h3>gnutls_x509_crl_get_issuer_dn_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_issuer_dn_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> raw_flag</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre> +<p>This function will extract the part of the name of the CRL issuer +specified by the given OID. The output will be encoded as described +in RFC4514. The output string will be ASCII or UTF-8 encoded, +depending on the certificate data.</p> +<p>Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is (0), this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC4514 -- in +hex format with a '#' prefix. You can check about known OIDs +using <a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-known" title="gnutls_x509_dn_oid_known ()"><code class="function">gnutls_x509_dn_oid_known()</code></a>.</p> +<p>If buf is null then only the size will be filled.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-issuer-dn-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identified in null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the RDN, this specifies which to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_flag</p></td> +<td class="parameter_description"><p>If non-zero returns the raw DER data of the DN part.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the peer's name (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_buf</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-issuer-dn-by-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is +not long enough, and in that case the sizeof_buf will be updated +with the required size, and 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-dn-oid"></a><h3>gnutls_x509_crl_get_dn_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_dn_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_oid</code></em>);</pre> +<p>This function will extract the requested OID of the name of the CRL +issuer, specified by the given index.</p> +<p>If oid is null then only the size will be filled.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-dn-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which DN OID to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to store the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_oid</p></td> +<td class="parameter_description"><p>initially holds the size of 'oid'</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-dn-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is +not long enough, and in that case the sizeof_oid will be updated +with the required size. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-signature-algorithm"></a><h3>gnutls_x509_crl_get_signature_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_signature_algorithm + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>);</pre> +<p>This function will return a value of the <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> +enumeration that is the signature algorithm.</p> +<p>Since 3.6.0 this function never returns a negative error code. +Error cases and unknown/unsupported signature algorithms are +mapped to <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-UNKNOWN:CAPS"><code class="literal">GNUTLS_SIGN_UNKNOWN</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-signature-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-signature-algorithm.returns"></a><h4>Returns</h4> +<p> a <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> value</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-signature"></a><h3>gnutls_x509_crl_get_signature ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_signature (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">char</span> *sig</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_sig</code></em>);</pre> +<p>This function will extract the signature field of a CRL.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-signature.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sig</p></td> +<td class="parameter_description"><p>a pointer where the signature part will be copied (may be null).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_sig</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>sig</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-signature.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. </p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-version"></a><h3>gnutls_x509_crl_get_version ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_version (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>);</pre> +<p>This function will return the version of the specified CRL.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-version.returns"></a><h4>Returns</h4> +<p> The version number, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-signature-oid"></a><h3>gnutls_x509_crl_get_signature_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_signature_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>);</pre> +<p>This function will return the OID of the signature algorithm +that has been used to sign this CRL. This is function +is useful in the case <a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-signature-algorithm" title="gnutls_x509_crl_get_signature_algorithm ()"><code class="function">gnutls_x509_crl_get_signature_algorithm()</code></a> +returned <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-UNKNOWN:CAPS"><code class="literal">GNUTLS_SIGN_UNKNOWN</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-signature-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a buffer to hold the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-signature-oid.returns"></a><h4>Returns</h4> +<p> zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-this-update"></a><h3>gnutls_x509_crl_get_this_update ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_x509_crl_get_this_update (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>);</pre> +<p>This function will return the time this CRL was issued.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-this-update.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-this-update.returns"></a><h4>Returns</h4> +<p> when the CRL was issued, or (time_t)-1 on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-next-update"></a><h3>gnutls_x509_crl_get_next_update ()</h3> +<pre class="programlisting"><span class="returnvalue">time_t</span> +gnutls_x509_crl_get_next_update (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>);</pre> +<p>This function will return the time the next CRL will be issued. +This field is optional in a CRL so it might be normal to get an +error instead.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-next-update.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-next-update.returns"></a><h4>Returns</h4> +<p> when the next CRL will be issued, or (time_t)-1 on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-crt-count"></a><h3>gnutls_x509_crl_get_crt_count ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_crt_count (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>);</pre> +<p>This function will return the number of revoked certificates in the +given CRL.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-crt-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-crt-count.returns"></a><h4>Returns</h4> +<p> number of certificates, a negative error code on failure.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-crt-serial"></a><h3>gnutls_x509_crl_get_crt_serial ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_crt_serial (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *serial</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *serial_size</code></em>, + <em class="parameter"><code><span class="type">time_t</span> *t</code></em>);</pre> +<p>This function will retrieve the serial number of the specified, by +the index, revoked certificate.</p> +<p>Note that this function will have performance issues in large sequences +of revoked certificates. In that case use <a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-crt-serial" title="gnutls_x509_crl_iter_crt_serial ()"><code class="function">gnutls_x509_crl_iter_crt_serial()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-crt-serial.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>the index of the certificate to extract (starting from 0)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial</p></td> +<td class="parameter_description"><p>where the serial number will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial_size</p></td> +<td class="parameter_description"><p>initially holds the size of serial</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>t</p></td> +<td class="parameter_description"><p>if non null, will hold the time this certificate was revoked</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-crt-serial.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-iter-crt-serial"></a><h3>gnutls_x509_crl_iter_crt_serial ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_iter_crt_serial (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-t" title="gnutls_x509_crl_iter_t"><span class="type">gnutls_x509_crl_iter_t</span></a> *Param2</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *serial</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *serial_size</code></em>, + <em class="parameter"><code><span class="type">time_t</span> *t</code></em>);</pre> +<p>This function performs the same as <a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-crt-serial" title="gnutls_x509_crl_get_crt_serial ()"><code class="function">gnutls_x509_crl_get_crt_serial()</code></a>, +but reads sequentially and keeps state in the iterator +between calls. That allows it to provide better performance in sequences +with many elements (50000+).</p> +<p>When past the last element is accessed <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +is returned and the iterator is reset.</p> +<p>After use, the iterator must be deinitialized using <a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-deinit" title="gnutls_x509_crl_iter_deinit ()"><code class="function">gnutls_x509_crl_iter_deinit()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-iter-crt-serial.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iter</p></td> +<td class="parameter_description"><p>A pointer to an iterator (initially the iterator should be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial</p></td> +<td class="parameter_description"><p>where the serial number will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial_size</p></td> +<td class="parameter_description"><p>initially holds the size of serial</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>t</p></td> +<td class="parameter_description"><p>if non null, will hold the time this certificate was revoked</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-iter-crt-serial.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-iter-deinit"></a><h3>gnutls_x509_crl_iter_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_crl_iter_deinit (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-crl-iter-t" title="gnutls_x509_crl_iter_t"><span class="type">gnutls_x509_crl_iter_t</span></a> Param1</code></em>);</pre> +<p>This function will deinitialize an iterator type.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-iter-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>iter</p></td> +<td class="parameter_description"><p>The iterator to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-check-issuer"></a><h3>gnutls_x509_crl_check_issuer ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_crl_check_issuer (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> issuer</code></em>);</pre> +<p>This function will check if the given CRL was issued by the given +issuer certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-check-issuer.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>is the CRL to be checked</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>is the certificate of a possible issuer</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-check-issuer.returns"></a><h4>Returns</h4> +<p> true (1) if the given CRL was issued by the given issuer, +and false (0) if not.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-list-import2"></a><h3>gnutls_x509_crl_list_import2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_list_import2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> **crls</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *size</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will convert the given PEM encoded CRL list +to the native gnutls_x509_crl_t format. The output will be stored +in <em class="parameter"><code>crls</code></em> +. They will be automatically initialized.</p> +<p>If the Certificate is PEM encoded it should have a header of "X509 +CRL".</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-list-import2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crls</p></td> +<td class="parameter_description"><p>Will contain the parsed crl list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>size</p></td> +<td class="parameter_description"><p>It will contain the size of the list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The PEM encoded CRL.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be (0) or an OR'd sequence of gnutls_certificate_import_flags.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-list-import2.returns"></a><h4>Returns</h4> +<p> the number of certificates read or a negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-list-import"></a><h3>gnutls_x509_crl_list_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_list_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> *crls</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *crl_max</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will convert the given PEM encoded CRL list +to the native gnutls_x509_crl_t format. The output will be stored +in <em class="parameter"><code>crls</code></em> +. They will be automatically initialized.</p> +<p>If the Certificate is PEM encoded it should have a header of "X509 CRL".</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-list-import.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crls</p></td> +<td class="parameter_description"><p>Indicates where the parsed CRLs will be copied to. Must not be initialized.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl_max</p></td> +<td class="parameter_description"><p>Initially must hold the maximum number of crls. It will be updated with the number of crls available.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The PEM encoded CRLs</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be (0) or an OR'd sequence of gnutls_certificate_import_flags.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-list-import.returns"></a><h4>Returns</h4> +<p> the number of certificates read or a negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-set-version"></a><h3>gnutls_x509_crl_set_version ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_set_version (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> version</code></em>);</pre> +<p>This function will set the version of the CRL. This +must be one for CRL version 1, and so on. The CRLs generated +by gnutls should have a version number of 2.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>holds the version number. For CRLv1 crls must be 1.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-version.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-set-this-update"></a><h3>gnutls_x509_crl_set_this_update ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_set_this_update (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">time_t</span> act_time</code></em>);</pre> +<p>This function will set the time this CRL was issued.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-this-update.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>act_time</p></td> +<td class="parameter_description"><p>The actual time</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-this-update.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-set-next-update"></a><h3>gnutls_x509_crl_set_next_update ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_set_next_update (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">time_t</span> exp_time</code></em>);</pre> +<p>This function will set the time this CRL will be updated. +This is an optional value to be set on a CRL and this call +can be omitted when generating a CRL.</p> +<p>Prior to GnuTLS 3.5.7, setting a nextUpdate field was required +in order to generate a CRL.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-next-update.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>exp_time</p></td> +<td class="parameter_description"><p>The actual time</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-next-update.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-set-crt-serial"></a><h3>gnutls_x509_crl_set_crt_serial ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_set_crt_serial (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *serial</code></em>, + <em class="parameter"><code><span class="type">size_t</span> serial_size</code></em>, + <em class="parameter"><code><span class="type">time_t</span> revocation_time</code></em>);</pre> +<p>This function will set a revoked certificate's serial number to the CRL.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-crt-serial.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial</p></td> +<td class="parameter_description"><p>The revoked certificate's serial number</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial_size</p></td> +<td class="parameter_description"><p>Holds the size of the serial field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>revocation_time</p></td> +<td class="parameter_description"><p>The time this certificate was revoked</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-crt-serial.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-set-crt"></a><h3>gnutls_x509_crl_set_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_set_crt (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><span class="type">time_t</span> revocation_time</code></em>);</pre> +<p>This function will set a revoked certificate's serial number to the CRL.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-crt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crl_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> with the revoked certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>revocation_time</p></td> +<td class="parameter_description"><p>The time this certificate was revoked</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-crt.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-authority-key-id"></a><h3>gnutls_x509_crl_get_authority_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_authority_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">void</span> *id</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *id_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the CRL authority's key identifier. This +is obtained by the X.509 Authority Key identifier extension field +(2.5.29.35). Note that this function +only returns the keyIdentifier field of the extension and +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-EXTENSION:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_EXTENSION"><code class="literal">GNUTLS_E_X509_UNSUPPORTED_EXTENSION</code></a>, if the extension contains +the name and serial number of the certificate. In that case +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-authority-key-gn-serial" title="gnutls_x509_crl_get_authority_key_gn_serial ()"><code class="function">gnutls_x509_crl_get_authority_key_gn_serial()</code></a> may be used.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-authority-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>The place where the identifier will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id_size</p></td> +<td class="parameter_description"><p>Holds the size of the result field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical +(may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-authority-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-authority-key-gn-serial"></a><h3>gnutls_x509_crl_get_authority_key_gn_serial ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_authority_key_gn_serial + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *alt</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *alt_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *alt_type</code></em>, + <em class="parameter"><code><span class="type">void</span> *serial</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *serial_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the X.509 authority key +identifier when stored as a general name (authorityCertIssuer) +and serial number.</p> +<p>Because more than one general names might be stored +<em class="parameter"><code>seq</code></em> + can be used as a counter to request them all until +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-authority-key-gn-serial.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alt</p></td> +<td class="parameter_description"><p>is the place where the alternative name will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alt_size</p></td> +<td class="parameter_description"><p>holds the size of alt.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alt_type</p></td> +<td class="parameter_description"><p>holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial</p></td> +<td class="parameter_description"><p>buffer to store the serial number (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>serial_size</p></td> +<td class="parameter_description"><p>Holds the size of the serial field (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-authority-key-gn-serial.returns"></a><h4>Returns</h4> +<p> Returns 0 on success, or an error code.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-number"></a><h3>gnutls_x509_crl_get_number ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_number (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">void</span> *ret</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ret_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the CRL number extension. This is +obtained by the CRL Number extension field (2.5.29.20).</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-number.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret</p></td> +<td class="parameter_description"><p>The place where the number will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret_size</p></td> +<td class="parameter_description"><p>Holds the size of the result field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical +(may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-number.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-extension-oid"></a><h3>gnutls_x509_crl_get_extension_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_extension_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_oid</code></em>);</pre> +<p>This function will return the requested extension OID in the CRL. +The extension OID will be stored as a string in the provided +buffer.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-extension-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension OID to send, use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to store the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_oid</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-extension-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error. If your have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-extension-info"></a><h3>gnutls_x509_crl_get_extension_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_extension_info (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_oid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the requested extension OID in the CRL, +and the critical flag for it. The extension OID will be stored as +a string in the provided buffer. Use +<a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-data" title="gnutls_x509_crl_get_extension_data ()"><code class="function">gnutls_x509_crl_get_extension_data()</code></a> to extract the data.</p> +<p>If the buffer provided is not long enough to hold the output, then +*<em class="parameter"><code>sizeof_oid</code></em> + is updated and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will be +returned.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-extension-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension OID to send, use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to store the OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_oid</p></td> +<td class="parameter_description"><p>initially holds the maximum size of <em class="parameter"><code>oid</code></em> +, on return +holds actual size of <em class="parameter"><code>oid</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>output variable with critical flag, may be NULL.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-extension-info.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error. If your have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-extension-data"></a><h3>gnutls_x509_crl_get_extension_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_extension_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_data</code></em>);</pre> +<p>This function will return the requested extension data in the CRL. +The extension data will be stored as a string in the provided +buffer.</p> +<p>Use <a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-info" title="gnutls_x509_crl_get_extension_info ()"><code class="function">gnutls_x509_crl_get_extension_info()</code></a> to extract the OID and +critical flag. Use <a class="link" href="gnutls-x509.html#gnutls-x509-crl-get-extension-info" title="gnutls_x509_crl_get_extension_info ()"><code class="function">gnutls_x509_crl_get_extension_info()</code></a> instead, +if you want to get data indexed by the extension OID rather than +sequence.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-extension-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension OID to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the data (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_data</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-extension-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error. If your have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-extension-data2"></a><h3>gnutls_x509_crl_get_extension_data2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_get_extension_data2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +<p>This function will return the requested by the index extension data in the +certificate revocation list. The extension data will be allocated using +<code class="function">gnutls_malloc()</code>.</p> +<p>Use <a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-extension-info" title="gnutls_x509_crt_get_extension_info ()"><code class="function">gnutls_x509_crt_get_extension_info()</code></a> to extract the OID.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-extension-data2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension OID to read. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>will contain the extension DER-encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-get-extension-data2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned. If you have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-set-authority-key-id"></a><h3>gnutls_x509_crl_set_authority_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_set_authority_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *id</code></em>, + <em class="parameter"><code><span class="type">size_t</span> id_size</code></em>);</pre> +<p>This function will set the CRL's authority key ID extension. Only +the keyIdentifier field can be set with this function. This may +be used by an authority that holds multiple private keys, to distinguish +the used key.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-authority-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>a CRL of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>The key ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>id_size</p></td> +<td class="parameter_description"><p>Holds the size of the serial field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-authority-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-set-number"></a><h3>gnutls_x509_crl_set_number ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_set_number (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *nr</code></em>, + <em class="parameter"><code><span class="type">size_t</span> nr_size</code></em>);</pre> +<p>This function will set the CRL's number extension. This +is to be used as a unique and monotonic number assigned to +the CRL by the authority.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-number.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>a CRL of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nr</p></td> +<td class="parameter_description"><p>The CRL number</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nr_size</p></td> +<td class="parameter_description"><p>Holds the size of the nr field.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-set-number.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PROFILE-TO-VFLAGS:CAPS"></a><h3>GNUTLS_PROFILE_TO_VFLAGS()</h3> +<pre class="programlisting">#define GNUTLS_PROFILE_TO_VFLAGS(x)</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-VFLAGS-TO-PROFILE:CAPS"></a><h3>GNUTLS_VFLAGS_TO_PROFILE()</h3> +<pre class="programlisting">#define GNUTLS_VFLAGS_TO_PROFILE(x)</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-verification-profile-get-name"></a><h3>gnutls_certificate_verification_profile_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_certificate_verification_profile_get_name + ();</pre> +<p>Convert a <a class="link" href="gnutls-x509.html#gnutls-certificate-verification-profiles-t" title="enum gnutls_certificate_verification_profiles_t"><span class="type">gnutls_certificate_verification_profiles_t</span></a> value to a string.</p> +<div class="refsect3"> +<a name="gnutls-certificate-verification-profile-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>id</p></td> +<td class="parameter_description"><p>is a profile ID</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-certificate-verification-profile-get-name.returns"></a><h4>Returns</h4> +<p> a string that contains the name of the specified profile or <code class="literal">NULL</code>.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-list-verify"></a><h3>gnutls_x509_crt_list_verify ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_list_verify (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *cert_list</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> cert_list_length</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *CA_list</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> CA_list_length</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> *CRL_list</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> CRL_list_length</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>);</pre> +<p>This function will try to verify the given certificate list and +return its status. The details of the verification are the same +as in <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt2" title="gnutls_x509_trust_list_verify_crt2 ()"><code class="function">gnutls_x509_trust_list_verify_crt2()</code></a>.</p> +<p>You must check the peer's name in order to check if the verified +certificate belongs to the actual peer.</p> +<p>The certificate verification output will be put in <em class="parameter"><code>verify</code></em> + and will +be one or more of the gnutls_certificate_status_t enumerated +elements bitwise or'd. For a more detailed verification status use +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-verify" title="gnutls_x509_crt_verify ()"><code class="function">gnutls_x509_crt_verify()</code></a> per list element.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-verify.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert_list</p></td> +<td class="parameter_description"><p>is the certificate list to be verified</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_list_length</p></td> +<td class="parameter_description"><p>holds the number of certificate in cert_list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>CA_list</p></td> +<td class="parameter_description"><p>is the CA list which will be used in verification</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>CA_list_length</p></td> +<td class="parameter_description"><p>holds the number of CA certificate in CA_list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>CRL_list</p></td> +<td class="parameter_description"><p>holds a list of CRLs.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>CRL_list_length</p></td> +<td class="parameter_description"><p>the length of CRL list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>verify</p></td> +<td class="parameter_description"><p>will hold the certificate verification output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-list-verify.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-verify"></a><h3>gnutls_x509_crt_verify ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_verify (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *CA_list</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> CA_list_length</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>);</pre> +<p>This function will try to verify the given certificate and return +its status. Note that a verification error does not imply a negative +return status. In that case the <em class="parameter"><code>verify</code></em> + status is set.</p> +<p>The details of the verification are the same +as in <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt2" title="gnutls_x509_trust_list_verify_crt2 ()"><code class="function">gnutls_x509_trust_list_verify_crt2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-verify.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>is the certificate to be verified</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>CA_list</p></td> +<td class="parameter_description"><p>is one certificate that is considered to be trusted one</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>CA_list_length</p></td> +<td class="parameter_description"><p>holds the number of CA certificate in CA_list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>verify</p></td> +<td class="parameter_description"><p>will hold the certificate verification output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-verify.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-verify"></a><h3>gnutls_x509_crl_verify ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crl_verify (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *CA_list</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> CA_list_length</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>);</pre> +<p>This function will try to verify the given crl and return its verification status. +See <a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-verify" title="gnutls_x509_crt_list_verify ()"><code class="function">gnutls_x509_crt_list_verify()</code></a> for a detailed description of +return values. Note that since GnuTLS 3.1.4 this function includes +the time checks.</p> +<p>Note that value in <em class="parameter"><code>verify</code></em> + is set only when the return value of this +function is success (i.e, failure to trust a CRL a certificate does not imply +a negative return value).</p> +<p>Before GnuTLS 3.5.7 this function would return zero or a positive +number on success.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-verify.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crl</p></td> +<td class="parameter_description"><p>is the crl to be verified</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>trusted_cas</p></td> +<td class="parameter_description"><p>is a certificate list that is considered to be trusted one</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tcas_size</p></td> +<td class="parameter_description"><p>holds the number of CA certificates in CA_list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>verify</p></td> +<td class="parameter_description"><p>will hold the crl verification output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crl-verify.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0), otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-verify-data2"></a><h3>gnutls_x509_crt_verify_data2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_verify_data2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *signature</code></em>);</pre> +<p>This function will verify the given signed data, using the +parameters from the certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-verify-data2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>Holds the certificate to verify with</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>The signature algorithm used</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Zero or an OR list of <a class="link" href="gnutls-x509.html#gnutls-certificate-verify-flags" title="enum gnutls_certificate_verify_flags"><span class="type">gnutls_certificate_verify_flags</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>holds the signed data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>signature</p></td> +<td class="parameter_description"><p>contains the signature</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-verify-data2.returns"></a><h4>Returns</h4> +<p> In case of a verification failure <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS" title="GNUTLS_E_PK_SIG_VERIFY_FAILED"><code class="literal">GNUTLS_E_PK_SIG_VERIFY_FAILED</code></a> +is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED:CAPS" title="GNUTLS_E_EXPIRED"><code class="literal">GNUTLS_E_EXPIRED</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NOT-YET-ACTIVATED:CAPS" title="GNUTLS_E_NOT_YET_ACTIVATED"><code class="literal">GNUTLS_E_NOT_YET_ACTIVATED</code></a> on expired +or not yet activated certificate and zero or positive code on success.</p> +<p>Note that since GnuTLS 3.5.6 this function introduces checks in the +end certificate (<em class="parameter"><code>crt</code></em> +), including time checks and key usage checks.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-check-revocation"></a><h3>gnutls_x509_crt_check_revocation ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_check_revocation (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> *crl_list</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> crl_list_length</code></em>);</pre> +<p>This function will check if the given certificate is +revoked. It is assumed that the CRLs have been verified before.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-revocation.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl_list</p></td> +<td class="parameter_description"><p>should contain a list of gnutls_x509_crl_t types</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl_list_length</p></td> +<td class="parameter_description"><p>the length of the crl_list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-revocation.returns"></a><h4>Returns</h4> +<p> 0 if the certificate is NOT revoked, and 1 if it is. A +negative error code is returned on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-fingerprint"></a><h3>gnutls_x509_crt_get_fingerprint ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_fingerprint (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>);</pre> +<p>This function will calculate and copy the certificate's fingerprint +in the provided buffer. The fingerprint is a hash of the DER-encoded +data of the certificate.</p> +<p>If the buffer is null then only the size will be filled.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-fingerprint.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>is a digest algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the fingerprint (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-fingerprint.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is +not long enough, and in that case the *buf_size will be updated +with the required size. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-key-purpose-oid"></a><h3>gnutls_x509_crt_get_key_purpose_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_key_purpose_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will extract the key purpose OIDs of the Certificate +specified by the given index. These are stored in the Extended Key +Usage extension (2.5.29.37) See the GNUTLS_KP_* definitions for +human readable names.</p> +<p>If <em class="parameter"><code>oid</code></em> + is null then only the size will be filled. The <em class="parameter"><code>oid</code></em> + +returned will be null terminated, although <em class="parameter"><code>oid_size</code></em> + will not +account for the trailing null.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-key-purpose-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>This specifies which OID to return. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a buffer to hold the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>output flag to indicate criticality of extension</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-key-purpose-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is +not long enough, and in that case the *oid_size will be updated +with the required size. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-key-purpose-oid"></a><h3>gnutls_x509_crt_set_key_purpose_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_key_purpose_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *oid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> critical</code></em>);</pre> +<p>This function will set the key purpose OIDs of the Certificate. +These are stored in the Extended Key Usage extension (2.5.29.37) +See the GNUTLS_KP_* definitions for human readable names.</p> +<p>Subsequent calls to this function will append OIDs to the OID list.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-key-purpose-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a null terminated string that holds the OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>Whether this extension will be critical or not</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-key-purpose-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-check-key-purpose"></a><h3>gnutls_x509_crt_check_key_purpose ()</h3> +<pre class="programlisting"><span class="returnvalue">unsigned</span> +gnutls_x509_crt_check_key_purpose (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *purpose</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will check whether the given certificate matches +the provided key purpose. If <em class="parameter"><code>flags</code></em> + contains <code class="literal">GNUTLS_KP_FLAG_ALLOW_ANY</code> then +it a certificate marked for any purpose will not match.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-key-purpose.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>purpose</p></td> +<td class="parameter_description"><p>a key purpose OID (e.g., <a class="link" href="gnutls-x509.html#GNUTLS-KP-CODE-SIGNING:CAPS" title="GNUTLS_KP_CODE_SIGNING"><code class="literal">GNUTLS_KP_CODE_SIGNING</code></a>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-KP-FLAG-DISALLOW-ANY:CAPS" title="GNUTLS_KP_FLAG_DISALLOW_ANY"><code class="literal">GNUTLS_KP_FLAG_DISALLOW_ANY</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-check-key-purpose.returns"></a><h4>Returns</h4> +<p> zero if the key purpose doesn't match, and non-zero otherwise.</p> +</div> +<p class="since">Since: 3.5.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-CIPHER-MASK:CAPS"></a><h3>GNUTLS_PKCS_CIPHER_MASK()</h3> +<pre class="programlisting">#define GNUTLS_PKCS_CIPHER_MASK(x) ((x)&(~(GNUTLS_PKCS_NULL_PASSWORD))) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs-schema-get-name"></a><h3>gnutls_pkcs_schema_get_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_pkcs_schema_get_name (<em class="parameter"><code>unsigned <span class="type">int</span> schema</code></em>);</pre> +<p>This function will return a human readable description of the +PKCS12 or PBES2 schema.</p> +<div class="refsect3"> +<a name="gnutls-pkcs-schema-get-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>schema</p></td> +<td class="parameter_description"><p>Holds the PKCS <span class="type">12</span> or PBES2 schema (<a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t"><code class="literal">gnutls_pkcs_encrypt_flags_t</code></a>)</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs-schema-get-name.returns"></a><h4>Returns</h4> +<p> a constraint string or <code class="literal">NULL</code> on error.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs-schema-get-oid"></a><h3>gnutls_pkcs_schema_get_oid ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +gnutls_pkcs_schema_get_oid (<em class="parameter"><code>unsigned <span class="type">int</span> schema</code></em>);</pre> +<p>This function will return the object identifier of the +PKCS12 or PBES2 schema.</p> +<div class="refsect3"> +<a name="gnutls-pkcs-schema-get-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>schema</p></td> +<td class="parameter_description"><p>Holds the PKCS <span class="type">12</span> or PBES2 schema (<a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t"><code class="literal">gnutls_pkcs_encrypt_flags_t</code></a>)</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs-schema-get-oid.returns"></a><h4>Returns</h4> +<p> a constraint string or <code class="literal">NULL</code> on error.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-init"></a><h3>gnutls_x509_privkey_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> *key</code></em>);</pre> +<p>This function will initialize a private key type.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-deinit"></a><h3>gnutls_x509_privkey_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_privkey_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function will deinitialize a private key structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The key to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-sec-param"></a><h3>gnutls_x509_privkey_sec_param ()</h3> +<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-sec-param-t" title="enum gnutls_sec_param_t"><span class="returnvalue">gnutls_sec_param_t</span></a> +gnutls_x509_privkey_sec_param (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function will return the security parameter appropriate with +this private key.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-sec-param.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-sec-param.returns"></a><h4>Returns</h4> +<p> On success, a valid security parameter is returned otherwise +<a class="link" href="gnutls-gnutls.html#GNUTLS-SEC-PARAM-UNKNOWN:CAPS"><code class="literal">GNUTLS_SEC_PARAM_UNKNOWN</code></a> is returned.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-set-pin-function"></a><h3>gnutls_x509_privkey_set_pin_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_privkey_set_pin_function (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pin-callback-t" title="gnutls_pin_callback_t ()"><span class="type">gnutls_pin_callback_t</span></a> fn</code></em>, + <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre> +<p>This function will set a callback function to be used when +it is required to access a protected object. This function overrides +the global function set using <a class="link" href="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" title="gnutls_pkcs11_set_pin_function ()"><code class="function">gnutls_pkcs11_set_pin_function()</code></a>.</p> +<p>Note that this callback is used when decrypting a key.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-set-pin-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>privkey</p></td> +<td class="parameter_description"><p>The certificate structure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fn</p></td> +<td class="parameter_description"><p>the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>userdata</p></td> +<td class="parameter_description"><p>data associated with the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-cpy"></a><h3>gnutls_x509_privkey_cpy ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_cpy (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> dst</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> src</code></em>);</pre> +<p>This function will copy a private key from source to destination +key. Destination has to be initialized.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-cpy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>The destination key, which should be initialized.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>src</p></td> +<td class="parameter_description"><p>The source key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-cpy.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-import"></a><h3>gnutls_x509_privkey_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);</pre> +<p>This function will convert the given DER or PEM encoded key to the +native <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> format. The output will be stored in +<em class="parameter"><code>key</code></em> + .</p> +<p>If the key is PEM encoded it should have a header that contains "PRIVATE +KEY". Note that this function falls back to PKCS #8 decoding without +password, if the default format fails to import.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The data to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The DER or PEM encoded certificate.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-import-pkcs8"></a><h3>gnutls_x509_privkey_import_pkcs8 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_import_pkcs8 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will convert the given DER or PEM encoded PKCS8 2.0 +encrypted key to the native gnutls_x509_privkey_t format. The +output will be stored in <em class="parameter"><code>key</code></em> +. Both RSA and DSA keys can be +imported, and flags can only be used to indicate an unencrypted +key.</p> +<p>The <em class="parameter"><code>password</code></em> + can be either ASCII or UTF-8 in the default PBES2 +encryption schemas, or ASCII for the PKCS12 schemas.</p> +<p>If the Certificate is PEM encoded it should have a header of +"ENCRYPTED PRIVATE KEY", or "PRIVATE KEY". You only need to +specify the flags if the key is DER encoded, since in that case +the encryption status cannot be auto-detected.</p> +<p>If the <a class="link" href="gnutls-x509.html#GNUTLS-PKCS-PLAIN:CAPS"><code class="literal">GNUTLS_PKCS_PLAIN</code></a> flag is specified and the supplied data +are encrypted then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_DECRYPTION_FAILED"><code class="literal">GNUTLS_E_DECRYPTION_FAILED</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-pkcs8.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The data to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The DER or PEM encoded key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>the password to decrypt the key (if it is encrypted).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>0 if encrypted or GNUTLS_PKCS_PLAIN if not encrypted.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-pkcs8.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-import-openssl"></a><h3>gnutls_x509_privkey_import_openssl ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_import_openssl (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre> +<p>This function will convert the given PEM encrypted to +the native gnutls_x509_privkey_t format. The +output will be stored in <em class="parameter"><code>key</code></em> +. </p> +<p>The <em class="parameter"><code>password</code></em> + should be in ASCII. If the password is not provided +or wrong then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_DECRYPTION_FAILED"><code class="literal">GNUTLS_E_DECRYPTION_FAILED</code></a> will be returned.</p> +<p>If the Certificate is PEM encoded it should have a header of +"PRIVATE KEY" and the "DEK-Info" header.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-openssl.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The data to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The DER or PEM encoded key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>the password to decrypt the key (if it is encrypted).</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-openssl.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs8-info"></a><h3>gnutls_pkcs8_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_pkcs8_info (<em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *schema</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *cipher</code></em>, + <em class="parameter"><code><span class="type">void</span> *salt</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *salt_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *iter_count</code></em>, + <em class="parameter"><code><span class="type">char</span> **oid</code></em>);</pre> +<p>This function will provide information on the algorithms used +in a particular PKCS #8 structure. If the structure algorithms +are unknown the code <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_TYPE"><code class="literal">GNUTLS_E_UNKNOWN_CIPHER_TYPE</code></a> will be returned, +and only <em class="parameter"><code>oid</code></em> +, will be set. That is, <em class="parameter"><code>oid</code></em> + will be set on encrypted PKCS #8 +structures whether supported or not. It must be deinitialized using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>. +The other variables are only set on supported structures.</p> +<div class="refsect3"> +<a name="gnutls-pkcs8-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>Holds the PKCS #8 data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of the PKCS #8 data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>schema</p></td> +<td class="parameter_description"><p>indicate the schema as one of <a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t"><code class="literal">gnutls_pkcs_encrypt_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cipher</p></td> +<td class="parameter_description"><p>the cipher used as <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><code class="literal">gnutls_cipher_algorithm_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt</p></td> +<td class="parameter_description"><p>PBKDF2 salt (if non-NULL then <em class="parameter"><code>salt_size</code></em> +initially holds its size)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>salt_size</p></td> +<td class="parameter_description"><p>PBKDF2 salt size</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iter_count</p></td> +<td class="parameter_description"><p>PBKDF2 iteration count</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>if non-NULL it will contain an allocated null-terminated variable with the OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-pkcs8-info.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> if the provided structure isn't an encrypted key, +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_TYPE"><code class="literal">GNUTLS_E_UNKNOWN_CIPHER_TYPE</code></a> if the structure's encryption isn't supported, or +another negative error code in case of a failure. Zero on success.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-import2"></a><h3>gnutls_x509_privkey_import2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_import2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will import the given DER or PEM encoded key, to +the native <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> format, irrespective of the +input format. The input format is auto-detected.</p> +<p>The supported formats are basic unencrypted key, PKCS8, PKCS12, +and the openssl format.</p> +<p>If the provided key is encrypted but no password was given, then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_DECRYPTION_FAILED"><code class="literal">GNUTLS_E_DECRYPTION_FAILED</code></a> is returned. Since GnuTLS 3.4.0 this +function will utilize the PIN callbacks if any.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The data to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The DER or PEM encoded key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>A password (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>an ORed sequence of gnutls_pkcs_encrypt_flags_t</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-import-rsa-raw"></a><h3>gnutls_x509_privkey_import_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_import_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *d</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *u</code></em>);</pre> +<p>This function will convert the given RSA raw parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> format. The output will be stored in +<em class="parameter"><code>key</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-rsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The data to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>holds the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>holds the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>d</p></td> +<td class="parameter_description"><p>holds the private exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>holds the first prime (p)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>holds the second prime (q)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>u</p></td> +<td class="parameter_description"><p>holds the coefficient</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-rsa-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-import-rsa-raw2"></a><h3>gnutls_x509_privkey_import_rsa_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_import_rsa_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *d</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *u</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e1</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e2</code></em>);</pre> +<p>This function will convert the given RSA raw parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> format. The output will be stored in +<em class="parameter"><code>key</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-rsa-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The data to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>holds the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>holds the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>d</p></td> +<td class="parameter_description"><p>holds the private exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>holds the first prime (p)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>holds the second prime (q)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>u</p></td> +<td class="parameter_description"><p>holds the coefficient (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e1</p></td> +<td class="parameter_description"><p>holds e1 = d mod (p-1) (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e2</p></td> +<td class="parameter_description"><p>holds e2 = d mod (q-1) (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-rsa-raw2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-import-ecc-raw"></a><h3>gnutls_x509_privkey_import_ecc_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_import_ecc_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> curve</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *k</code></em>);</pre> +<p>This function will convert the given elliptic curve parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> format. The output will be stored +in <em class="parameter"><code>key</code></em> +. For EdDSA keys, the <em class="parameter"><code>x</code></em> + and <em class="parameter"><code>k</code></em> + values must be in the +native to curve format.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-ecc-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The data to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>holds the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>holds the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>holds the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>k</p></td> +<td class="parameter_description"><p>holds the k</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-ecc-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-import-gost-raw"></a><h3>gnutls_x509_privkey_import_gost_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_import_gost_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> digest</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-gost-paramset-t" title="enum gnutls_gost_paramset_t"><span class="type">gnutls_gost_paramset_t</span></a> paramset</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *k</code></em>);</pre> +<p>This function will convert the given GOST private key's parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> format. The output will be stored +in <em class="parameter"><code>key</code></em> +. <em class="parameter"><code>digest</code></em> + should be one of GNUTLS_DIG_GOSR_94, +GNUTLS_DIG_STREEBOG_256 or GNUTLS_DIG_STREEBOG_512. If <em class="parameter"><code>paramset</code></em> + is set to +GNUTLS_GOST_PARAMSET_UNKNOWN default one will be selected depending on +<em class="parameter"><code>digest</code></em> +.</p> +<p>Note: parameters should be stored with least significant byte first. On +version 3.6.3 big-endian format was used incorrectly.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-gost-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The data to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>holds the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>will hold the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>paramset</p></td> +<td class="parameter_description"><p>will hold the GOST parameter set ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>holds the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>holds the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>k</p></td> +<td class="parameter_description"><p>holds the k (private key)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-gost-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-fix"></a><h3>gnutls_x509_privkey_fix ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_fix (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function will recalculate the secondary parameters in a key. +In RSA keys, this can be the coefficient and exponent1,2.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-fix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-fix.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-export-dsa-raw"></a><h3>gnutls_x509_privkey_export_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_export_dsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>);</pre> +<p>This function will export the DSA private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-dsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the p</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the q</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>g</p></td> +<td class="parameter_description"><p>will hold the g</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-dsa-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-import-dsa-raw"></a><h3>gnutls_x509_privkey_import_dsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_import_dsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *g</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>);</pre> +<p>This function will convert the given DSA raw parameters to the +native <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> format. The output will be stored +in <em class="parameter"><code>key</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-dsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>The data to store the parsed key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>holds the p</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>holds the q</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>g</p></td> +<td class="parameter_description"><p>holds the g</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>holds the y (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>holds the x</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-import-dsa-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-get-pk-algorithm"></a><h3>gnutls_x509_privkey_get_pk_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_get_pk_algorithm (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function will return the public key algorithm of a private +key.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-pk-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-pk-algorithm.returns"></a><h4>Returns</h4> +<p> a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on +success, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-get-pk-algorithm2"></a><h3>gnutls_x509_privkey_get_pk_algorithm2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_get_pk_algorithm2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<p>This function will return the public key algorithm of a private +key.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-pk-algorithm2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>The number of bits in the public key algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-pk-algorithm2.returns"></a><h4>Returns</h4> +<p> a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on +success, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-get-spki"></a><h3>gnutls_x509_privkey_get_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_get_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the public key information of a private +key. The provided <em class="parameter"><code>spki</code></em> + must be initialized.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-spki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>a SubjectPublicKeyInfo structure of type <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-spki.returns"></a><h4>Returns</h4> +<p> Zero on success, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-set-spki"></a><h3>gnutls_x509_privkey_set_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_set_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will return the public key information of a private +key. The provided <em class="parameter"><code>spki</code></em> + must be initialized.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-set-spki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>a SubjectPublicKeyInfo structure of type <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-set-spki.returns"></a><h4>Returns</h4> +<p> Zero on success, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-get-key-id"></a><h3>gnutls_x509_privkey_get_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_get_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will return a unique ID that depends on the public key +parameters. This ID can be used in checking whether a certificate +corresponds to the given key.</p> +<p>If the buffer provided is not long enough to hold the output, then +*<em class="parameter"><code>output_data_size</code></em> + is updated and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will +be returned. The output will normally be a SHA-1 hash output, +which is 20 bytes.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be one of the flags from <a class="link" href="gnutls-x509.html#gnutls-keyid-flags-t" title="enum gnutls_keyid_flags_t"><code class="literal">gnutls_keyid_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain the key ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-generate"></a><h3>gnutls_x509_privkey_generate ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_generate (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will generate a random private key. Note that this +function must be called on an initialized private key.</p> +<p>The flag <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-PROVABLE:CAPS"><code class="literal">GNUTLS_PRIVKEY_FLAG_PROVABLE</code></a> +instructs the key generation process to use algorithms like Shawe-Taylor +(from FIPS PUB186-4) which generate provable parameters out of a seed +for RSA and DSA keys. See <a class="link" href="gnutls-x509.html#gnutls-x509-privkey-generate2" title="gnutls_x509_privkey_generate2 ()"><code class="function">gnutls_x509_privkey_generate2()</code></a> for more +information.</p> +<p>Note that when generating an elliptic curve key, the curve +can be substituted in the place of the bits parameter using the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CURVE-TO-BITS:CAPS" title="GNUTLS_CURVE_TO_BITS()"><code class="function">GNUTLS_CURVE_TO_BITS()</code></a> macro. The input to the macro is any curve from +<a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><code class="literal">gnutls_ecc_curve_t</code></a>.</p> +<p>For DSA keys, if the subgroup size needs to be specified check +the <a class="link" href="gnutls-abstract.html#GNUTLS-SUBGROUP-TO-BITS:CAPS" title="GNUTLS_SUBGROUP_TO_BITS()"><code class="function">GNUTLS_SUBGROUP_TO_BITS()</code></a> macro.</p> +<p>It is recommended to do not set the number of <em class="parameter"><code>bits</code></em> + directly, use <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-pk-bits" title="gnutls_sec_param_to_pk_bits ()"><code class="function">gnutls_sec_param_to_pk_bits()</code></a> instead .</p> +<p>See also <a class="link" href="gnutls-abstract.html#gnutls-privkey-generate" title="gnutls_privkey_generate ()"><code class="function">gnutls_privkey_generate()</code></a>, <a class="link" href="gnutls-x509.html#gnutls-x509-privkey-generate2" title="gnutls_x509_privkey_generate2 ()"><code class="function">gnutls_x509_privkey_generate2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-generate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>an initialized key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>is one of the algorithms in <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>the size of the parameters to generate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Must be zero or flags from <a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t"><span class="type">gnutls_privkey_flags_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-generate.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-set-flags"></a><h3>gnutls_x509_privkey_set_flags ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_privkey_set_flags (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set flags for the specified private key, after +it is generated. Currently this is useful for the <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-EXPORT-COMPAT:CAPS"><code class="literal">GNUTLS_PRIVKEY_FLAG_EXPORT_COMPAT</code></a> +to allow exporting a "provable" private key in backwards compatible way.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-set-flags.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>A key of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from the <code class="literal">gnutls_privkey_flags</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-generate2"></a><h3>gnutls_x509_privkey_generate2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_generate2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> algo</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> bits</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-x509.html#gnutls-keygen-data-st" title="gnutls_keygen_data_st"><span class="type">gnutls_keygen_data_st</span></a> *data</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> data_size</code></em>);</pre> +<p>This function will generate a random private key. Note that this +function must be called on an initialized private key.</p> +<p>The flag <a class="link" href="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-PROVABLE:CAPS"><code class="literal">GNUTLS_PRIVKEY_FLAG_PROVABLE</code></a> +instructs the key generation process to use algorithms like Shawe-Taylor +(from FIPS PUB186-4) which generate provable parameters out of a seed +for RSA and DSA keys. On DSA keys the PQG parameters are generated using the +seed, while on RSA the two primes. To specify an explicit seed +(by default a random seed is used), use the <em class="parameter"><code>data</code></em> + with a <a class="link" href="gnutls-x509.html#GNUTLS-KEYGEN-SEED:CAPS"><code class="literal">GNUTLS_KEYGEN_SEED</code></a> +type.</p> +<p>Note that when generating an elliptic curve key, the curve +can be substituted in the place of the bits parameter using the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CURVE-TO-BITS:CAPS" title="GNUTLS_CURVE_TO_BITS()"><code class="function">GNUTLS_CURVE_TO_BITS()</code></a> macro.</p> +<p>To export the generated keys in memory or in files it is recommended to use the +PKCS#8 form as it can handle all key types, and can store additional parameters +such as the seed, in case of provable RSA or DSA keys. +Generated keys can be exported in memory using <a class="link" href="gnutls-abstract.html#gnutls-privkey-export-x509" title="gnutls_privkey_export_x509 ()"><code class="function">gnutls_privkey_export_x509()</code></a>, +and then with <a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export2-pkcs8" title="gnutls_x509_privkey_export2_pkcs8 ()"><code class="function">gnutls_x509_privkey_export2_pkcs8()</code></a>.</p> +<p>If key generation is part of your application, avoid setting the number +of bits directly, and instead use <a class="link" href="gnutls-gnutls.html#gnutls-sec-param-to-pk-bits" title="gnutls_sec_param_to_pk_bits ()"><code class="function">gnutls_sec_param_to_pk_bits()</code></a>. +That way the generated keys will adapt to the security levels +of the underlying GnuTLS library.</p> +<p>See also <a class="link" href="gnutls-abstract.html#gnutls-privkey-generate2" title="gnutls_privkey_generate2 ()"><code class="function">gnutls_privkey_generate2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-generate2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>algo</p></td> +<td class="parameter_description"><p>is one of the algorithms in <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>the size of the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Must be zero or flags from <a class="link" href="gnutls-abstract.html#gnutls-privkey-flags-t" title="enum gnutls_privkey_flags_t"><span class="type">gnutls_privkey_flags_t</span></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>Allow specifying <a class="link" href="gnutls-x509.html#gnutls-keygen-data-st" title="gnutls_keygen_data_st"><code class="literal">gnutls_keygen_data_st</code></a> types such as the seed to be used.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>The number of <em class="parameter"><code>data</code></em> +available.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-generate2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-verify-seed"></a><h3>gnutls_x509_privkey_verify_seed ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_verify_seed (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> Param2</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *seed</code></em>, + <em class="parameter"><code><span class="type">size_t</span> seed_size</code></em>);</pre> +<p>This function will verify that the given private key was generated from +the provided seed. If <em class="parameter"><code>seed</code></em> + is <code class="literal">NULL</code> then the seed stored in the <em class="parameter"><code>key</code></em> +'s structure +will be used for verification.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-verify-seed.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>it contains the digest algorithm used for key generation (if applicable)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed</p></td> +<td class="parameter_description"><p>the seed of the key to be checked with</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed_size</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>seed</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-verify-seed.returns"></a><h4>Returns</h4> +<p> In case of a verification failure <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PRIVKEY-VERIFICATION-ERROR:CAPS" title="GNUTLS_E_PRIVKEY_VERIFICATION_ERROR"><code class="literal">GNUTLS_E_PRIVKEY_VERIFICATION_ERROR</code></a> +is returned, and zero or positive code on success.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-get-seed"></a><h3>gnutls_x509_privkey_get_seed ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_get_seed (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> *Param2</code></em>, + <em class="parameter"><code><span class="type">void</span> *seed</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *seed_size</code></em>);</pre> +<p>This function will return the seed that was used to generate the +given private key. That function will succeed only if the key was generated +as a provable key.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-seed.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>if non-NULL it will contain the digest algorithm used for key generation (if applicable)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed</p></td> +<td class="parameter_description"><p>where seed will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seed_size</p></td> +<td class="parameter_description"><p>originally holds the size of <em class="parameter"><code>seed</code></em> +, will be updated with actual size</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-get-seed.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-verify-params"></a><h3>gnutls_x509_privkey_verify_params ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_verify_params (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function will verify the private key parameters.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-verify-params.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-verify-params.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-export"></a><h3>gnutls_x509_privkey_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_export (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will export the private key to a PKCS#1 structure for +RSA or RSA-PSS keys, and integer sequence for DSA keys. Other keys types +will be exported in PKCS#8 form.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN RSA PRIVATE KEY".</p> +<p>It is recommended to use <a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export-pkcs8" title="gnutls_x509_privkey_export_pkcs8 ()"><code class="function">gnutls_x509_privkey_export_pkcs8()</code></a> instead +of this function, when a consistent output format is required.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain a private key PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-export2"></a><h3>gnutls_x509_privkey_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_export2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the private key to a PKCS#1 structure for +RSA or RSA-PSS keys, and integer sequence for DSA keys. Other keys types +will be exported in PKCS#8 form.</p> +<p>The output buffer is allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>It is recommended to use <a class="link" href="gnutls-x509.html#gnutls-x509-privkey-export2-pkcs8" title="gnutls_x509_privkey_export2_pkcs8 ()"><code class="function">gnutls_x509_privkey_export2_pkcs8()</code></a> instead +of this function, when a consistent output format is required.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain a private key PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +<p>Since 3.1.3</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-export-pkcs8"></a><h3>gnutls_x509_privkey_export_pkcs8 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_export_pkcs8 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will export the private key to a PKCS8 structure. +Both RSA and DSA keys can be exported. For DSA keys we use +PKCS <span class="type">11</span> definitions. If the flags do not specify the encryption +cipher, then the default 3DES (PBES2) will be used.</p> +<p>The <em class="parameter"><code>password</code></em> + can be either ASCII or UTF-8 in the default PBES2 +encryption schemas, or ASCII for the PKCS12 schemas.</p> +<p>If the buffer provided is not long enough to hold the output, then +*output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN ENCRYPTED PRIVATE KEY" or "BEGIN PRIVATE KEY" if +encryption is not used.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-pkcs8.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>the password that will be used to encrypt the key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>an ORed sequence of gnutls_pkcs_encrypt_flags_t</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain a private key PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-pkcs8.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-export2-pkcs8"></a><h3>gnutls_x509_privkey_export2_pkcs8 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_export2_pkcs8 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *password</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the private key to a PKCS8 structure. +Both RSA and DSA keys can be exported. For DSA keys we use +PKCS <span class="type">11</span> definitions. If the flags do not specify the encryption +cipher, then the default 3DES (PBES2) will be used.</p> +<p>The <em class="parameter"><code>password</code></em> + can be either ASCII or UTF-8 in the default PBES2 +encryption schemas, or ASCII for the PKCS12 schemas.</p> +<p>The output buffer is allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>If the structure is PEM encoded, it will have a header +of "BEGIN ENCRYPTED PRIVATE KEY" or "BEGIN PRIVATE KEY" if +encryption is not used.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export2-pkcs8.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>Holds the key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>password</p></td> +<td class="parameter_description"><p>the password that will be used to encrypt the key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>an ORed sequence of gnutls_pkcs_encrypt_flags_t</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain a private key PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export2-pkcs8.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +<p>Since 3.1.3</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-export-rsa-raw2"></a><h3>gnutls_x509_privkey_export_rsa_raw2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_export_rsa_raw2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *d</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *u</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e1</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e2</code></em>);</pre> +<p>This function will export the RSA private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-rsa-raw2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>will hold the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>will hold the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>d</p></td> +<td class="parameter_description"><p>will hold the private exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the first prime (p)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the second prime (q)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>u</p></td> +<td class="parameter_description"><p>will hold the coefficient</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e1</p></td> +<td class="parameter_description"><p>will hold e1 = d mod (p-1)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e2</p></td> +<td class="parameter_description"><p>will hold e2 = d mod (q-1)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-rsa-raw2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.12.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-export-rsa-raw"></a><h3>gnutls_x509_privkey_export_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_export_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *d</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *p</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *q</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *u</code></em>);</pre> +<p>This function will export the RSA private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-rsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>will hold the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>will hold the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>d</p></td> +<td class="parameter_description"><p>will hold the private exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>p</p></td> +<td class="parameter_description"><p>will hold the first prime (p)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>q</p></td> +<td class="parameter_description"><p>will hold the second prime (q)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>u</p></td> +<td class="parameter_description"><p>will hold the coefficient</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-rsa-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-export-ecc-raw"></a><h3>gnutls_x509_privkey_export_ecc_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_export_ecc_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *k</code></em>);</pre> +<p>This function will export the ECC private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>In EdDSA curves the <em class="parameter"><code>y</code></em> + parameter will be <code class="literal">NULL</code> and the other parameters +will be in the native format for the curve.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-ecc-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>k</p></td> +<td class="parameter_description"><p>will hold the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-ecc-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-export-gost-raw"></a><h3>gnutls_x509_privkey_export_gost_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_export_gost_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ecc-curve-t" title="enum gnutls_ecc_curve_t"><span class="type">gnutls_ecc_curve_t</span></a> *curve</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> *digest</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-gost-paramset-t" title="enum gnutls_gost_paramset_t"><span class="type">gnutls_gost_paramset_t</span></a> *paramset</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *y</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *k</code></em>);</pre> +<p>This function will export the GOST private key's parameters found +in the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<p>Note: parameters will be stored with least significant byte first. On +version 3.6.3 this was incorrectly returned in big-endian format.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-gost-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>curve</p></td> +<td class="parameter_description"><p>will hold the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>will hold the digest</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>paramset</p></td> +<td class="parameter_description"><p>will hold the GOST parameter set ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>will hold the x-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>will hold the y-coordinate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>k</p></td> +<td class="parameter_description"><p>will hold the private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-export-gost-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.3</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-privkey-sign-data"></a><h3>gnutls_x509_privkey_sign_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_privkey_sign_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> digest</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><span class="type">void</span> *signature</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *signature_size</code></em>);</pre> +<p>This function will sign the given data using a signature algorithm +supported by the private key. Signature algorithms are always used +together with a hash functions. Different hash functions may be +used for the RSA algorithm, but only SHA-1 for the DSA keys.</p> +<p>If the buffer provided is not long enough to hold the output, then +*<em class="parameter"><code>signature_size</code></em> + is updated and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will +be returned.</p> +<p>Use <code class="function">gnutls_x509_crt_get_preferred_hash_algorithm()</code> to determine +the hash algorithm.</p> +<div class="refsect3"> +<a name="gnutls-x509-privkey-sign-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>a key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>digest</p></td> +<td class="parameter_description"><p>should be a digest algorithm</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be 0 for now</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>holds the data to be signed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>signature</p></td> +<td class="parameter_description"><p>will contain the signature</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>signature_size</p></td> +<td class="parameter_description"><p>holds the size of signature (and will be replaced +by the new size)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-privkey-sign-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-sign"></a><h3>gnutls_x509_crq_sign ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_sign (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function is the same a <a class="link" href="gnutls-x509.html#gnutls-x509-crq-sign2" title="gnutls_x509_crq_sign2 ()"><code class="function">gnutls_x509_crq_sign2()</code></a> with no flags, +and an appropriate hash algorithm. The hash algorithm used may +vary between versions of GnuTLS, and it is tied to the security +level of the issuer's public key.</p> +<p>A known limitation of this function is, that a newly-signed request will not +be fully functional (e.g., for signature verification), until it +is exported an re-imported.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-sign.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>holds a private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-sign.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-sign2"></a><h3>gnutls_x509_crq_sign2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_sign2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> dig</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will sign the certificate request with a private key. +This must be the same key as the one used in +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-set-key" title="gnutls_x509_crt_set_key ()"><code class="function">gnutls_x509_crt_set_key()</code></a> since a certificate request is self +signed.</p> +<p>This must be the last step in a certificate request generation +since all the previously set parameters are now signed.</p> +<p>A known limitation of this function is, that a newly-signed request will not +be fully functional (e.g., for signature verification), until it +is exported an re-imported.</p> +<p>After GnuTLS 3.6.1 the value of <em class="parameter"><code>dig</code></em> + may be <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-UNKNOWN:CAPS"><code class="literal">GNUTLS_DIG_UNKNOWN</code></a>, +and in that case, a suitable but reasonable for the key algorithm will be selected.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-sign2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>holds a private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dig</p></td> +<td class="parameter_description"><p>The message digest to use, i.e., <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-SHA256:CAPS"><code class="literal">GNUTLS_DIG_SHA256</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be 0</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-sign2.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code. +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_FOUND"><code class="literal">GNUTLS_E_ASN1_VALUE_NOT_FOUND</code></a> is returned if you didn't set all +information in the certificate request (e.g., the version using +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-set-version" title="gnutls_x509_crq_set_version ()"><code class="function">gnutls_x509_crq_set_version()</code></a>).</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-print"></a><h3>gnutls_x509_crq_print ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_print (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t"><span class="type">gnutls_certificate_print_formats_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will pretty print a certificate request, suitable for +display to a human.</p> +<p>The output <em class="parameter"><code>out</code></em> + needs to be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-print.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>The data to be printed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>Indicate the format to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>Newly allocated datum with null terminated string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-print.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-verify"></a><h3>gnutls_x509_crq_verify ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_verify (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will verify self signature in the certificate +request and return its status.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-verify.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>is the crq to be verified</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-verify.returns"></a><h4>Returns</h4> +<p> In case of a verification failure <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS" title="GNUTLS_E_PK_SIG_VERIFY_FAILED"><code class="literal">GNUTLS_E_PK_SIG_VERIFY_FAILED</code></a> +is returned, and zero or positive code on success.</p> +<p>Since 2.12.0</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-init"></a><h3>gnutls_x509_crq_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_init (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> *crq</code></em>);</pre> +<p>This function will initialize a PKCS<span class="type">10</span> certificate request +structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-deinit"></a><h3>gnutls_x509_crq_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_crq_deinit (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>);</pre> +<p>This function will deinitialize a PKCS<span class="type">10</span> certificate request +structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>the type to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-import"></a><h3>gnutls_x509_crq_import ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_import (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);</pre> +<p>This function will convert the given DER or PEM encoded certificate +request to a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type. The output will be +stored in <em class="parameter"><code>crq</code></em> +.</p> +<p>If the Certificate is PEM encoded it should have a header of "NEW +CERTIFICATE REQUEST".</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-import.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>The data to store the parsed certificate request.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The DER or PEM encoded certificate.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>One of DER or PEM</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-import.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-private-key-usage-period"></a><h3>gnutls_x509_crq_get_private_key_usage_period ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_private_key_usage_period + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> cert</code></em>, + <em class="parameter"><code><span class="type">time_t</span> *activation</code></em>, + <em class="parameter"><code><span class="type">time_t</span> *expiration</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the expiration and activation +times of the private key of the certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-private-key-usage-period.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>activation</p></td> +<td class="parameter_description"><p>The activation time</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>expiration</p></td> +<td class="parameter_description"><p>The expiration time</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>the extension status</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-private-key-usage-period.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +if the extension is not present, otherwise a negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-dn"></a><h3>gnutls_x509_crq_get_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">char</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre> +<p>This function will copy the name of the Certificate request subject +to the provided buffer. The name will be in the form +"C=xxxx,O=yyyy,CN=zzzz" as described in RFC 2253. The output string +<em class="parameter"><code>buf</code></em> + will be ASCII or UTF-8 encoded, depending on the certificate +data.</p> +<p>This function does not output a fully RFC4514 compliant string, if +that is required see <a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn3" title="gnutls_x509_crq_get_dn3 ()"><code class="function">gnutls_x509_crq_get_dn3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is not +long enough, and in that case the *<em class="parameter"><code>buf_size</code></em> +will be updated with +the required size. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-dn2"></a><h3>gnutls_x509_crq_get_dn2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_dn2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>);</pre> +<p>This function will allocate buffer and copy the name of the Certificate +request. The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>This function does not output a fully RFC4514 compliant string, if +that is required see <a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-dn3" title="gnutls_x509_crq_get_dn3 ()"><code class="function">gnutls_x509_crq_get_dn3()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name; must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. and a negative error code on error.</p> +</div> +<p class="since">Since: 3.1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-dn3"></a><h3>gnutls_x509_crq_get_dn3 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_dn3 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will allocate buffer and copy the name of the Certificate +request. The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data.</p> +<p>When the flag <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a> is specified, the output +format will match the format output by previous to 3.5.6 versions of GnuTLS +which was not not fully RFC4514-compliant.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn3.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name; must be freed using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS" title="GNUTLS_X509_DN_FLAG_COMPAT"><code class="literal">GNUTLS_X509_DN_FLAG_COMPAT</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn3.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. and a negative error code on error.</p> +</div> +<p class="since">Since: 3.5.7</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-dn-oid"></a><h3>gnutls_x509_crq_get_dn_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_dn_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_oid</code></em>);</pre> +<p>This function will extract the requested OID of the name of the +certificate request subject, specified by the given index.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crq_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which DN OID to get. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_oid</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is +not long enough, and in that case the *<em class="parameter"><code>sizeof_oid</code></em> +will be +updated with the required size. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-dn-by-oid"></a><h3>gnutls_x509_crq_get_dn_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_dn_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> raw_flag</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre> +<p>This function will extract the part of the name of the Certificate +request subject, specified by the given OID. The output will be +encoded as described in RFC2253. The output string will be ASCII +or UTF-8 encoded, depending on the certificate data.</p> +<p>Some helper macros with popular OIDs can be found in gnutls/x509.h +If raw flag is (0), this function will only return known OIDs as +text. Other OIDs will be DER encoded, as described in RFC2253 -- +in hex format with a '#' prefix. You can check about known OIDs +using <a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-known" title="gnutls_x509_dn_oid_known ()"><code class="function">gnutls_x509_dn_oid_known()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a gnutls_x509_crq_t type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in a null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the RDN, this specifies +which to get. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_flag</p></td> +<td class="parameter_description"><p>If non-zero returns the raw DER data of the DN part.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-dn-by-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is +not long enough, and in that case the *<em class="parameter"><code>buf_size</code></em> +will be +updated with the required size. On success 0 is returned.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-dn"></a><h3>gnutls_x509_crq_set_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_dn (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *dn</code></em>, + <em class="parameter"><code>const <span class="type">char</span> **err</code></em>);</pre> +<p>This function will set the DN on the provided certificate. +The input string should be plain ASCII or UTF-8 encoded. On +DN parsing error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PARSING-ERROR:CAPS" title="GNUTLS_E_PARSING_ERROR"><code class="literal">GNUTLS_E_PARSING_ERROR</code></a> is returned.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>a comma separated DN string (RFC4514)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>err</p></td> +<td class="parameter_description"><p>indicates the error position (if any)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-dn.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-dn-by-oid"></a><h3>gnutls_x509_crq_set_dn_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_dn_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> raw_flag</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> sizeof_data</code></em>);</pre> +<p>This function will set the part of the name of the Certificate +request subject, specified by the given OID. The input string +should be ASCII or UTF-8 encoded.</p> +<p>Some helper macros with popular OIDs can be found in gnutls/x509.h +With this function you can only set the known OIDs. You can test +for known OIDs using <a class="link" href="gnutls-x509.html#gnutls-x509-dn-oid-known" title="gnutls_x509_dn_oid_known ()"><code class="function">gnutls_x509_dn_oid_known()</code></a>. For OIDs that are +not known (by gnutls) you should properly DER encode your data, and +call this function with raw_flag set.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-dn-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in a (0)-terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>raw_flag</p></td> +<td class="parameter_description"><p>must be 0, or 1 if the data are DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>a pointer to the input data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_data</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>data</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-dn-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-version"></a><h3>gnutls_x509_crq_set_version ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_version (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> version</code></em>);</pre> +<p>This function will set the version of the certificate request. For +version 1 requests this must be one.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>holds the version number, for v1 Requests must be 1</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-version.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-version"></a><h3>gnutls_x509_crq_get_version ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_version (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>);</pre> +<p>This function will return the version of the specified Certificate +request.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-version.returns"></a><h4>Returns</h4> +<p> version of certificate request, or a negative error code on +error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-key"></a><h3>gnutls_x509_crq_set_key ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_key (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre> +<p>This function will set the public parameters from the given private +key to the request.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-key.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>holds a private key</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-key.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-extension-by-oid"></a><h3>gnutls_x509_crq_set_extension_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_extension_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> sizeof_buf</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> critical</code></em>);</pre> +<p>This function will set an the extension, by the specified OID, in +the certificate request. The extension data should be binary data DER +encoded.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-extension-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a DER encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_buf</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>should be non-zero if the extension is to be marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-extension-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-challenge-password"></a><h3>gnutls_x509_crq_set_challenge_password ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_challenge_password + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);</pre> +<p>This function will set a challenge password to be used when +revoking the request.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-challenge-password.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>holds a (0)-terminated password</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-challenge-password.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-challenge-password"></a><h3>gnutls_x509_crq_get_challenge_password ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_challenge_password + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">char</span> *pass</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_pass</code></em>);</pre> +<p>This function will return the challenge password in the request. +The challenge password is intended to be used for requesting a +revocation of the certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-challenge-password.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass</p></td> +<td class="parameter_description"><p>will hold a (0)-terminated password string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pass_size</p></td> +<td class="parameter_description"><p>Initially holds the size of <em class="parameter"><code>pass</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-challenge-password.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-attribute-by-oid"></a><h3>gnutls_x509_crq_set_attribute_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_attribute_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> sizeof_buf</code></em>);</pre> +<p>This function will set the attribute in the certificate request +specified by the given Object ID. The provided attribute must be be DER +encoded.</p> +<p>Attributes in a certificate request is an optional set of data +appended to the request. Their interpretation depends on the CA policy.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-attribute-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in a null-terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure that holds the attribute data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-attribute-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-attribute-by-oid"></a><h3>gnutls_x509_crq_get_attribute_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_attribute_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre> +<p>This function will return the attribute in the certificate request +specified by the given Object ID. The attribute will be DER +encoded.</p> +<p>Attributes in a certificate request is an optional set of data +appended to the request. Their interpretation depends on the CA policy.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-attribute-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in null-terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the attribute list, this +specifies which to get, use (0) to get the first one</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the attribute data (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-attribute-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-export"></a><h3>gnutls_x509_crq_export ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_export (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">void</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will export the certificate request to a PEM or DER +encoded PKCS10 structure.</p> +<p>If the buffer provided is not long enough to hold the output, then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will be returned and +*<em class="parameter"><code>output_data_size</code></em> + will be updated.</p> +<p>If the structure is PEM encoded, it will have a header of "BEGIN +NEW CERTIFICATE REQUEST".</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-export.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain a certificate request PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-export.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-export2"></a><h3>gnutls_x509_crq_export2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_export2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will export the certificate request to a PEM or DER +encoded PKCS10 structure.</p> +<p>The output buffer is allocated using <code class="function">gnutls_malloc()</code>.</p> +<p>If the structure is PEM encoded, it will have a header of "BEGIN +NEW CERTIFICATE REQUEST".</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-export2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of output params. One of PEM or DER.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>will contain a certificate request PEM or DER encoded</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-export2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +<p>Since 3.1.3</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-crq"></a><h3>gnutls_x509_crt_set_crq ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_crq (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>);</pre> +<p>This function will set the name and public parameters as well as +the extensions from the given certificate request to the certificate. +Only RSA keys are currently supported.</p> +<p>Note that this function will only set the <em class="parameter"><code>crq</code></em> + if it is self +signed and the signature is correct. See <a class="link" href="gnutls-x509.html#gnutls-x509-crq-sign2" title="gnutls_x509_crq_sign2 ()"><code class="function">gnutls_x509_crq_sign2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crq.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>holds a certificate request</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crq.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-crq-extensions"></a><h3>gnutls_x509_crt_set_crq_extensions ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_crq_extensions (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>);</pre> +<p>This function will set the extensions from the given request to the +certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crq-extensions.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>holds a certificate request</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crq-extensions.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-set-crq-extension-by-oid"></a><h3>gnutls_x509_crt_set_crq_extension_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_set_crq_extension_by_oid + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function will set the extension specify by <em class="parameter"><code>oid</code></em> + from the given request to the +certificate.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crq-extension-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>holds a certificate request</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>the object identifier of the OID to copy</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-set-crq-extension-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-private-key-usage-period"></a><h3>gnutls_x509_crq_set_private_key_usage_period ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_private_key_usage_period + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">time_t</span> activation</code></em>, + <em class="parameter"><code><span class="type">time_t</span> expiration</code></em>);</pre> +<p>This function will set the private key usage period extension (2.5.29.16).</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-private-key-usage-period.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>activation</p></td> +<td class="parameter_description"><p>The activation time</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>expiration</p></td> +<td class="parameter_description"><p>The expiration time</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-private-key-usage-period.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-key-rsa-raw"></a><h3>gnutls_x509_crq_set_key_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_key_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>);</pre> +<p>This function will set the public parameters from the given private +key to the request. Only RSA keys are currently supported.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-key-rsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>holds the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>holds the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-key-rsa-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-subject-alt-name"></a><h3>gnutls_x509_crq_set_subject_alt_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_subject_alt_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> nt</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set the subject alternative name certificate +extension. It can set the following types:</p> +<p><a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"><code class="literal">GNUTLS_SAN_DNSNAME</code></a>: as a text string</p> +<p><a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"><code class="literal">GNUTLS_SAN_RFC822NAME</code></a>: as a text string</p> +<p><a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-URI:CAPS"><code class="literal">GNUTLS_SAN_URI</code></a>: as a text string</p> +<p><a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-IPADDRESS:CAPS"><code class="literal">GNUTLS_SAN_IPADDRESS</code></a>: as a binary IP address (4 or 16 bytes)</p> +<p><a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a>: as a UTF8 string</p> +<p>Since version 3.5.7 the <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"><code class="literal">GNUTLS_SAN_RFC822NAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"><code class="literal">GNUTLS_SAN_DNSNAME</code></a>, and +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a> are converted to ACE format when necessary.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-subject-alt-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate request of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nt</p></td> +<td class="parameter_description"><p>is one of the <a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> enumerations</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>The size of data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p><a class="link" href="gnutls-x509.html#GNUTLS-FSAN-SET:CAPS" title="GNUTLS_FSAN_SET"><code class="literal">GNUTLS_FSAN_SET</code></a> to clear previous data or +<a class="link" href="gnutls-x509.html#GNUTLS-FSAN-APPEND:CAPS" title="GNUTLS_FSAN_APPEND"><code class="literal">GNUTLS_FSAN_APPEND</code></a> to append.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-subject-alt-name.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-subject-alt-othername"></a><h3>gnutls_x509_crq_set_subject_alt_othername ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_subject_alt_othername + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> data_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set the subject alternative name certificate +extension. It can set the following types:</p> +<p>The values set must be binary values and must be properly DER encoded.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-subject-alt-othername.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate request of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>is the othername OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data_size</p></td> +<td class="parameter_description"><p>The size of data to be set</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p><a class="link" href="gnutls-x509.html#GNUTLS-FSAN-SET:CAPS" title="GNUTLS_FSAN_SET"><code class="literal">GNUTLS_FSAN_SET</code></a> to clear previous data or +<a class="link" href="gnutls-x509.html#GNUTLS-FSAN-APPEND:CAPS" title="GNUTLS_FSAN_APPEND"><code class="literal">GNUTLS_FSAN_APPEND</code></a> to append.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-subject-alt-othername.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-key-usage"></a><h3>gnutls_x509_crq_set_key_usage ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_key_usage (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> usage</code></em>);</pre> +<p>This function will set the keyUsage certificate extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-key-usage.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate request of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>usage</p></td> +<td class="parameter_description"><p>an ORed sequence of the GNUTLS_KEY_* elements.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-key-usage.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-basic-constraints"></a><h3>gnutls_x509_crq_set_basic_constraints ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_basic_constraints (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> ca</code></em>, + <em class="parameter"><code><span class="type">int</span> pathLenConstraint</code></em>);</pre> +<p>This function will set the basicConstraints certificate extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-basic-constraints.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate request of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca</p></td> +<td class="parameter_description"><p>true(1) or false(0) depending on the Certificate authority status.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pathLenConstraint</p></td> +<td class="parameter_description"><p>non-negative error codes indicate maximum length of path, +and negative error codes indicate that the pathLenConstraints field should +not be present.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-basic-constraints.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-key-purpose-oid"></a><h3>gnutls_x509_crq_set_key_purpose_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_key_purpose_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *oid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> critical</code></em>);</pre> +<p>This function will set the key purpose OIDs of the Certificate. +These are stored in the Extended Key Usage extension (2.5.29.37) +See the GNUTLS_KP_* definitions for human readable names.</p> +<p>Subsequent calls to this function will append OIDs to the OID list.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-key-purpose-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a null-terminated string that holds the OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>Whether this extension will be critical or not</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-key-purpose-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-key-purpose-oid"></a><h3>gnutls_x509_crq_get_key_purpose_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_key_purpose_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_oid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will extract the key purpose OIDs of the Certificate +specified by the given index. These are stored in the Extended Key +Usage extension (2.5.29.37). See the GNUTLS_KP_* definitions for +human readable names.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-key-purpose-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>This specifies which OID to return, use (0) to get the first one</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to store the OID (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_oid</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>output variable with critical flag, may be <code class="literal">NULL</code>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-key-purpose-oid.returns"></a><h4>Returns</h4> +<p> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the provided buffer is +not long enough, and in that case the *<em class="parameter"><code>sizeof_oid</code></em> +will be +updated with the required size. On success 0 is returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-extension-data"></a><h3>gnutls_x509_crq_get_extension_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_extension_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_data</code></em>);</pre> +<p>This function will return the requested extension data in the +certificate. The extension data will be stored as a string in the +provided buffer.</p> +<p>Use <a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-info" title="gnutls_x509_crq_get_extension_info ()"><code class="function">gnutls_x509_crq_get_extension_info()</code></a> to extract the OID and +critical flag. Use <a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-by-oid" title="gnutls_x509_crq_get_extension_by_oid ()"><code class="function">gnutls_x509_crq_get_extension_by_oid()</code></a> instead, +if you want to get data indexed by the extension OID rather than +sequence.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension number to get. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the data (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_data</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error. If your have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-extension-data2"></a><h3>gnutls_x509_crq_get_extension_data2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_extension_data2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *data</code></em>);</pre> +<p>This function will return the requested extension data in the +certificate request. The extension data will be allocated using +<code class="function">gnutls_malloc()</code>.</p> +<p>Use <a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-info" title="gnutls_x509_crq_get_extension_info ()"><code class="function">gnutls_x509_crq_get_extension_info()</code></a> to extract the OID.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-data2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extension_id</p></td> +<td class="parameter_description"><p>An X.509 extension OID.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension OID to read. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>will contain the extension DER-encoded data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-data2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned. If you have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +<p class="since">Since: 3.3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-extension-info"></a><h3>gnutls_x509_crq_get_extension_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_extension_info (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_oid</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the requested extension OID in the +certificate, and the critical flag for it. The extension OID will +be stored as a string in the provided buffer. Use +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-extension-data" title="gnutls_x509_crq_get_extension_data ()"><code class="function">gnutls_x509_crq_get_extension_data()</code></a> to extract the data.</p> +<p>If the buffer provided is not long enough to hold the output, then +*<em class="parameter"><code>sizeof_oid</code></em> + is updated and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will be +returned.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which extension number to get. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to store the OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_oid</p></td> +<td class="parameter_description"><p>initially holds the maximum size of <em class="parameter"><code>oid</code></em> +, on return +holds actual size of <em class="parameter"><code>oid</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>output variable with critical flag, may be NULL.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-info.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error. If your have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-attribute-data"></a><h3>gnutls_x509_crq_get_attribute_data ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_attribute_data (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_data</code></em>);</pre> +<p>This function will return the requested attribute data in the +certificate request. The attribute data will be stored as a string in the +provided buffer.</p> +<p>Use <a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-attribute-info" title="gnutls_x509_crq_get_attribute_info ()"><code class="function">gnutls_x509_crq_get_attribute_info()</code></a> to extract the OID. +Use <a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-attribute-by-oid" title="gnutls_x509_crq_get_attribute_by_oid ()"><code class="function">gnutls_x509_crq_get_attribute_by_oid()</code></a> instead, +if you want to get data indexed by the attribute OID rather than +sequence.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-attribute-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which attribute number to get. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the data (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_data</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-attribute-data.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error. If your have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-attribute-info"></a><h3>gnutls_x509_crq_get_attribute_info ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_attribute_info (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_oid</code></em>);</pre> +<p>This function will return the requested attribute OID in the +certificate, and the critical flag for it. The attribute OID will +be stored as a string in the provided buffer. Use +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-attribute-data" title="gnutls_x509_crq_get_attribute_data ()"><code class="function">gnutls_x509_crq_get_attribute_data()</code></a> to extract the data.</p> +<p>If the buffer provided is not long enough to hold the output, then +*<em class="parameter"><code>sizeof_oid</code></em> + is updated and <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will be +returned.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-attribute-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>Specifies which attribute number to get. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the OID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sizeof_oid</p></td> +<td class="parameter_description"><p>initially holds the maximum size of <em class="parameter"><code>oid</code></em> +, on return +holds actual size of <em class="parameter"><code>oid</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-attribute-info.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error. If your have reached the +last extension available <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +will be returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-pk-algorithm"></a><h3>gnutls_x509_crq_get_pk_algorithm ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_pk_algorithm (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre> +<p>This function will return the public key algorithm of a PKCS<span class="type">10</span> +certificate request.</p> +<p>If bits is non-<code class="literal">NULL</code>, it should have enough size to hold the +parameters size in bits. For RSA the bits returned is the modulus. +For DSA the bits returned are of the public exponent.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-pk-algorithm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bits</p></td> +<td class="parameter_description"><p>if bits is non-<code class="literal">NULL</code> it will hold the size of the parameters' in bits</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-pk-algorithm.returns"></a><h4>Returns</h4> +<p> a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on +success, or a negative error code on error.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-spki"></a><h3>gnutls_x509_crq_get_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-spki"></a><h3>gnutls_x509_crq_set_spki ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_spki (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a> spki</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will set the certificate request's subject public key +information explicitly. This is intended to be used in the cases +where a single public key (e.g., RSA) can be used for multiple +signature algorithms (RSA PKCS1-1.5, and RSA-PSS).</p> +<p>To export the public key (i.e., the SubjectPublicKeyInfo part), check +<a class="link" href="gnutls-abstract.html#gnutls-pubkey-import-x509" title="gnutls_pubkey_import_x509 ()"><code class="function">gnutls_pubkey_import_x509()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-spki.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate request of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>a SubjectPublicKeyInfo structure of type <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><span class="type">gnutls_x509_spki_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-spki.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.6.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-signature-oid"></a><h3>gnutls_x509_crq_get_signature_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_signature_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>);</pre> +<p>This function will return the OID of the signature algorithm +that has been used to sign this certificate request. This function +is useful in the case <a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-signature-algorithm" title="gnutls_x509_crq_get_signature_algorithm ()"><code class="function">gnutls_x509_crq_get_signature_algorithm()</code></a> +returned <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-UNKNOWN:CAPS"><code class="literal">GNUTLS_SIGN_UNKNOWN</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-signature-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a buffer to hold the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-signature-oid.returns"></a><h4>Returns</h4> +<p> zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-pk-oid"></a><h3>gnutls_x509_crq_get_pk_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_pk_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *oid_size</code></em>);</pre> +<p>This function will return the OID of the public key algorithm +on that certificate request. This function +is useful in the case <a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-pk-algorithm" title="gnutls_x509_crq_get_pk_algorithm ()"><code class="function">gnutls_x509_crq_get_pk_algorithm()</code></a> +returned <a class="link" href="gnutls-gnutls.html#GNUTLS-PK-UNKNOWN:CAPS"><code class="literal">GNUTLS_PK_UNKNOWN</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-pk-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>a pointer to a buffer to hold the OID (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>oid</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-pk-oid.returns"></a><h4>Returns</h4> +<p> zero or a negative error code on error.</p> +</div> +<p class="since">Since: 3.5.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-key-id"></a><h3>gnutls_x509_crq_get_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_key_id (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *output_data</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre> +<p>This function will return a unique ID that depends on the public key +parameters. This ID can be used in checking whether a certificate +corresponds to the given private key.</p> +<p>If the buffer provided is not long enough to hold the output, then +*<em class="parameter"><code>output_data_size</code></em> + is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will +be returned. The output will normally be a SHA-1 hash output, +which is 20 bytes.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>a certificate of type <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be one of the flags from <a class="link" href="gnutls-x509.html#gnutls-keyid-flags-t" title="enum gnutls_keyid_flags_t"><code class="literal">gnutls_keyid_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data</p></td> +<td class="parameter_description"><p>will contain the key ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output_data_size</p></td> +<td class="parameter_description"><p>holds the size of output_data (and will be +replaced by the actual size of parameters)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-key-id.returns"></a><h4>Returns</h4> +<p> In case of failure a negative error code will be +returned, and 0 on success.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-key-rsa-raw"></a><h3>gnutls_x509_crq_get_key_rsa_raw ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_key_rsa_raw (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *m</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *e</code></em>);</pre> +<p>This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +<code class="function">gnutls_malloc()</code> and will be stored in the appropriate datum.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-key-rsa-raw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>Holds the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>m</p></td> +<td class="parameter_description"><p>will hold the modulus</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>e</p></td> +<td class="parameter_description"><p>will hold the public exponent</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-key-rsa-raw.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-key-usage"></a><h3>gnutls_x509_crq_get_key_usage ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_key_usage (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *key_usage</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return certificate's key usage, by reading the +keyUsage X.509 extension (2.5.29.15). The key usage value will +ORed values of the: <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS" title="GNUTLS_KEY_DIGITAL_SIGNATURE"><code class="literal">GNUTLS_KEY_DIGITAL_SIGNATURE</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-NON-REPUDIATION:CAPS" title="GNUTLS_KEY_NON_REPUDIATION"><code class="literal">GNUTLS_KEY_NON_REPUDIATION</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_KEY_ENCIPHERMENT"><code class="literal">GNUTLS_KEY_KEY_ENCIPHERMENT</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DATA-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_DATA_ENCIPHERMENT"><code class="literal">GNUTLS_KEY_DATA_ENCIPHERMENT</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-AGREEMENT:CAPS" title="GNUTLS_KEY_KEY_AGREEMENT"><code class="literal">GNUTLS_KEY_KEY_AGREEMENT</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-CERT-SIGN:CAPS" title="GNUTLS_KEY_KEY_CERT_SIGN"><code class="literal">GNUTLS_KEY_KEY_CERT_SIGN</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-CRL-SIGN:CAPS" title="GNUTLS_KEY_CRL_SIGN"><code class="literal">GNUTLS_KEY_CRL_SIGN</code></a>, +<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-ENCIPHER-ONLY:CAPS" title="GNUTLS_KEY_ENCIPHER_ONLY"><code class="literal">GNUTLS_KEY_ENCIPHER_ONLY</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DECIPHER-ONLY:CAPS" title="GNUTLS_KEY_DECIPHER_ONLY"><code class="literal">GNUTLS_KEY_DECIPHER_ONLY</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-key-usage.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key_usage</p></td> +<td class="parameter_description"><p>where the key usage bits will be stored</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-key-usage.returns"></a><h4>Returns</h4> +<p> the certificate key usage, or a negative error code in case of +parsing error. If the certificate does not contain the keyUsage +extension <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be +returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-basic-constraints"></a><h3>gnutls_x509_crq_get_basic_constraints ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_basic_constraints (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *ca</code></em>, + <em class="parameter"><code><span class="type">int</span> *pathlen</code></em>);</pre> +<p>This function will read the certificate's basic constraints, and +return the certificates CA status. It reads the basicConstraints +X.509 extension (2.5.29.19).</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-basic-constraints.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca</p></td> +<td class="parameter_description"><p>pointer to output integer indicating CA status, may be NULL, +value is 1 if the certificate CA flag is set, 0 otherwise.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pathlen</p></td> +<td class="parameter_description"><p>pointer to output integer indicating path length (may be +NULL), non-negative error codes indicate a present pathLenConstraint +field and the actual value, -1 indicate that the field is absent.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-basic-constraints.returns"></a><h4>Returns</h4> +<p> If the certificate is a CA a positive value will be +returned, or (0) if the certificate does not have CA flag set. +A negative error code may be returned in case of errors. If the +certificate does not contain the basicConstraints extension +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-subject-alt-name"></a><h3>gnutls_x509_crq_get_subject_alt_name ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_subject_alt_name (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *ret</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ret_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *ret_type</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the alternative names, contained in the +given certificate. It is the same as +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-subject-alt-name" title="gnutls_x509_crq_get_subject_alt_name ()"><code class="function">gnutls_x509_crq_get_subject_alt_name()</code></a> except for the fact that it +will return the type of the alternative name in <em class="parameter"><code>ret_type</code></em> + even if +the function fails for some reason (i.e. the buffer provided is +not enough).</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-subject-alt-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name, 0 for the +first one, 1 for the second etc.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret</p></td> +<td class="parameter_description"><p>is the place where the alternative name will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret_size</p></td> +<td class="parameter_description"><p>holds the size of ret.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret_type</p></td> +<td class="parameter_description"><p>holds the <a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a> name type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical +(may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-subject-alt-name.returns"></a><h4>Returns</h4> +<p> the alternative subject name type on success, one of the +enumerated <a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t"><span class="type">gnutls_x509_subject_alt_name_t</span></a>. It will return +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if <em class="parameter"><code>ret_size</code></em> +is not large enough to +hold the value. In that case <em class="parameter"><code>ret_size</code></em> +will be updated with the +required size. If the certificate request does not have an +Alternative name with the specified sequence number then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-subject-alt-othername-oid"></a><h3>gnutls_x509_crq_get_subject_alt_othername_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_subject_alt_othername_oid + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> seq</code></em>, + <em class="parameter"><code><span class="type">void</span> *ret</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *ret_size</code></em>);</pre> +<p>This function will extract the type OID of an otherName Subject +Alternative Name, contained in the given certificate, and return +the type as an enumerated element.</p> +<p>This function is only useful if +<a class="link" href="gnutls-x509.html#gnutls-x509-crq-get-subject-alt-name" title="gnutls_x509_crq_get_subject_alt_name ()"><code class="function">gnutls_x509_crq_get_subject_alt_name()</code></a> returned +<a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-subject-alt-othername-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>seq</p></td> +<td class="parameter_description"><p>specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret</p></td> +<td class="parameter_description"><p>is the place where the otherName OID will be copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ret_size</p></td> +<td class="parameter_description"><p>holds the size of ret.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-subject-alt-othername-oid.returns"></a><h4>Returns</h4> +<p> the alternative subject name type on success, one of the +enumerated gnutls_x509_subject_alt_name_t. For supported OIDs, +it will return one of the virtual (GNUTLS_SAN_OTHERNAME_*) types, +e.g. <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME_XMPP</code></a>, and <a class="link" href="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME:CAPS"><code class="literal">GNUTLS_SAN_OTHERNAME</code></a> for +unknown OIDs. It will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if +<em class="parameter"><code>ret_size</code></em> +is not large enough to hold the value. In that case +<em class="parameter"><code>ret_size</code></em> +will be updated with the required size. If the +certificate does not have an Alternative name with the specified +sequence number and with the otherName type then +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-extension-by-oid"></a><h3>gnutls_x509_crq_get_extension_by_oid ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_extension_by_oid (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><span class="type">void</span> *buf</code></em>, + <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the extension specified by the OID in +the certificate. The extensions will be returned as binary data +DER encoded, in the provided buffer.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-by-oid.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identifier in a null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the extensions, this +specifies which to get. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf</p></td> +<td class="parameter_description"><p>a pointer to a structure to hold the name (may be null)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>buf_size</p></td> +<td class="parameter_description"><p>initially holds the size of <em class="parameter"><code>buf</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-extension-by-oid.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error code in case of an error. If the certificate does not +contain the specified extension +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be returned.</p> +</div> +<p class="since">Since: 2.8.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-get-tlsfeatures"></a><h3>gnutls_x509_crq_get_tlsfeatures ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_get_tlsfeatures (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t"><span class="type">gnutls_x509_tlsfeatures_t</span></a> features</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will get the X.509 TLS features +extension structure from the certificate request. +The returned structure needs to be freed using +<a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-deinit" title="gnutls_x509_tlsfeatures_deinit ()"><code class="function">gnutls_x509_tlsfeatures_deinit()</code></a>.</p> +<p>When the <em class="parameter"><code>flags</code></em> + is set to <a class="link" href="gnutls-x509.html#GNUTLS-EXT-FLAG-APPEND:CAPS" title="GNUTLS_EXT_FLAG_APPEND"><code class="literal">GNUTLS_EXT_FLAG_APPEND</code></a>, +then if the <em class="parameter"><code>features</code></em> + structure is empty this function will behave +identically as if the flag was not set. Otherwise if there are elements +in the <em class="parameter"><code>features</code></em> + structure then they will be merged with.</p> +<p>Note that <em class="parameter"><code>features</code></em> + must be initialized prior to calling this function.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-tlsfeatures.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>An X.509 certificate request</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>features</p></td> +<td class="parameter_description"><p>If the function succeeds, the +features will be stored in this variable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>zero or <a class="link" href="gnutls-x509.html#GNUTLS-EXT-FLAG-APPEND:CAPS" title="GNUTLS_EXT_FLAG_APPEND"><code class="literal">GNUTLS_EXT_FLAG_APPEND</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>the extension status</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-get-tlsfeatures.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.5.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crq-set-tlsfeatures"></a><h3>gnutls_x509_crq_set_tlsfeatures ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crq_set_tlsfeatures (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crq-t" title="gnutls_x509_crq_t"><span class="type">gnutls_x509_crq_t</span></a> crq</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-tlsfeatures-t" title="gnutls_x509_tlsfeatures_t"><span class="type">gnutls_x509_tlsfeatures_t</span></a> features</code></em>);</pre> +<p>This function will set the certificate request's +X.509 TLS extension from the given structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-tlsfeatures.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>crq</p></td> +<td class="parameter_description"><p>An X.509 certificate request</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>features</p></td> +<td class="parameter_description"><p>If the function succeeds, the +features will be added to the certificate +request.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crq-set-tlsfeatures.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error value.</p> +</div> +<p class="since">Since: 3.5.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-get-extension-by-oid2"></a><h3>gnutls_x509_crt_get_extension_by_oid2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_crt_get_extension_by_oid2 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *oid</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> indx</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *output</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *critical</code></em>);</pre> +<p>This function will return the extension specified by the OID in the +certificate. The extensions will be returned as binary data DER +encoded, in the provided buffer.</p> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-by-oid2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>oid</p></td> +<td class="parameter_description"><p>holds an Object Identified in null terminated string</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>indx</p></td> +<td class="parameter_description"><p>In case multiple same OIDs exist in the extensions, this specifies which to send. Use (0) to get the first one.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>output</p></td> +<td class="parameter_description"><p>will hold the allocated extension data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>critical</p></td> +<td class="parameter_description"><p>will be non-zero if the extension is marked as critical</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-crt-get-extension-by-oid2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, +otherwise a negative error code is returned. If the certificate does not +contain the specified extension +GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.</p> +</div> +<p class="since">Since: 3.3.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-init"></a><h3>gnutls_x509_trust_list_init ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_init (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> *list</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre> +<p>This function will initialize an X.509 trust list structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>A pointer to the type to be initialized</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>size</p></td> +<td class="parameter_description"><p>The size of the internal hash table. Use (0) for default size.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-init.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-deinit"></a><h3>gnutls_x509_trust_list_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_trust_list_deinit (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> all</code></em>);</pre> +<p>This function will deinitialize a trust list. Note that the +<em class="parameter"><code>all</code></em> + flag should be typically non-zero unless you have specified +your certificates using <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-cas" title="gnutls_x509_trust_list_add_cas ()"><code class="function">gnutls_x509_trust_list_add_cas()</code></a> and you +want to prevent them from being deinitialized by this function.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>all</p></td> +<td class="parameter_description"><p>if non-zero it will deinitialize all the certificates and CRLs contained in the structure.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.0.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-get-issuer"></a><h3>gnutls_x509_trust_list_get_issuer ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_get_issuer (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *issuer</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will find the issuer of the given certificate. +If the flag <a class="link" href="gnutls-x509.html#GNUTLS-TL-GET-COPY:CAPS"><code class="literal">GNUTLS_TL_GET_COPY</code></a> is specified a copy of the issuer +will be returned which must be freed using <a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()"><code class="function">gnutls_x509_crt_deinit()</code></a>. +In that case the provided <em class="parameter"><code>issuer</code></em> + must not be initialized.</p> +<p>Note that the flag <a class="link" href="gnutls-x509.html#GNUTLS-TL-GET-COPY:CAPS"><code class="literal">GNUTLS_TL_GET_COPY</code></a> is required for this function +to work with PKCS<span class="type">11</span> trust lists in a thread-safe way.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-get-issuer.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>is the certificate to find issuer for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>Will hold the issuer if any. Should be treated as constant +unless <a class="link" href="gnutls-x509.html#GNUTLS-TL-GET-COPY:CAPS"><code class="literal">GNUTLS_TL_GET_COPY</code></a> is set in <em class="parameter"><code>flags</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-x509.html#gnutls-trust-list-flags-t" title="enum gnutls_trust_list_flags_t"><code class="literal">gnutls_trust_list_flags_t</code></a> (<a class="link" href="gnutls-x509.html#GNUTLS-TL-GET-COPY:CAPS"><code class="literal">GNUTLS_TL_GET_COPY</code></a> is applicable)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-get-issuer.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-get-issuer-by-dn"></a><h3>gnutls_x509_trust_list_get_issuer_by_dn ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_get_issuer_by_dn + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *issuer</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will find the issuer with the given name, and +return a copy of the issuer, which must be freed using <a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()"><code class="function">gnutls_x509_crt_deinit()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-get-issuer-by-dn.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>is the issuer's DN</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>Will hold the issuer if any. Should be deallocated after use.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Use zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-get-issuer-by-dn.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-get-issuer-by-subject-key-id"></a><h3>gnutls_x509_trust_list_get_issuer_by_subject_key_id ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_get_issuer_by_subject_key_id + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *dn</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *spki</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *issuer</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will find the issuer with the given name and subject key ID, and +return a copy of the issuer, which must be freed using <a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()"><code class="function">gnutls_x509_crt_deinit()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-get-issuer-by-subject-key-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dn</p></td> +<td class="parameter_description"><p>is the issuer's DN (may be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>spki</p></td> +<td class="parameter_description"><p>is the subject key ID</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>issuer</p></td> +<td class="parameter_description"><p>Will hold the issuer if any. Should be deallocated after use.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Use zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-get-issuer-by-subject-key-id.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-add-cas"></a><h3>gnutls_x509_trust_list_add_cas ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_add_cas (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *clist</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> clist_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will add the given certificate authorities +to the trusted list. The CAs in <em class="parameter"><code>clist</code></em> + must not be deinitialized +during the lifetime of <em class="parameter"><code>list</code></em> +.</p> +<p>If the flag <a class="link" href="gnutls-x509.html#GNUTLS-TL-NO-DUPLICATES:CAPS"><code class="literal">GNUTLS_TL_NO_DUPLICATES</code></a> is specified, then +this function will ensure that no duplicates will be +present in the final trust list.</p> +<p>If the flag <a class="link" href="gnutls-x509.html#GNUTLS-TL-NO-DUPLICATE-KEY:CAPS"><code class="literal">GNUTLS_TL_NO_DUPLICATE_KEY</code></a> is specified, then +this function will ensure that no certificates with the +same key are present in the final trust list.</p> +<p>If either <a class="link" href="gnutls-x509.html#GNUTLS-TL-NO-DUPLICATE-KEY:CAPS"><code class="literal">GNUTLS_TL_NO_DUPLICATE_KEY</code></a> or <a class="link" href="gnutls-x509.html#GNUTLS-TL-NO-DUPLICATES:CAPS"><code class="literal">GNUTLS_TL_NO_DUPLICATES</code></a> +are given, <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-deinit" title="gnutls_x509_trust_list_deinit ()"><code class="function">gnutls_x509_trust_list_deinit()</code></a> must be called with parameter +<em class="parameter"><code>all</code></em> + being 1.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-cas.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>clist</p></td> +<td class="parameter_description"><p>A list of CAs</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>clist_size</p></td> +<td class="parameter_description"><p>The length of the CA list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-x509.html#gnutls-trust-list-flags-t" title="enum gnutls_trust_list_flags_t"><code class="literal">gnutls_trust_list_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-cas.returns"></a><h4>Returns</h4> +<p> The number of added elements is returned; that includes +duplicate entries.</p> +</div> +<p class="since">Since: 3.0.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-remove-cas"></a><h3>gnutls_x509_trust_list_remove_cas ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_remove_cas (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *clist</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> clist_size</code></em>);</pre> +<p>This function will remove the given certificate authorities +from the trusted list.</p> +<p>Note that this function can accept certificates and authorities +not yet known. In that case they will be kept in a separate +black list that will be used during certificate verification. +Unlike <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-cas" title="gnutls_x509_trust_list_add_cas ()"><code class="function">gnutls_x509_trust_list_add_cas()</code></a> there is no deinitialization +restriction for certificate list provided in this function.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-remove-cas.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>clist</p></td> +<td class="parameter_description"><p>A list of CAs</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>clist_size</p></td> +<td class="parameter_description"><p>The length of the CA list</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-remove-cas.returns"></a><h4>Returns</h4> +<p> The number of removed elements is returned.</p> +</div> +<p class="since">Since: 3.1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-add-named-crt"></a><h3>gnutls_x509_trust_list_add_named_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_add_named_crt (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *name</code></em>, + <em class="parameter"><code><span class="type">size_t</span> name_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre> +<p>This function will add the given certificate to the trusted +list and associate it with a name. The certificate will not be +be used for verification with <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt" title="gnutls_x509_trust_list_verify_crt ()"><code class="function">gnutls_x509_trust_list_verify_crt()</code></a> +but with <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-named-crt" title="gnutls_x509_trust_list_verify_named_crt ()"><code class="function">gnutls_x509_trust_list_verify_named_crt()</code></a> or +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt2" title="gnutls_x509_trust_list_verify_crt2 ()"><code class="function">gnutls_x509_trust_list_verify_crt2()</code></a> - the latter only since +GnuTLS 3.4.0 and if a hostname is provided.</p> +<p>In principle this function can be used to set individual "server" +certificates that are trusted by the user for that specific server +but for no other purposes.</p> +<p>The certificate <em class="parameter"><code>cert</code></em> + must not be deinitialized during the lifetime +of the <em class="parameter"><code>list</code></em> +.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-named-crt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>A certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>An identifier for the certificate</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name_size</p></td> +<td class="parameter_description"><p>The size of the identifier</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>should be 0.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-named-crt.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-add-crls"></a><h3>gnutls_x509_trust_list_add_crls ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_add_crls (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> *crl_list</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> crl_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> verification_flags</code></em>);</pre> +<p>This function will add the given certificate revocation lists +to the trusted list. The CRLs in <em class="parameter"><code>crl_list</code></em> + must not be deinitialized +during the lifetime of <em class="parameter"><code>list</code></em> +.</p> +<p>This function must be called after <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-cas" title="gnutls_x509_trust_list_add_cas ()"><code class="function">gnutls_x509_trust_list_add_cas()</code></a> +to allow verifying the CRLs for validity. If the flag <a class="link" href="gnutls-x509.html#GNUTLS-TL-NO-DUPLICATES:CAPS"><code class="literal">GNUTLS_TL_NO_DUPLICATES</code></a> +is given, then the final CRL list will not contain duplicate entries.</p> +<p>If the flag <a class="link" href="gnutls-x509.html#GNUTLS-TL-NO-DUPLICATES:CAPS"><code class="literal">GNUTLS_TL_NO_DUPLICATES</code></a> is given, <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-deinit" title="gnutls_x509_trust_list_deinit ()"><code class="function">gnutls_x509_trust_list_deinit()</code></a> must be +called with parameter <em class="parameter"><code>all</code></em> + being 1.</p> +<p>If flag <a class="link" href="gnutls-x509.html#GNUTLS-TL-VERIFY-CRL:CAPS"><code class="literal">GNUTLS_TL_VERIFY_CRL</code></a> is given the CRLs will be verified before being added, +and if verification fails, they will be skipped.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-crls.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl_list</p></td> +<td class="parameter_description"><p>A list of CRLs</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl_size</p></td> +<td class="parameter_description"><p>The length of the CRL list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-x509.html#gnutls-trust-list-flags-t" title="enum gnutls_trust_list_flags_t"><code class="literal">gnutls_trust_list_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>verification_flags</p></td> +<td class="parameter_description"><p>gnutls_certificate_verify_flags if flags specifies GNUTLS_TL_VERIFY_CRL</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-crls.returns"></a><h4>Returns</h4> +<p> The number of added elements is returned; that includes +duplicate entries.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-iter-get-ca"></a><h3>gnutls_x509_trust_list_iter_get_ca ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_iter_get_ca (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-iter-t" title="gnutls_x509_trust_list_iter_t"><span class="type">gnutls_x509_trust_list_iter_t</span></a> *iter</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *crt</code></em>);</pre> +<p>This function obtains a certificate in the trust list and advances the +iterator to the next certificate. The certificate returned in <em class="parameter"><code>crt</code></em> + must be +deallocated with <a class="link" href="gnutls-x509.html#gnutls-x509-crt-deinit" title="gnutls_x509_crt_deinit ()"><code class="function">gnutls_x509_crt_deinit()</code></a>.</p> +<p>When past the last element is accessed <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> +is returned and the iterator is reset.</p> +<p>The iterator is deinitialized and reset to <code class="literal">NULL</code> automatically by this +function after iterating through all elements until +<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> is returned. If the iteration is +aborted early, it must be manually deinitialized using +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-iter-deinit" title="gnutls_x509_trust_list_iter_deinit ()"><code class="function">gnutls_x509_trust_list_iter_deinit()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-iter-get-ca.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>iter</p></td> +<td class="parameter_description"><p>A pointer to an iterator (initially the iterator should be <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crt</p></td> +<td class="parameter_description"><p>where the certificate will be copied</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-iter-get-ca.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-iter-deinit"></a><h3>gnutls_x509_trust_list_iter_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_trust_list_iter_deinit (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-iter-t" title="gnutls_x509_trust_list_iter_t"><span class="type">gnutls_x509_trust_list_iter_t</span></a> iter</code></em>);</pre> +<p>This function will deinitialize an iterator structure.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-iter-deinit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>iter</p></td> +<td class="parameter_description"><p>The iterator structure to be deinitialized</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-session-set-verify-output-function"></a><h3>gnutls_session_set_verify_output_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_session_set_verify_output_function + (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>, + <em class="parameter"><code><span class="type">gnutls_verify_output_function</span> *func</code></em>);</pre> +<p>This function sets a callback to be called when the peer's certificate +chain has to be verified and full path to the trusted root has to be +printed.</p> +<p>The callback's function prototype is defined in `x509.h': +int (*callback)( +gnutls_x509_crt_t cert, +gnutls_x509_crt_t issuer, +gnutls_x509_crl_t crl, +unsigned int verification_output);</p> +<p>If the callback function is provided then gnutls will call it, in the +certificate verification procedure. +To verify the certificate chain and print its path uptp the trusted root, +functions such as <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers" title="gnutls_certificate_verify_peers ()"><code class="function">gnutls_certificate_verify_peers()</code></a>, +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt" title="gnutls_x509_trust_list_verify_crt ()"><code class="function">gnutls_x509_trust_list_verify_crt()</code></a>, and <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt2" title="gnutls_x509_trust_list_verify_crt2 ()"><code class="function">gnutls_x509_trust_list_verify_crt2()</code></a> +can be used. The callback is set in <code class="function">_gnutls_verify_crt_status()</code> and +<code class="function">_gnutls_pkcs11_verify_crt_status()</code>.</p> +<div class="refsect3"> +<a name="gnutls-session-set-verify-output-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>session</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-verify-named-crt"></a><h3>gnutls_x509_trust_list_verify_named_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_verify_named_crt + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> cert</code></em>, + <em class="parameter"><code>const <span class="type">void</span> *name</code></em>, + <em class="parameter"><code><span class="type">size_t</span> name_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>, + <em class="parameter"><code><span class="type">gnutls_verify_output_function</span> func</code></em>);</pre> +<p>This function will try to find a certificate that is associated with the provided +name --see <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-named-crt" title="gnutls_x509_trust_list_add_named_crt ()"><code class="function">gnutls_x509_trust_list_add_named_crt()</code></a>. If a match is found the +certificate is considered valid. In addition to that this function will also +check CRLs. The <em class="parameter"><code>voutput</code></em> + parameter will hold an OR'ed sequence of +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-status-t" title="enum gnutls_certificate_status_t"><code class="literal">gnutls_certificate_status_t</code></a> flags.</p> +<p>Additionally a certificate verification profile can be specified +from the ones in <a class="link" href="gnutls-x509.html#gnutls-certificate-verification-profiles-t" title="enum gnutls_certificate_verification_profiles_t"><code class="literal">gnutls_certificate_verification_profiles_t</code></a> by +ORing the result of <a class="link" href="gnutls-x509.html#GNUTLS-PROFILE-TO-VFLAGS:CAPS" title="GNUTLS_PROFILE_TO_VFLAGS()"><code class="function">GNUTLS_PROFILE_TO_VFLAGS()</code></a> to the verification +flags.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-verify-named-crt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert</p></td> +<td class="parameter_description"><p>is the certificate to be verified</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name</p></td> +<td class="parameter_description"><p>is the certificate's name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>name_size</p></td> +<td class="parameter_description"><p>is the certificate's name size</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>voutput</p></td> +<td class="parameter_description"><p>will hold the certificate verification output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>If non-null will be called on each chain element verification with the output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-verify-named-crt.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-verify-crt2"></a><h3>gnutls_x509_trust_list_verify_crt2 ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_verify_crt2 (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *cert_list</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> cert_list_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-typed-vdata-st" title="gnutls_typed_vdata_st"><span class="type">gnutls_typed_vdata_st</span></a> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> elements</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *voutput</code></em>, + <em class="parameter"><code><span class="type">gnutls_verify_output_function</span> func</code></em>);</pre> +<p>This function will attempt to verify the given certificate chain and return +its status. The <em class="parameter"><code>voutput</code></em> + parameter will hold an OR'ed sequence of +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-status-t" title="enum gnutls_certificate_status_t"><code class="literal">gnutls_certificate_status_t</code></a> flags.</p> +<p>When a certificate chain of <em class="parameter"><code>cert_list_size</code></em> + with more than one certificates is +provided, the verification status will apply to the first certificate in the chain +that failed verification. The verification process starts from the end of the chain +(from CA to end certificate). The first certificate in the chain must be the end-certificate +while the rest of the members may be sorted or not.</p> +<p>Additionally a certificate verification profile can be specified +from the ones in <a class="link" href="gnutls-x509.html#gnutls-certificate-verification-profiles-t" title="enum gnutls_certificate_verification_profiles_t"><code class="literal">gnutls_certificate_verification_profiles_t</code></a> by +ORing the result of <a class="link" href="gnutls-x509.html#GNUTLS-PROFILE-TO-VFLAGS:CAPS" title="GNUTLS_PROFILE_TO_VFLAGS()"><code class="function">GNUTLS_PROFILE_TO_VFLAGS()</code></a> to the verification +flags.</p> +<p>Additional verification parameters are possible via the <em class="parameter"><code>data</code></em> + types; the +acceptable types are <a class="link" href="gnutls-gnutls.html#GNUTLS-DT-DNS-HOSTNAME:CAPS"><code class="literal">GNUTLS_DT_DNS_HOSTNAME</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-DT-IP-ADDRESS:CAPS"><code class="literal">GNUTLS_DT_IP_ADDRESS</code></a> and <a class="link" href="gnutls-gnutls.html#GNUTLS-DT-KEY-PURPOSE-OID:CAPS"><code class="literal">GNUTLS_DT_KEY_PURPOSE_OID</code></a>. +The former accepts as data a null-terminated hostname, and the latter a null-terminated +object identifier (e.g., <a class="link" href="gnutls-x509.html#GNUTLS-KP-TLS-WWW-SERVER:CAPS" title="GNUTLS_KP_TLS_WWW_SERVER"><code class="literal">GNUTLS_KP_TLS_WWW_SERVER</code></a>). +If a DNS hostname is provided then this function will compare +the hostname in the end certificate against the given. If names do not match the +<a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-UNEXPECTED-OWNER:CAPS"><code class="literal">GNUTLS_CERT_UNEXPECTED_OWNER</code></a> status flag will be set. In addition it +will consider certificates provided with <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-add-named-crt" title="gnutls_x509_trust_list_add_named_crt ()"><code class="function">gnutls_x509_trust_list_add_named_crt()</code></a>.</p> +<p>If a key purpose OID is provided and the end-certificate contains the extended key +usage PKIX extension, it will be required to match the provided OID +or be marked for any purpose, otherwise verification will fail with +<a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-PURPOSE-MISMATCH:CAPS"><code class="literal">GNUTLS_CERT_PURPOSE_MISMATCH</code></a> status.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-verify-crt2.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_list</p></td> +<td class="parameter_description"><p>is the certificate list to be verified</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_list_size</p></td> +<td class="parameter_description"><p>is the certificate list size</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>an array of typed data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>elements</p></td> +<td class="parameter_description"><p>the number of data elements</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>voutput</p></td> +<td class="parameter_description"><p>will hold the certificate verification output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>If non-null will be called on each chain element verification with the output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-verify-crt2.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value. Note that verification failure will not result to an +error code, only <em class="parameter"><code>voutput</code></em> +will be updated.</p> +</div> +<p class="since">Since: 3.3.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-verify-crt"></a><h3>gnutls_x509_trust_list_verify_crt ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_verify_crt (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *cert_list</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> cert_list_size</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>, + <em class="parameter"><code><span class="type">gnutls_verify_output_function</span> func</code></em>);</pre> +<p>This function will try to verify the given certificate and return +its status. The <em class="parameter"><code>voutput</code></em> + parameter will hold an OR'ed sequence of +<a class="link" href="gnutls-gnutls.html#gnutls-certificate-status-t" title="enum gnutls_certificate_status_t"><code class="literal">gnutls_certificate_status_t</code></a> flags.</p> +<p>The details of the verification are the same as in <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-verify-crt2" title="gnutls_x509_trust_list_verify_crt2 ()"><code class="function">gnutls_x509_trust_list_verify_crt2()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-verify-crt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_list</p></td> +<td class="parameter_description"><p>is the certificate list to be verified</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cert_list_size</p></td> +<td class="parameter_description"><p>is the certificate list size</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>voutput</p></td> +<td class="parameter_description"><p>will hold the certificate verification output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>If non-null will be called on each chain element verification with the output.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-verify-crt.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +<p class="since">Since: 3.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-add-trust-mem"></a><h3>gnutls_x509_trust_list_add_trust_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_add_trust_mem (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cas</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *crls</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> tl_flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> tl_vflags</code></em>);</pre> +<p>This function will add the given certificate authorities +to the trusted list. </p> +<p>If this function is used <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-deinit" title="gnutls_x509_trust_list_deinit ()"><code class="function">gnutls_x509_trust_list_deinit()</code></a> must be called +with parameter <em class="parameter"><code>all</code></em> + being 1.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-trust-mem.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cas</p></td> +<td class="parameter_description"><p>A buffer containing a list of CAs (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crls</p></td> +<td class="parameter_description"><p>A buffer containing a list of CRLs (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The format of the certificates</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tl_flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-x509.html#gnutls-trust-list-flags-t" title="enum gnutls_trust_list_flags_t"><code class="literal">gnutls_trust_list_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tl_vflags</p></td> +<td class="parameter_description"><p>gnutls_certificate_verify_flags if flags specifies GNUTLS_TL_VERIFY_CRL</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-trust-mem.returns"></a><h4>Returns</h4> +<p> The number of added elements is returned.</p> +</div> +<p class="since">Since: 3.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-add-trust-file"></a><h3>gnutls_x509_trust_list_add_trust_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_add_trust_file (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *ca_file</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *crl_file</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> tl_flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> tl_vflags</code></em>);</pre> +<p>This function will add the given certificate authorities +to the trusted list. PKCS <span class="type">11</span> URLs are also accepted, instead +of files, by this function. A PKCS <span class="type">11</span> URL implies a trust +database (a specially marked module in p11-kit); the URL "pkcs11:" +implies all trust databases in the system. Only a single URL specifying +trust databases can be set; they cannot be stacked with multiple calls.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-trust-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca_file</p></td> +<td class="parameter_description"><p>A file containing a list of CAs (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl_file</p></td> +<td class="parameter_description"><p>A file containing a list of CRLs (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The format of the certificates</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tl_flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-x509.html#gnutls-trust-list-flags-t" title="enum gnutls_trust_list_flags_t"><code class="literal">gnutls_trust_list_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tl_vflags</p></td> +<td class="parameter_description"><p>gnutls_certificate_verify_flags if flags specifies GNUTLS_TL_VERIFY_CRL</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-trust-file.returns"></a><h4>Returns</h4> +<p> The number of added elements is returned.</p> +</div> +<p class="since">Since: 3.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-add-trust-dir"></a><h3>gnutls_x509_trust_list_add_trust_dir ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_add_trust_dir (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *ca_dir</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *crl_dir</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> tl_flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> tl_vflags</code></em>);</pre> +<p>This function will add the given certificate authorities +to the trusted list. Only directories are accepted by +this function.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-trust-dir.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca_dir</p></td> +<td class="parameter_description"><p>A directory containing the CAs (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>crl_dir</p></td> +<td class="parameter_description"><p>A directory containing a list of CRLs (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The format of the certificates</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tl_flags</p></td> +<td class="parameter_description"><p>flags from <a class="link" href="gnutls-x509.html#gnutls-trust-list-flags-t" title="enum gnutls_trust_list_flags_t"><code class="literal">gnutls_trust_list_flags_t</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tl_vflags</p></td> +<td class="parameter_description"><p>gnutls_certificate_verify_flags if flags specifies GNUTLS_TL_VERIFY_CRL</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-trust-dir.returns"></a><h4>Returns</h4> +<p> The number of added elements is returned.</p> +</div> +<p class="since">Since: 3.3.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-remove-trust-file"></a><h3>gnutls_x509_trust_list_remove_trust_file ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_remove_trust_file + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *ca_file</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre> +<p>This function will remove the given certificate authorities +from the trusted list, and add them into a black list when needed. +PKCS 11 URLs are also accepted, instead +of files, by this function.</p> +<p>See also <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-remove-cas" title="gnutls_x509_trust_list_remove_cas ()"><code class="function">gnutls_x509_trust_list_remove_cas()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-remove-trust-file.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ca_file</p></td> +<td class="parameter_description"><p>A file containing a list of CAs</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The format of the certificates</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-remove-trust-file.returns"></a><h4>Returns</h4> +<p> The number of added elements is returned.</p> +</div> +<p class="since">Since: 3.1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-remove-trust-mem"></a><h3>gnutls_x509_trust_list_remove_trust_mem ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_remove_trust_mem + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>const <a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *cas</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre> +<p>This function will remove the provided certificate authorities +from the trusted list, and add them into a black list when needed. </p> +<p>See also <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-remove-cas" title="gnutls_x509_trust_list_remove_cas ()"><code class="function">gnutls_x509_trust_list_remove_cas()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-remove-trust-mem.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cas</p></td> +<td class="parameter_description"><p>A buffer containing a list of CAs (optional)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>type</p></td> +<td class="parameter_description"><p>The format of the certificates</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-remove-trust-mem.returns"></a><h4>Returns</h4> +<p> The number of removed elements is returned.</p> +</div> +<p class="since">Since: 3.1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-add-system-trust"></a><h3>gnutls_x509_trust_list_add_system_trust ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_trust_list_add_system_trust + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> list</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> tl_flags</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> tl_vflags</code></em>);</pre> +<p>This function adds the system's default trusted certificate +authorities to the trusted list. Note that on unsupported systems +this function returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE"><code class="literal">GNUTLS_E_UNIMPLEMENTED_FEATURE</code></a>.</p> +<p>This function implies the flag <a class="link" href="gnutls-x509.html#GNUTLS-TL-NO-DUPLICATES:CAPS"><code class="literal">GNUTLS_TL_NO_DUPLICATES</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-system-trust.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>list</p></td> +<td class="parameter_description"><p>The structure of the list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tl_flags</p></td> +<td class="parameter_description"><p>GNUTLS_TL_*</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tl_vflags</p></td> +<td class="parameter_description"><p>gnutls_certificate_verify_flags if flags specifies GNUTLS_TL_VERIFY_CRL</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-add-system-trust.returns"></a><h4>Returns</h4> +<p> The number of added elements or a negative error code on error.</p> +</div> +<p class="since">Since: 3.1</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-set-getissuer-function"></a><h3>gnutls_x509_trust_list_set_getissuer_function ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_trust_list_set_getissuer_function + (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> tlist</code></em>, + <em class="parameter"><code><span class="type">gnutls_x509_trust_list_getissuer_function</span> *func</code></em>);</pre> +<p>This function sets a callback to be called when the peer's certificate +chain is incomplete due a missing intermediate certificate. The callback +may provide the missing certificate for use during verification.</p> +<p>The callback's function prototype is defined in gnutls/x509.h as:</p> +<p> int (*callback)(gnutls_x509_trust_list_t list, + const gnutls_x509_crt_t cert, + gnutls_x509_crt_t **issuers, + unsigned int *issuers_size);</p> +<p>If the callback function is provided then gnutls will call it during the +certificate verification procedure. The callback may wish to use +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-authority-info-access" title="gnutls_x509_crt_get_authority_info_access ()"><code class="function">gnutls_x509_crt_get_authority_info_access()</code></a> to get a URI from which +to attempt to download the missing issuer certificate, if available.</p> +<p>On a successful call, the callback shall allocate the 'issuers' array with +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-import2" title="gnutls_x509_crt_list_import2 ()"><code class="function">gnutls_x509_crt_list_import2()</code></a>. The ownership of both the array and the +elements is transferred to the caller and thus the application does not need +to maintain the memory after the call.</p> +<p>The callback function should return 0 if the missing issuer certificate +for 'crt' was properly populated and added to the 'issuers', or non-zero +to continue the certificate list verification but with issuer as <code class="literal">NULL</code>.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-set-getissuer-function.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>tlist</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>is the callback function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-set-ptr"></a><h3>gnutls_x509_trust_list_set_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_trust_list_set_ptr (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> tlist</code></em>, + <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre> +<p>This function will set (associate) the user given pointer <em class="parameter"><code>ptr</code></em> + to +the tlist structure. This pointer can be accessed with +<a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-get-ptr" title="gnutls_x509_trust_list_get_ptr ()"><code class="function">gnutls_x509_trust_list_get_ptr()</code></a>. Useful in the callback function +gnutls_x509_trust_list_set_getissuer_function.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-set-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>tlist</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ptr</p></td> +<td class="parameter_description"><p>is the user pointer</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-get-ptr"></a><h3>gnutls_x509_trust_list_get_ptr ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +gnutls_x509_trust_list_get_ptr (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> tlist</code></em>);</pre> +<p>Get user pointer for tlist. Useful in callback function +gnutls_x509_trust_list_set_getissuer_function. +This is the pointer set with <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-set-ptr" title="gnutls_x509_trust_list_set_ptr ()"><code class="function">gnutls_x509_trust_list_set_ptr()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-get-ptr.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>tlist</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> type.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-trust-list-get-ptr.returns"></a><h4>Returns</h4> +<p> the user given pointer from the tlist structure, or +<code class="literal">NULL</code> if it was never set.</p> +</div> +<p class="since">Since: 3.7.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-set-trust-list"></a><h3>gnutls_certificate_set_trust_list ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_set_trust_list (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> tlist</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre> +<p>This function sets a trust list in the gnutls_certificate_credentials_t type.</p> +<p>Note that the <em class="parameter"><code>tlist</code></em> + will become part of the credentials +structure and must not be deallocated. It will be automatically deallocated +when the <em class="parameter"><code>res</code></em> + structure is deinitialized.</p> +<div class="refsect3"> +<a name="gnutls-certificate-set-trust-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tlist</p></td> +<td class="parameter_description"><p>is a <a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> type</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>must be zero</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.2.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-get-trust-list"></a><h3>gnutls_certificate_get_trust_list ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_certificate_get_trust_list (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-trust-list-t" title="gnutls_x509_trust_list_t"><span class="type">gnutls_x509_trust_list_t</span></a> *tlist</code></em>);</pre> +<p>Obtains the list of trusted certificates stored in <em class="parameter"><code>res</code></em> + and writes a +pointer to it to the location <em class="parameter"><code>tlist</code></em> +. The pointer will point to memory +internal to <em class="parameter"><code>res</code></em> +, and must not be deinitialized. It will be automatically +deallocated when the <em class="parameter"><code>res</code></em> + structure is deinitialized.</p> +<div class="refsect3"> +<a name="gnutls-certificate-get-trust-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>res</p></td> +<td class="parameter_description"><p>is a <span class="type">gnutls_certificate_credentials_t</span> type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tlist</p></td> +<td class="parameter_description"><p>Location where to store the trust list.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 3.4.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-ext-deinit"></a><h3>gnutls_x509_ext_deinit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gnutls_x509_ext_deinit (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-ext-st" title="gnutls_x509_ext_st"><span class="type">gnutls_x509_ext_st</span></a> *ext</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-ext-print"></a><h3>gnutls_x509_ext_print ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +gnutls_x509_ext_print (<em class="parameter"><code><a class="link" href="gnutls-x509.html#gnutls-x509-ext-st" title="gnutls_x509_ext_st"><span class="type">gnutls_x509_ext_st</span></a> *exts</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> exts_size</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t"><span class="type">gnutls_certificate_print_formats_t</span></a> format</code></em>, + <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-datum-t" title="gnutls_datum_t"><span class="type">gnutls_datum_t</span></a> *out</code></em>);</pre> +<p>This function will pretty print X.509 certificate extensions, +suitable for display to a human.</p> +<p>The output <em class="parameter"><code>out</code></em> + needs to be deallocated using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free()"><code class="function">gnutls_free()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-x509-ext-print.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>exts</p></td> +<td class="parameter_description"><p>The data to be printed</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>exts_size</p></td> +<td class="parameter_description"><p>the number of available structures</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>Indicate the format to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>out</p></td> +<td class="parameter_description"><p>Newly allocated datum with null terminated string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gnutls-x509-ext-print.returns"></a><h4>Returns</h4> +<p> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a +negative error value.</p> +</div> +</div> +</div> +<div class="refsect1"> +<a name="gnutls-x509.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-COUNTRY-NAME:CAPS"></a><h3>GNUTLS_OID_X520_COUNTRY_NAME</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_COUNTRY_NAME "2.5.4.6" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-ORGANIZATION-NAME:CAPS"></a><h3>GNUTLS_OID_X520_ORGANIZATION_NAME</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_ORGANIZATION_NAME "2.5.4.10" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-ORGANIZATIONAL-UNIT-NAME:CAPS"></a><h3>GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-COMMON-NAME:CAPS"></a><h3>GNUTLS_OID_X520_COMMON_NAME</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_COMMON_NAME "2.5.4.3" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-LOCALITY-NAME:CAPS"></a><h3>GNUTLS_OID_X520_LOCALITY_NAME</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_LOCALITY_NAME "2.5.4.7" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-STATE-OR-PROVINCE-NAME:CAPS"></a><h3>GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-INITIALS:CAPS"></a><h3>GNUTLS_OID_X520_INITIALS</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_INITIALS "2.5.4.43" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-GENERATION-QUALIFIER:CAPS"></a><h3>GNUTLS_OID_X520_GENERATION_QUALIFIER</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_GENERATION_QUALIFIER "2.5.4.44" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-SURNAME:CAPS"></a><h3>GNUTLS_OID_X520_SURNAME</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_SURNAME "2.5.4.4" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-GIVEN-NAME:CAPS"></a><h3>GNUTLS_OID_X520_GIVEN_NAME</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_GIVEN_NAME "2.5.4.42" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-TITLE:CAPS"></a><h3>GNUTLS_OID_X520_TITLE</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_TITLE "2.5.4.12" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-DN-QUALIFIER:CAPS"></a><h3>GNUTLS_OID_X520_DN_QUALIFIER</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_DN_QUALIFIER "2.5.4.46" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-PSEUDONYM:CAPS"></a><h3>GNUTLS_OID_X520_PSEUDONYM</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_PSEUDONYM "2.5.4.65" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-POSTALCODE:CAPS"></a><h3>GNUTLS_OID_X520_POSTALCODE</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_POSTALCODE "2.5.4.17" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-X520-NAME:CAPS"></a><h3>GNUTLS_OID_X520_NAME</h3> +<pre class="programlisting">#define GNUTLS_OID_X520_NAME "2.5.4.41" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-LDAP-DC:CAPS"></a><h3>GNUTLS_OID_LDAP_DC</h3> +<pre class="programlisting">#define GNUTLS_OID_LDAP_DC "0.9.2342.19200300.100.1.25" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-LDAP-UID:CAPS"></a><h3>GNUTLS_OID_LDAP_UID</h3> +<pre class="programlisting">#define GNUTLS_OID_LDAP_UID "0.9.2342.19200300.100.1.1" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-PKCS9-EMAIL:CAPS"></a><h3>GNUTLS_OID_PKCS9_EMAIL</h3> +<pre class="programlisting">#define GNUTLS_OID_PKCS9_EMAIL "1.2.840.113549.1.9.1" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-PKIX-DATE-OF-BIRTH:CAPS"></a><h3>GNUTLS_OID_PKIX_DATE_OF_BIRTH</h3> +<pre class="programlisting">#define GNUTLS_OID_PKIX_DATE_OF_BIRTH "1.3.6.1.5.5.7.9.1" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-PKIX-PLACE-OF-BIRTH:CAPS"></a><h3>GNUTLS_OID_PKIX_PLACE_OF_BIRTH</h3> +<pre class="programlisting">#define GNUTLS_OID_PKIX_PLACE_OF_BIRTH "1.3.6.1.5.5.7.9.2" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-PKIX-GENDER:CAPS"></a><h3>GNUTLS_OID_PKIX_GENDER</h3> +<pre class="programlisting">#define GNUTLS_OID_PKIX_GENDER "1.3.6.1.5.5.7.9.3" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-PKIX-COUNTRY-OF-CITIZENSHIP:CAPS"></a><h3>GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP</h3> +<pre class="programlisting">#define GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP "1.3.6.1.5.5.7.9.4" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-PKIX-COUNTRY-OF-RESIDENCE:CAPS"></a><h3>GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE</h3> +<pre class="programlisting">#define GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE "1.3.6.1.5.5.7.9.5" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-TLS-WWW-SERVER:CAPS"></a><h3>GNUTLS_KP_TLS_WWW_SERVER</h3> +<pre class="programlisting">#define GNUTLS_KP_TLS_WWW_SERVER "1.3.6.1.5.5.7.3.1" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-TLS-WWW-CLIENT:CAPS"></a><h3>GNUTLS_KP_TLS_WWW_CLIENT</h3> +<pre class="programlisting">#define GNUTLS_KP_TLS_WWW_CLIENT "1.3.6.1.5.5.7.3.2" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-CODE-SIGNING:CAPS"></a><h3>GNUTLS_KP_CODE_SIGNING</h3> +<pre class="programlisting">#define GNUTLS_KP_CODE_SIGNING "1.3.6.1.5.5.7.3.3" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-MS-SMART-CARD-LOGON:CAPS"></a><h3>GNUTLS_KP_MS_SMART_CARD_LOGON</h3> +<pre class="programlisting">#define GNUTLS_KP_MS_SMART_CARD_LOGON "1.3.6.1.4.1.311.20.2.2" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-EMAIL-PROTECTION:CAPS"></a><h3>GNUTLS_KP_EMAIL_PROTECTION</h3> +<pre class="programlisting">#define GNUTLS_KP_EMAIL_PROTECTION "1.3.6.1.5.5.7.3.4" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-TIME-STAMPING:CAPS"></a><h3>GNUTLS_KP_TIME_STAMPING</h3> +<pre class="programlisting">#define GNUTLS_KP_TIME_STAMPING "1.3.6.1.5.5.7.3.8" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-OCSP-SIGNING:CAPS"></a><h3>GNUTLS_KP_OCSP_SIGNING</h3> +<pre class="programlisting">#define GNUTLS_KP_OCSP_SIGNING "1.3.6.1.5.5.7.3.9" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-IPSEC-IKE:CAPS"></a><h3>GNUTLS_KP_IPSEC_IKE</h3> +<pre class="programlisting">#define GNUTLS_KP_IPSEC_IKE "1.3.6.1.5.5.7.3.17" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-ANY:CAPS"></a><h3>GNUTLS_KP_ANY</h3> +<pre class="programlisting">#define GNUTLS_KP_ANY "2.5.29.37.0" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-KP-FLAG-DISALLOW-ANY:CAPS"></a><h3>GNUTLS_KP_FLAG_DISALLOW_ANY</h3> +<pre class="programlisting">#define GNUTLS_KP_FLAG_DISALLOW_ANY 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-AIA:CAPS"></a><h3>GNUTLS_OID_AIA</h3> +<pre class="programlisting">#define GNUTLS_OID_AIA "1.3.6.1.5.5.7.1.1" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-AD-OCSP:CAPS"></a><h3>GNUTLS_OID_AD_OCSP</h3> +<pre class="programlisting">#define GNUTLS_OID_AD_OCSP "1.3.6.1.5.5.7.48.1" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-OID-AD-CAISSUERS:CAPS"></a><h3>GNUTLS_OID_AD_CAISSUERS</h3> +<pre class="programlisting">#define GNUTLS_OID_AD_CAISSUERS "1.3.6.1.5.5.7.48.2" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-FSAN-SET:CAPS"></a><h3>GNUTLS_FSAN_SET</h3> +<pre class="programlisting">#define GNUTLS_FSAN_SET 0 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-FSAN-APPEND:CAPS"></a><h3>GNUTLS_FSAN_APPEND</h3> +<pre class="programlisting">#define GNUTLS_FSAN_APPEND 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-FSAN-ENCODE-OCTET-STRING:CAPS"></a><h3>GNUTLS_FSAN_ENCODE_OCTET_STRING</h3> +<pre class="programlisting">#define GNUTLS_FSAN_ENCODE_OCTET_STRING (1<<1) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-FSAN-ENCODE-UTF8-STRING:CAPS"></a><h3>GNUTLS_FSAN_ENCODE_UTF8_STRING</h3> +<pre class="programlisting">#define GNUTLS_FSAN_ENCODE_UTF8_STRING (1<<2) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-SUBJECT-KEY-ID:CAPS"></a><h3>GNUTLS_X509EXT_OID_SUBJECT_KEY_ID</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_SUBJECT_KEY_ID "2.5.29.14" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-KEY-USAGE:CAPS"></a><h3>GNUTLS_X509EXT_OID_KEY_USAGE</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_KEY_USAGE "2.5.29.15" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-PRIVATE-KEY-USAGE-PERIOD:CAPS"></a><h3>GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD "2.5.29.16" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-SAN:CAPS"></a><h3>GNUTLS_X509EXT_OID_SAN</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_SAN "2.5.29.17" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-IAN:CAPS"></a><h3>GNUTLS_X509EXT_OID_IAN</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_IAN "2.5.29.18" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-BASIC-CONSTRAINTS:CAPS"></a><h3>GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS "2.5.29.19" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-NAME-CONSTRAINTS:CAPS"></a><h3>GNUTLS_X509EXT_OID_NAME_CONSTRAINTS</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_NAME_CONSTRAINTS "2.5.29.30" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-CRL-DIST-POINTS:CAPS"></a><h3>GNUTLS_X509EXT_OID_CRL_DIST_POINTS</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_CRL_DIST_POINTS "2.5.29.31" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-CRT-POLICY:CAPS"></a><h3>GNUTLS_X509EXT_OID_CRT_POLICY</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_CRT_POLICY "2.5.29.32" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-AUTHORITY-KEY-ID:CAPS"></a><h3>GNUTLS_X509EXT_OID_AUTHORITY_KEY_ID</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_AUTHORITY_KEY_ID "2.5.29.35" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-EXTENDED-KEY-USAGE:CAPS"></a><h3>GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE "2.5.29.37" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-INHIBIT-ANYPOLICY:CAPS"></a><h3>GNUTLS_X509EXT_OID_INHIBIT_ANYPOLICY</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_INHIBIT_ANYPOLICY "2.5.29.52" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-AUTHORITY-INFO-ACCESS:CAPS"></a><h3>GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS "1.3.6.1.5.5.7.1.1" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-PROXY-CRT-INFO:CAPS"></a><h3>GNUTLS_X509EXT_OID_PROXY_CRT_INFO</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_PROXY_CRT_INFO "1.3.6.1.5.5.7.1.14" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-TLSFEATURES:CAPS"></a><h3>GNUTLS_X509EXT_OID_TLSFEATURES</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_TLSFEATURES "1.3.6.1.5.5.7.1.24" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509EXT-OID-CT-SCT-V1:CAPS"></a><h3>GNUTLS_X509EXT_OID_CT_SCT_V1</h3> +<pre class="programlisting">#define GNUTLS_X509EXT_OID_CT_SCT_V1 "1.3.6.1.4.1.11129.2.4.2" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509-OID-POLICY-ANY:CAPS"></a><h3>GNUTLS_X509_OID_POLICY_ANY</h3> +<pre class="programlisting">#define GNUTLS_X509_OID_POLICY_ANY "2.5.29.54" +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-import-flags"></a><h3>enum gnutls_certificate_import_flags</h3> +<p>Enumeration of different certificate flags.</p> +<div class="refsect3"> +<a name="gnutls-certificate-import-flags.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-X509-CRT-LIST-IMPORT-FAIL-IF-EXCEED:CAPS"></a>GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-X509-CRT-LIST-FAIL-IF-UNSORTED:CAPS"></a>GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-X509-CRT-LIST-SORT:CAPS"></a>GNUTLS_X509_CRT_LIST_SORT</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crt-flags"></a><h3>enum gnutls_x509_crt_flags</h3> +<div class="refsect3"> +<a name="gnutls-x509-crt-flags.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody><tr> +<td class="enum_member_name"><p><a name="GNUTLS-X509-CRT-FLAG-IGNORE-SANITY:CAPS"></a>GNUTLS_X509_CRT_FLAG_IGNORE_SANITY</p></td> +<td> </td> +<td> </td> +</tr></tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-keyid-flags-t"></a><h3>enum gnutls_keyid_flags_t</h3> +<p>Enumeration of different flags for the key ID functions.</p> +<div class="refsect3"> +<a name="gnutls-keyid-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEYID-USE-SHA1:CAPS"></a>GNUTLS_KEYID_USE_SHA1</p></td> +<td class="enum_member_description"> +<p>Use SHA1 as the key ID algorithm (default).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEYID-USE-SHA256:CAPS"></a>GNUTLS_KEYID_USE_SHA256</p></td> +<td class="enum_member_description"> +<p>Use SHA256 as the key ID algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEYID-USE-SHA512:CAPS"></a>GNUTLS_KEYID_USE_SHA512</p></td> +<td class="enum_member_description"> +<p>Use SHA512 as the key ID algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEYID-USE-BEST-KNOWN:CAPS"></a>GNUTLS_KEYID_USE_BEST_KNOWN</p></td> +<td class="enum_member_description"> +<p>Use the best known algorithm to calculate key ID. Using that option will make your program behavior depend on the version of gnutls linked with. That option has a cap of 64-bytes key IDs.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-info-access-what-t"></a><h3>enum gnutls_info_access_what_t</h3> +<p>Enumeration of types for the <em class="parameter"><code>what</code></em> + parameter of +<a class="link" href="gnutls-x509.html#gnutls-x509-crt-get-authority-info-access" title="gnutls_x509_crt_get_authority_info_access ()"><code class="function">gnutls_x509_crt_get_authority_info_access()</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-info-access-what-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-IA-ACCESSMETHOD-OID:CAPS"></a>GNUTLS_IA_ACCESSMETHOD_OID</p></td> +<td class="enum_member_description"> +<p>Get accessMethod OID.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-IA-ACCESSLOCATION-GENERALNAME-TYPE:CAPS"></a>GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE</p></td> +<td class="enum_member_description"> +<p>Get accessLocation name type.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-IA-URI:CAPS"></a>GNUTLS_IA_URI</p></td> +<td class="enum_member_description"> +<p>Get accessLocation URI value.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-IA-UNKNOWN:CAPS"></a>GNUTLS_IA_UNKNOWN</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-IA-OCSP-URI:CAPS"></a>GNUTLS_IA_OCSP_URI</p></td> +<td class="enum_member_description"> +<p>get accessLocation URI value for OCSP.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-IA-CAISSUERS-URI:CAPS"></a>GNUTLS_IA_CAISSUERS_URI</p></td> +<td class="enum_member_description"> +<p>get accessLocation URI value for caIssuers.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-name-constraints-t"></a><h3>gnutls_x509_name_constraints_t</h3> +<pre class="programlisting">typedef struct gnutls_name_constraints_st *gnutls_x509_name_constraints_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-EXT-FLAG-APPEND:CAPS"></a><h3>GNUTLS_EXT_FLAG_APPEND</h3> +<pre class="programlisting">#define GNUTLS_EXT_FLAG_APPEND 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-NAME-CONSTRAINTS-FLAG-APPEND:CAPS"></a><h3>GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND</h3> +<pre class="programlisting">#define GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND GNUTLS_EXT_FLAG_APPEND +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-CRL-REASON-SUPERSEEDED:CAPS"></a><h3>GNUTLS_CRL_REASON_SUPERSEEDED</h3> +<pre class="programlisting">#define GNUTLS_CRL_REASON_SUPERSEEDED GNUTLS_CRL_REASON_SUPERSEDED, +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-reason-flags-t"></a><h3>enum gnutls_x509_crl_reason_flags_t</h3> +<p>Enumeration of types for the CRL revocation reasons.</p> +<div class="refsect3"> +<a name="gnutls-x509-crl-reason-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-UNSPECIFIED:CAPS"></a>GNUTLS_CRL_REASON_UNSPECIFIED</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-PRIVILEGE-WITHDRAWN:CAPS"></a>GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN</p></td> +<td class="enum_member_description"> +<p>The privileges were withdrawn from the owner.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-CERTIFICATE-HOLD:CAPS"></a>GNUTLS_CRL_REASON_CERTIFICATE_HOLD</p></td> +<td class="enum_member_description"> +<p>The certificate is on hold.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-CESSATION-OF-OPERATION:CAPS"></a>GNUTLS_CRL_REASON_CESSATION_OF_OPERATION</p></td> +<td class="enum_member_description"> +<p>The end-entity is no longer operating.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-SUPERSEDED:CAPS"></a>GNUTLS_CRL_REASON_SUPERSEDED</p></td> +<td class="enum_member_description"> +<p>There is a newer certificate of the owner.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-AFFILIATION-CHANGED:CAPS"></a>GNUTLS_CRL_REASON_AFFILIATION_CHANGED</p></td> +<td class="enum_member_description"> +<p>The end-entity affiliation has changed.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-CA-COMPROMISE:CAPS"></a>GNUTLS_CRL_REASON_CA_COMPROMISE</p></td> +<td class="enum_member_description"> +<p>The CA was compromised.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-KEY-COMPROMISE:CAPS"></a>GNUTLS_CRL_REASON_KEY_COMPROMISE</p></td> +<td class="enum_member_description"> +<p>The certificate's key was compromised.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-UNUSED:CAPS"></a>GNUTLS_CRL_REASON_UNUSED</p></td> +<td class="enum_member_description"> +<p>The key was never used.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-CRL-REASON-AA-COMPROMISE:CAPS"></a>GNUTLS_CRL_REASON_AA_COMPROMISE</p></td> +<td class="enum_member_description"> +<p>AA compromised.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509-NO-WELL-DEFINED-EXPIRATION:CAPS"></a><h3>GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION</h3> +<pre class="programlisting">#define GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION ((time_t)4294197631) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-spki-t"></a><h3>gnutls_x509_spki_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_spki_st *gnutls_x509_spki_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-tlsfeatures-t"></a><h3>gnutls_x509_tlsfeatures_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_tlsfeatures_st *gnutls_x509_tlsfeatures_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-MAX-QUALIFIERS:CAPS"></a><h3>GNUTLS_MAX_QUALIFIERS</h3> +<pre class="programlisting">#define GNUTLS_MAX_QUALIFIERS 8 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-qualifier-t"></a><h3>enum gnutls_x509_qualifier_t</h3> +<p>Enumeration of types for the X.509 qualifiers, of the certificate policy extension.</p> +<div class="refsect3"> +<a name="gnutls-x509-qualifier-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-X509-QUALIFIER-UNKNOWN:CAPS"></a>GNUTLS_X509_QUALIFIER_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>Unknown qualifier.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-X509-QUALIFIER-URI:CAPS"></a>GNUTLS_X509_QUALIFIER_URI</p></td> +<td class="enum_member_description"> +<p>A URL</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-X509-QUALIFIER-NOTICE:CAPS"></a>GNUTLS_X509_QUALIFIER_NOTICE</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-policy-st"></a><h3>gnutls_x509_policy_st</h3> +<pre class="programlisting">typedef struct { + char *oid; + unsigned int qualifiers; + struct { + gnutls_x509_qualifier_t type; + char *data; + unsigned int size; + } qualifier[GNUTLS_MAX_QUALIFIERS]; +} gnutls_x509_policy_st; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509-DN-OID-RETURN-OID:CAPS"></a><h3>GNUTLS_X509_DN_OID_RETURN_OID</h3> +<pre class="programlisting">#define GNUTLS_X509_DN_OID_RETURN_OID 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-dn-t"></a><h3>gnutls_x509_dn_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_dn_st *gnutls_x509_dn_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-ava-st"></a><h3>gnutls_x509_ava_st</h3> +<pre class="programlisting">typedef struct { + gnutls_datum_t oid; + gnutls_datum_t value; + unsigned long value_tag; +} gnutls_x509_ava_st; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-X509-DN-FLAG-COMPAT:CAPS"></a><h3>GNUTLS_X509_DN_FLAG_COMPAT</h3> +<pre class="programlisting">#define GNUTLS_X509_DN_FLAG_COMPAT 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-iter-t"></a><h3>gnutls_x509_crl_iter_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_crl_iter * gnutls_x509_crl_iter_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-certificate-count"></a><h3>gnutls_x509_crl_get_certificate_count</h3> +<pre class="programlisting">#define gnutls_x509_crl_get_certificate_count gnutls_x509_crl_get_crt_count +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-crl-get-certificate"></a><h3>gnutls_x509_crl_get_certificate</h3> +<pre class="programlisting">#define gnutls_x509_crl_get_certificate gnutls_x509_crl_get_crt_serial +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-verify-flags"></a><h3>enum gnutls_certificate_verify_flags</h3> +<p>Enumeration of different certificate verify flags. Additional +verification profiles can be set using <a class="link" href="gnutls-x509.html#GNUTLS-PROFILE-TO-VFLAGS:CAPS" title="GNUTLS_PROFILE_TO_VFLAGS()"><code class="function">GNUTLS_PROFILE_TO_VFLAGS()</code></a> +and <a class="link" href="gnutls-x509.html#gnutls-certificate-verification-profiles-t" title="enum gnutls_certificate_verification_profiles_t"><code class="literal">gnutls_certificate_verification_profiles_t</code></a>.</p> +<div class="refsect3"> +<a name="gnutls-certificate-verify-flags.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-DISABLE-CA-SIGN:CAPS"></a>GNUTLS_VERIFY_DISABLE_CA_SIGN</p></td> +<td class="enum_member_description"> +<p>If set a signer does not have to be +a certificate authority. This flag should normally be disabled, +unless you know what this means.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-DO-NOT-ALLOW-IP-MATCHES:CAPS"></a>GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES</p></td> +<td class="enum_member_description"> +<p>When verifying a hostname +prevent textual IP addresses from matching IP addresses in the +certificate. Treat the input only as a DNS name.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-DO-NOT-ALLOW-SAME:CAPS"></a>GNUTLS_VERIFY_DO_NOT_ALLOW_SAME</p></td> +<td class="enum_member_description"> +<p>If a certificate is not signed by +anyone trusted but exists in the trusted CA list do not treat it +as trusted.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-ALLOW-ANY-X509-V1-CA-CRT:CAPS"></a>GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT</p></td> +<td class="enum_member_description"> +<p>Allow CA certificates that +have version 1 (both root and intermediate). This might be +dangerous since those haven't the basicConstraints +extension. </p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-ALLOW-SIGN-RSA-MD2:CAPS"></a>GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2</p></td> +<td class="enum_member_description"> +<p>Allow certificates to be signed +using the broken MD2 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-ALLOW-SIGN-RSA-MD5:CAPS"></a>GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5</p></td> +<td class="enum_member_description"> +<p>Allow certificates to be signed +using the broken MD5 algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-DISABLE-TIME-CHECKS:CAPS"></a>GNUTLS_VERIFY_DISABLE_TIME_CHECKS</p></td> +<td class="enum_member_description"> +<p>Disable checking of activation +and expiration validity periods of certificate chains. Don't set +this unless you understand the security implications.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-DISABLE-TRUSTED-TIME-CHECKS:CAPS"></a>GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS</p></td> +<td class="enum_member_description"> +<p>If set a signer in the trusted +list is never checked for expiration or activation.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-DO-NOT-ALLOW-X509-V1-CA-CRT:CAPS"></a>GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT</p></td> +<td class="enum_member_description"> +<p>Do not allow trusted CA +certificates that have version 1. This option is to be used +to deprecate all certificates of version 1.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-DISABLE-CRL-CHECKS:CAPS"></a>GNUTLS_VERIFY_DISABLE_CRL_CHECKS</p></td> +<td class="enum_member_description"> +<p>Disable checking for validity +using certificate revocation lists or the available OCSP data.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-ALLOW-UNSORTED-CHAIN:CAPS"></a>GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN</p></td> +<td class="enum_member_description"> +<p>A certificate chain is tolerated +if unsorted (the case with many TLS servers out there). This is the +default since GnuTLS 3.1.4.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-DO-NOT-ALLOW-UNSORTED-CHAIN:CAPS"></a>GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN</p></td> +<td class="enum_member_description"> +<p>Do not tolerate an unsorted +certificate chain.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-DO-NOT-ALLOW-WILDCARDS:CAPS"></a>GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS</p></td> +<td class="enum_member_description"> +<p>When including a hostname +check in the verification, do not consider any wildcards.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-USE-TLS1-RSA:CAPS"></a>GNUTLS_VERIFY_USE_TLS1_RSA</p></td> +<td class="enum_member_description"> +<p>This indicates that a (raw) RSA signature is provided +as in the TLS 1.0 protocol. Not all functions accept this flag.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-IGNORE-UNKNOWN-CRIT-EXTENSIONS:CAPS"></a>GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS</p></td> +<td class="enum_member_description"> +<p>This signals the verification +process, not to fail on unknown critical extensions.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-ALLOW-SIGN-WITH-SHA1:CAPS"></a>GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1</p></td> +<td class="enum_member_description"> +<p>Allow certificates to be signed +using the broken SHA1 hash algorithm.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-VERIFY-RSA-PSS-FIXED-SALT-LENGTH:CAPS"></a>GNUTLS_VERIFY_RSA_PSS_FIXED_SALT_LENGTH</p></td> +<td class="enum_member_description"> +<p>Disallow RSA-PSS signatures made +with mismatching salt length with digest length, as mandated in RFC 8446 +4.2.3.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-VERIFY-ALLOW-BROKEN:CAPS"></a><h3>GNUTLS_VERIFY_ALLOW_BROKEN</h3> +<pre class="programlisting">#define GNUTLS_VERIFY_ALLOW_BROKEN (GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2|GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-certificate-verification-profiles-t"></a><h3>enum gnutls_certificate_verification_profiles_t</h3> +<p>Enumeration of different certificate verification profiles.</p> +<div class="refsect3"> +<a name="gnutls-certificate-verification-profiles-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-UNKNOWN:CAPS"></a>GNUTLS_PROFILE_UNKNOWN</p></td> +<td class="enum_member_description"> +<p>An invalid/unknown profile.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-VERY-WEAK:CAPS"></a>GNUTLS_PROFILE_VERY_WEAK</p></td> +<td class="enum_member_description"> +<p>A verification profile that +corresponds to <em class="parameter"><code>GNUTLS_SEC_PARAM_VERY_WEAK</code></em> + (64 bits)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-LOW:CAPS"></a>GNUTLS_PROFILE_LOW</p></td> +<td class="enum_member_description"> +<p>A verification profile that +corresponds to <em class="parameter"><code>GNUTLS_SEC_PARAM_LOW</code></em> + (80 bits)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-LEGACY:CAPS"></a>GNUTLS_PROFILE_LEGACY</p></td> +<td class="enum_member_description"> +<p>A verification profile that +corresponds to <em class="parameter"><code>GNUTLS_SEC_PARAM_LEGACY</code></em> + (96 bits)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-MEDIUM:CAPS"></a>GNUTLS_PROFILE_MEDIUM</p></td> +<td class="enum_member_description"> +<p>A verification profile that +corresponds to <em class="parameter"><code>GNUTLS_SEC_PARAM_MEDIUM</code></em> + (112 bits)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-HIGH:CAPS"></a>GNUTLS_PROFILE_HIGH</p></td> +<td class="enum_member_description"> +<p>A verification profile that +corresponds to <em class="parameter"><code>GNUTLS_SEC_PARAM_HIGH</code></em> + (128 bits)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-ULTRA:CAPS"></a>GNUTLS_PROFILE_ULTRA</p></td> +<td class="enum_member_description"> +<p>A verification profile that +corresponds to <em class="parameter"><code>GNUTLS_SEC_PARAM_ULTRA</code></em> + (192 bits)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-FUTURE:CAPS"></a>GNUTLS_PROFILE_FUTURE</p></td> +<td class="enum_member_description"> +<p>A verification profile that +corresponds to <em class="parameter"><code>GNUTLS_SEC_PARAM_FUTURE</code></em> + (256 bits)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-SUITEB128:CAPS"></a>GNUTLS_PROFILE_SUITEB128</p></td> +<td class="enum_member_description"> +<p>A verification profile that +applies the SUITEB128 rules</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PROFILE-SUITEB192:CAPS"></a>GNUTLS_PROFILE_SUITEB192</p></td> +<td class="enum_member_description"> +<p>A verification profile that +applies the SUITEB192 rules</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-VFLAGS-PROFILE-MASK:CAPS"></a><h3>GNUTLS_VFLAGS_PROFILE_MASK</h3> +<pre class="programlisting">#define GNUTLS_VFLAGS_PROFILE_MASK (0xff000000) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS8-PLAIN:CAPS"></a><h3>GNUTLS_PKCS8_PLAIN</h3> +<pre class="programlisting">#define GNUTLS_PKCS8_PLAIN GNUTLS_PKCS_PLAIN +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS8-USE-PKCS12-3DES:CAPS"></a><h3>GNUTLS_PKCS8_USE_PKCS12_3DES</h3> +<pre class="programlisting">#define GNUTLS_PKCS8_USE_PKCS12_3DES GNUTLS_PKCS_PKCS12_3DES +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS8-USE-PKCS12-ARCFOUR:CAPS"></a><h3>GNUTLS_PKCS8_USE_PKCS12_ARCFOUR</h3> +<pre class="programlisting">#define GNUTLS_PKCS8_USE_PKCS12_ARCFOUR GNUTLS_PKCS_PKCS12_ARCFOUR +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS8-USE-PKCS12-RC2-40:CAPS"></a><h3>GNUTLS_PKCS8_USE_PKCS12_RC2_40</h3> +<pre class="programlisting">#define GNUTLS_PKCS8_USE_PKCS12_RC2_40 GNUTLS_PKCS_PKCS12_RC2_40 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-pkcs-encrypt-flags-t"></a><h3>enum gnutls_pkcs_encrypt_flags_t</h3> +<p>Enumeration of different PKCS encryption flags.</p> +<div class="refsect3"> +<a name="gnutls-pkcs-encrypt-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PLAIN:CAPS"></a>GNUTLS_PKCS_PLAIN</p></td> +<td class="enum_member_description"> +<p>Unencrypted private key.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PKCS12-3DES:CAPS"></a>GNUTLS_PKCS_PKCS12_3DES</p></td> +<td class="enum_member_description"> +<p>PKCS-12 3DES.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PKCS12-ARCFOUR:CAPS"></a>GNUTLS_PKCS_PKCS12_ARCFOUR</p></td> +<td class="enum_member_description"> +<p>PKCS-12 ARCFOUR.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PKCS12-RC2-40:CAPS"></a>GNUTLS_PKCS_PKCS12_RC2_40</p></td> +<td class="enum_member_description"> +<p>PKCS-12 RC2-40.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-3DES:CAPS"></a>GNUTLS_PKCS_PBES2_3DES</p></td> +<td class="enum_member_description"> +<p>PBES2 3DES.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-AES-128:CAPS"></a>GNUTLS_PKCS_PBES2_AES_128</p></td> +<td class="enum_member_description"> +<p>PBES2 AES-128.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-AES-192:CAPS"></a>GNUTLS_PKCS_PBES2_AES_192</p></td> +<td class="enum_member_description"> +<p>PBES2 AES-192.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-AES-256:CAPS"></a>GNUTLS_PKCS_PBES2_AES_256</p></td> +<td class="enum_member_description"> +<p>PBES2 AES-256.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-NULL-PASSWORD:CAPS"></a>GNUTLS_PKCS_NULL_PASSWORD</p></td> +<td class="enum_member_description"> +<p>Some schemas distinguish between an empty and a NULL password.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-DES:CAPS"></a>GNUTLS_PKCS_PBES2_DES</p></td> +<td class="enum_member_description"> +<p>PBES2 single DES.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES1-DES-MD5:CAPS"></a>GNUTLS_PKCS_PBES1_DES_MD5</p></td> +<td class="enum_member_description"> +<p>PBES1 with single DES; for compatibility with openssl only.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-GOST-TC26Z:CAPS"></a>GNUTLS_PKCS_PBES2_GOST_TC26Z</p></td> +<td class="enum_member_description"> +<p>PBES2 GOST 28147-89 CFB with TC26-Z S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-GOST-CPA:CAPS"></a>GNUTLS_PKCS_PBES2_GOST_CPA</p></td> +<td class="enum_member_description"> +<p>PBES2 GOST 28147-89 CFB with CryptoPro-A S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-GOST-CPB:CAPS"></a>GNUTLS_PKCS_PBES2_GOST_CPB</p></td> +<td class="enum_member_description"> +<p>PBES2 GOST 28147-89 CFB with CryptoPro-B S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-GOST-CPC:CAPS"></a>GNUTLS_PKCS_PBES2_GOST_CPC</p></td> +<td class="enum_member_description"> +<p>PBES2 GOST 28147-89 CFB with CryptoPro-C S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-PKCS-PBES2-GOST-CPD:CAPS"></a>GNUTLS_PKCS_PBES2_GOST_CPD</p></td> +<td class="enum_member_description"> +<p>PBES2 GOST 28147-89 CFB with CryptoPro-D S-box.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PKCS12-3DES:CAPS"></a><h3>GNUTLS_PKCS_USE_PKCS12_3DES</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PKCS12_3DES GNUTLS_PKCS_PKCS12_3DES +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PKCS12-ARCFOUR:CAPS"></a><h3>GNUTLS_PKCS_USE_PKCS12_ARCFOUR</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PKCS12_ARCFOUR GNUTLS_PKCS_PKCS12_ARCFOUR +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PKCS12-RC2-40:CAPS"></a><h3>GNUTLS_PKCS_USE_PKCS12_RC2_40</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PKCS12_RC2_40 GNUTLS_PKCS_PKCS12_RC2_40 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PBES2-3DES:CAPS"></a><h3>GNUTLS_PKCS_USE_PBES2_3DES</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PBES2_3DES GNUTLS_PKCS_PBES2_3DES +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PBES2-AES-128:CAPS"></a><h3>GNUTLS_PKCS_USE_PBES2_AES_128</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PBES2_AES_128 GNUTLS_PKCS_PBES2_AES_128 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PBES2-AES-192:CAPS"></a><h3>GNUTLS_PKCS_USE_PBES2_AES_192</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PBES2_AES_192 GNUTLS_PKCS_PBES2_AES_192 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PBES2-AES-256:CAPS"></a><h3>GNUTLS_PKCS_USE_PBES2_AES_256</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PBES2_AES_256 GNUTLS_PKCS_PBES2_AES_256 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PBES2-GOST-TC26Z:CAPS"></a><h3>GNUTLS_PKCS_USE_PBES2_GOST_TC26Z</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PBES2_GOST_TC26Z GNUTLS_PKCS_PBES2_GOST_TC26Z +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PBES2-GOST-CPA:CAPS"></a><h3>GNUTLS_PKCS_USE_PBES2_GOST_CPA</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PBES2_GOST_CPA GNUTLS_PKCS_PBES2_GOST_CPA +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PBES2-GOST-CPB:CAPS"></a><h3>GNUTLS_PKCS_USE_PBES2_GOST_CPB</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PBES2_GOST_CPB GNUTLS_PKCS_PBES2_GOST_CPB +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PBES2-GOST-CPC:CAPS"></a><h3>GNUTLS_PKCS_USE_PBES2_GOST_CPC</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PBES2_GOST_CPC GNUTLS_PKCS_PBES2_GOST_CPC +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="GNUTLS-PKCS-USE-PBES2-GOST-CPD:CAPS"></a><h3>GNUTLS_PKCS_USE_PBES2_GOST_CPD</h3> +<pre class="programlisting">#define GNUTLS_PKCS_USE_PBES2_GOST_CPD GNUTLS_PKCS_PBES2_GOST_CPD +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-keygen-types-t"></a><h3>enum gnutls_keygen_types_t</h3> +<p>Enumeration of different key generation data options.</p> +<div class="refsect3"> +<a name="gnutls-keygen-types-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEYGEN-SEED:CAPS"></a>GNUTLS_KEYGEN_SEED</p></td> +<td class="enum_member_description"> +<p>Specifies the seed to be used in key generation.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEYGEN-DIGEST:CAPS"></a>GNUTLS_KEYGEN_DIGEST</p></td> +<td class="enum_member_description"> +<p>The size field specifies the hash algorithm to be used in key generation.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-KEYGEN-SPKI:CAPS"></a>GNUTLS_KEYGEN_SPKI</p></td> +<td class="enum_member_description"> +<p>data points to a <a class="link" href="gnutls-x509.html#gnutls-x509-spki-t" title="gnutls_x509_spki_t"><code class="literal">gnutls_x509_spki_t</code></a> structure; it is not used after the key generation call.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-keygen-data-st"></a><h3>gnutls_keygen_data_st</h3> +<pre class="programlisting">typedef struct { + gnutls_keygen_types_t type; + unsigned char *data; + unsigned int size; +} gnutls_keygen_data_st; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-t"></a><h3>gnutls_x509_trust_list_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_trust_list_st *gnutls_x509_trust_list_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-trust-list-iter-t"></a><h3>gnutls_x509_trust_list_iter_t</h3> +<pre class="programlisting">typedef struct gnutls_x509_trust_list_iter *gnutls_x509_trust_list_iter_t; +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-trust-list-flags-t"></a><h3>enum gnutls_trust_list_flags_t</h3> +<p>Enumeration of different certificate trust list flags.</p> +<div class="refsect3"> +<a name="gnutls-trust-list-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TL-VERIFY-CRL:CAPS"></a>GNUTLS_TL_VERIFY_CRL</p></td> +<td class="enum_member_description"> +<p>If any CRLs are provided they will be verified for validity +prior to be added. The CA certificates that will be used for verification are the +ones already added in the trusted list.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TL-USE-IN-TLS:CAPS"></a>GNUTLS_TL_USE_IN_TLS</p></td> +<td class="enum_member_description"> +<p>Internal flag used by GnuTLS. If provided the trust list +structure will cache a copy of CA DNs to be used in the certificate request +TLS message.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TL-NO-DUPLICATES:CAPS"></a>GNUTLS_TL_NO_DUPLICATES</p></td> +<td class="enum_member_description"> +<p>If this flag is specified, a function adding certificates +will check and eliminate any duplicates.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TL-NO-DUPLICATE-KEY:CAPS"></a>GNUTLS_TL_NO_DUPLICATE_KEY</p></td> +<td class="enum_member_description"> +<p>If this flag is specified, a certificate sharing the +same key as a previously added on will not be added.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TL-GET-COPY:CAPS"></a>GNUTLS_TL_GET_COPY</p></td> +<td class="enum_member_description"> +<p>The semantics of this flag are documented to the functions which +are applicable. In general, on returned value, the function will provide a copy +if this flag is provided, rather than a pointer to internal data.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="GNUTLS-TL-FAIL-ON-INVALID-CRL:CAPS"></a>GNUTLS_TL_FAIL_ON_INVALID_CRL</p></td> +<td class="enum_member_description"> +<p>If an CRL is added which cannot be validated return +an error instead of ignoring (must be used with <a class="link" href="gnutls-x509.html#GNUTLS-TL-VERIFY-CRL:CAPS"><code class="literal">GNUTLS_TL_VERIFY_CRL</code></a>).</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gnutls-x509-ext-st"></a><h3>gnutls_x509_ext_st</h3> +<pre class="programlisting">typedef struct { + char *oid; + unsigned int critical; + gnutls_datum_t data; +} gnutls_x509_ext_st; +</pre> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/gnutls.devhelp2 b/doc/reference/html/gnutls.devhelp2 new file mode 100644 index 0000000..f63309e --- /dev/null +++ b/doc/reference/html/gnutls.devhelp2 @@ -0,0 +1,2330 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<book xmlns="http://www.devhelp.net/book" title="GnuTLS API Reference Manual" link="index.html" author="" name="gnutls" version="2" language="c" online="https://www.gnutls.org/reference/"> + <chapters> + <sub name="GnuTLS API Reference Manual" link="intro.html"> + <sub name="gnutls" link="gnutls-gnutls.html"/> + <sub name="abstract" link="gnutls-abstract.html"/> + <sub name="x509" link="gnutls-x509.html"/> + <sub name="openpgp" link="gnutls-openpgp.html"/> + <sub name="crypto" link="gnutls-crypto.html"/> + <sub name="pkcs11" link="gnutls-pkcs11.html"/> + <sub name="pkcs12" link="gnutls-pkcs12.html"/> + <sub name="ocsp" link="gnutls-ocsp.html"/> + <sub name="dtls" link="gnutls-dtls.html"/> + <sub name="tpm" link="gnutls-tpm.html"/> + </sub> + <sub name="API Index" link="api-index-full.html"/> + </chapters> + <functions> + <keyword type="function" name="gnutls_pk_algorithm_get_name ()" link="gnutls-gnutls.html#gnutls-pk-algorithm-get-name"/> + <keyword type="macro" name="GNUTLS_CURVE_TO_BITS()" link="gnutls-gnutls.html#GNUTLS-CURVE-TO-BITS:CAPS"/> + <keyword type="macro" name="GNUTLS_BITS_TO_CURVE()" link="gnutls-gnutls.html#GNUTLS-BITS-TO-CURVE:CAPS"/> + <keyword type="macro" name="GNUTLS_BITS_ARE_CURVE()" link="gnutls-gnutls.html#GNUTLS-BITS-ARE-CURVE:CAPS"/> + <keyword type="function" name="gnutls_init ()" link="gnutls-gnutls.html#gnutls-init"/> + <keyword type="function" name="gnutls_deinit ()" link="gnutls-gnutls.html#gnutls-deinit"/> + <keyword type="function" name="gnutls_bye ()" link="gnutls-gnutls.html#gnutls-bye"/> + <keyword type="function" name="gnutls_handshake ()" link="gnutls-gnutls.html#gnutls-handshake"/> + <keyword type="function" name="gnutls_reauth ()" link="gnutls-gnutls.html#gnutls-reauth"/> + <keyword type="function" name="gnutls_handshake_set_timeout ()" link="gnutls-gnutls.html#gnutls-handshake-set-timeout" since="3.1.0"/> + <keyword type="function" name="gnutls_rehandshake ()" link="gnutls-gnutls.html#gnutls-rehandshake"/> + <keyword type="function" name="gnutls_session_key_update ()" link="gnutls-gnutls.html#gnutls-session-key-update" since="3.6.3"/> + <keyword type="function" name="gnutls_alert_get ()" link="gnutls-gnutls.html#gnutls-alert-get"/> + <keyword type="function" name="gnutls_alert_send ()" link="gnutls-gnutls.html#gnutls-alert-send"/> + <keyword type="function" name="gnutls_alert_send_appropriate ()" link="gnutls-gnutls.html#gnutls-alert-send-appropriate"/> + <keyword type="function" name="gnutls_alert_get_name ()" link="gnutls-gnutls.html#gnutls-alert-get-name"/> + <keyword type="function" name="gnutls_alert_get_strname ()" link="gnutls-gnutls.html#gnutls-alert-get-strname" since="3.0"/> + <keyword type="function" name="gnutls_pk_bits_to_sec_param ()" link="gnutls-gnutls.html#gnutls-pk-bits-to-sec-param" since="2.12.0"/> + <keyword type="function" name="gnutls_sec_param_get_name ()" link="gnutls-gnutls.html#gnutls-sec-param-get-name" since="2.12.0"/> + <keyword type="function" name="gnutls_sec_param_to_pk_bits ()" link="gnutls-gnutls.html#gnutls-sec-param-to-pk-bits" since="2.12.0"/> + <keyword type="function" name="gnutls_sec_param_to_symmetric_bits ()" link="gnutls-gnutls.html#gnutls-sec-param-to-symmetric-bits" since="3.3.0"/> + <keyword type="function" name="gnutls_group_get ()" link="gnutls-gnutls.html#gnutls-group-get" since="3.6.0"/> + <keyword type="function" name="gnutls_cipher_get ()" link="gnutls-gnutls.html#gnutls-cipher-get"/> + <keyword type="function" name="gnutls_early_cipher_get ()" link="gnutls-gnutls.html#gnutls-early-cipher-get" since="3.7.2"/> + <keyword type="function" name="gnutls_kx_get ()" link="gnutls-gnutls.html#gnutls-kx-get"/> + <keyword type="function" name="gnutls_mac_get ()" link="gnutls-gnutls.html#gnutls-mac-get"/> + <keyword type="function" name="gnutls_prf_hash_get ()" link="gnutls-gnutls.html#gnutls-prf-hash-get" since="3.6.13"/> + <keyword type="function" name="gnutls_early_prf_hash_get ()" link="gnutls-gnutls.html#gnutls-early-prf-hash-get" since="3.7.2"/> + <keyword type="function" name="gnutls_certificate_type_get ()" link="gnutls-gnutls.html#gnutls-certificate-type-get"/> + <keyword type="function" name="gnutls_certificate_type_get2 ()" link="gnutls-gnutls.html#gnutls-certificate-type-get2" since="3.6.4"/> + <keyword type="function" name="gnutls_sign_algorithm_get ()" link="gnutls-gnutls.html#gnutls-sign-algorithm-get" since="3.1.1"/> + <keyword type="function" name="gnutls_sign_algorithm_get_client ()" link="gnutls-gnutls.html#gnutls-sign-algorithm-get-client" since="3.1.11"/> + <keyword type="function" name="gnutls_sign_algorithm_get_requested ()" link="gnutls-gnutls.html#gnutls-sign-algorithm-get-requested" since="2.10.0"/> + <keyword type="function" name="gnutls_cipher_get_name ()" link="gnutls-gnutls.html#gnutls-cipher-get-name"/> + <keyword type="function" name="gnutls_oid_to_digest ()" link="gnutls-gnutls.html#gnutls-oid-to-digest" since="3.4.3"/> + <keyword type="function" name="gnutls_ecc_curve_set_enabled ()" link="gnutls-gnutls.html#gnutls-ecc-curve-set-enabled" since="3.7.3"/> + <keyword type="function" name="gnutls_sign_set_secure ()" link="gnutls-gnutls.html#gnutls-sign-set-secure" since="3.7.3"/> + <keyword type="function" name="gnutls_sign_set_secure_for_certs ()" link="gnutls-gnutls.html#gnutls-sign-set-secure-for-certs" since="3.7.3"/> + <keyword type="function" name="gnutls_digest_set_secure ()" link="gnutls-gnutls.html#gnutls-digest-set-secure" since="3.7.3"/> + <keyword type="function" name="gnutls_protocol_set_enabled ()" link="gnutls-gnutls.html#gnutls-protocol-set-enabled" since="3.7.3"/> + <keyword type="function" name="gnutls_error_is_fatal ()" link="gnutls-gnutls.html#gnutls-error-is-fatal"/> + <keyword type="function" name="gnutls_perror ()" link="gnutls-gnutls.html#gnutls-perror"/> + <keyword type="function" name="gnutls_strerror ()" link="gnutls-gnutls.html#gnutls-strerror"/> + <keyword type="function" name="gnutls_handshake_set_random ()" link="gnutls-gnutls.html#gnutls-handshake-set-random"/> + <keyword type="function" name="gnutls_handshake_get_last_out ()" link="gnutls-gnutls.html#gnutls-handshake-get-last-out"/> + <keyword type="function" name="gnutls_handshake_get_last_in ()" link="gnutls-gnutls.html#gnutls-handshake-get-last-in"/> + <keyword type="function" name="gnutls_heartbeat_ping ()" link="gnutls-gnutls.html#gnutls-heartbeat-ping" since="3.1.2"/> + <keyword type="function" name="gnutls_heartbeat_pong ()" link="gnutls-gnutls.html#gnutls-heartbeat-pong" since="3.1.2"/> + <keyword type="function" name="gnutls_record_set_timeout ()" link="gnutls-gnutls.html#gnutls-record-set-timeout" since="3.1.7"/> + <keyword type="function" name="gnutls_record_disable_padding ()" link="gnutls-gnutls.html#gnutls-record-disable-padding"/> + <keyword type="function" name="gnutls_record_cork ()" link="gnutls-gnutls.html#gnutls-record-cork" since="3.1.9"/> + <keyword type="function" name="gnutls_record_uncork ()" link="gnutls-gnutls.html#gnutls-record-uncork" since="3.1.9"/> + <keyword type="function" name="gnutls_record_discard_queued ()" link="gnutls-gnutls.html#gnutls-record-discard-queued" since="3.4.0"/> + <keyword type="function" name="gnutls_record_get_state ()" link="gnutls-gnutls.html#gnutls-record-get-state"/> + <keyword type="function" name="gnutls_record_set_state ()" link="gnutls-gnutls.html#gnutls-record-set-state"/> + <keyword type="function" name="gnutls_range_split ()" link="gnutls-gnutls.html#gnutls-range-split"/> + <keyword type="function" name="gnutls_record_send ()" link="gnutls-gnutls.html#gnutls-record-send"/> + <keyword type="function" name="gnutls_record_send2 ()" link="gnutls-gnutls.html#gnutls-record-send2" since="3.6.3"/> + <keyword type="function" name="gnutls_record_send_range ()" link="gnutls-gnutls.html#gnutls-record-send-range"/> + <keyword type="function" name="gnutls_record_send_file ()" link="gnutls-gnutls.html#gnutls-record-send-file"/> + <keyword type="function" name="gnutls_record_recv ()" link="gnutls-gnutls.html#gnutls-record-recv"/> + <keyword type="function" name="gnutls_record_recv_packet ()" link="gnutls-gnutls.html#gnutls-record-recv-packet" since="3.3.5"/> + <keyword type="function" name="gnutls_packet_get ()" link="gnutls-gnutls.html#gnutls-packet-get" since="3.3.5"/> + <keyword type="function" name="gnutls_packet_deinit ()" link="gnutls-gnutls.html#gnutls-packet-deinit" since="3.3.5"/> + <keyword type="function" name="gnutls_record_recv_seq ()" link="gnutls-gnutls.html#gnutls-record-recv-seq" since="3.0"/> + <keyword type="function" name="gnutls_record_overhead_size ()" link="gnutls-gnutls.html#gnutls-record-overhead-size" since="3.2.2"/> + <keyword type="function" name="gnutls_est_record_overhead_size ()" link="gnutls-gnutls.html#gnutls-est-record-overhead-size" since="3.2.2"/> + <keyword type="macro" name="gnutls_record_set_max_empty_records()" link="gnutls-gnutls.html#gnutls-record-set-max-empty-records"/> + <keyword type="function" name="gnutls_record_can_use_length_hiding ()" link="gnutls-gnutls.html#gnutls-record-can-use-length-hiding"/> + <keyword type="function" name="gnutls_record_get_direction ()" link="gnutls-gnutls.html#gnutls-record-get-direction"/> + <keyword type="function" name="gnutls_record_get_max_size ()" link="gnutls-gnutls.html#gnutls-record-get-max-size"/> + <keyword type="function" name="gnutls_record_set_max_size ()" link="gnutls-gnutls.html#gnutls-record-set-max-size" deprecated=""/> + <keyword type="function" name="gnutls_record_set_max_recv_size ()" link="gnutls-gnutls.html#gnutls-record-set-max-recv-size" since="3.6.8"/> + <keyword type="function" name="gnutls_record_check_pending ()" link="gnutls-gnutls.html#gnutls-record-check-pending"/> + <keyword type="function" name="gnutls_record_check_corked ()" link="gnutls-gnutls.html#gnutls-record-check-corked" since="3.2.8"/> + <keyword type="function" name="gnutls_record_get_max_early_data_size ()" link="gnutls-gnutls.html#gnutls-record-get-max-early-data-size" since="3.6.5"/> + <keyword type="function" name="gnutls_record_set_max_early_data_size ()" link="gnutls-gnutls.html#gnutls-record-set-max-early-data-size" since="3.6.4"/> + <keyword type="function" name="gnutls_record_send_early_data ()" link="gnutls-gnutls.html#gnutls-record-send-early-data" since="3.6.5"/> + <keyword type="function" name="gnutls_record_recv_early_data ()" link="gnutls-gnutls.html#gnutls-record-recv-early-data" since="3.6.5"/> + <keyword type="function" name="gnutls_session_force_valid ()" link="gnutls-gnutls.html#gnutls-session-force-valid"/> + <keyword type="function" name="gnutls_prf ()" link="gnutls-gnutls.html#gnutls-prf"/> + <keyword type="function" name="gnutls_prf_rfc5705 ()" link="gnutls-gnutls.html#gnutls-prf-rfc5705" since="3.4.4"/> + <keyword type="function" name="gnutls_prf_early ()" link="gnutls-gnutls.html#gnutls-prf-early" since="3.6.8"/> + <keyword type="function" name="gnutls_prf_raw ()" link="gnutls-gnutls.html#gnutls-prf-raw"/> + <keyword type="function" name="gnutls_server_name_set ()" link="gnutls-gnutls.html#gnutls-server-name-set"/> + <keyword type="function" name="gnutls_server_name_get ()" link="gnutls-gnutls.html#gnutls-server-name-get"/> + <keyword type="function" name="gnutls_heartbeat_get_timeout ()" link="gnutls-gnutls.html#gnutls-heartbeat-get-timeout" since="3.1.2"/> + <keyword type="function" name="gnutls_heartbeat_set_timeouts ()" link="gnutls-gnutls.html#gnutls-heartbeat-set-timeouts" since="3.1.2"/> + <keyword type="function" name="gnutls_heartbeat_enable ()" link="gnutls-gnutls.html#gnutls-heartbeat-enable" since="3.1.2"/> + <keyword type="function" name="gnutls_heartbeat_allowed ()" link="gnutls-gnutls.html#gnutls-heartbeat-allowed" since="3.1.2"/> + <keyword type="function" name="gnutls_safe_renegotiation_status ()" link="gnutls-gnutls.html#gnutls-safe-renegotiation-status" since="2.10.0"/> + <keyword type="function" name="gnutls_session_ext_master_secret_status ()" link="gnutls-gnutls.html#gnutls-session-ext-master-secret-status"/> + <keyword type="function" name="gnutls_session_etm_status ()" link="gnutls-gnutls.html#gnutls-session-etm-status"/> + <keyword type="function" name="gnutls_session_get_flags ()" link="gnutls-gnutls.html#gnutls-session-get-flags" since="3.5.0"/> + <keyword type="function" name="gnutls_session_ticket_key_generate ()" link="gnutls-gnutls.html#gnutls-session-ticket-key-generate" since="2.10.0"/> + <keyword type="function" name="gnutls_session_ticket_enable_client ()" link="gnutls-gnutls.html#gnutls-session-ticket-enable-client" since="2.10.0"/> + <keyword type="function" name="gnutls_session_ticket_enable_server ()" link="gnutls-gnutls.html#gnutls-session-ticket-enable-server" since="2.10.0"/> + <keyword type="function" name="gnutls_session_ticket_send ()" link="gnutls-gnutls.html#gnutls-session-ticket-send"/> + <keyword type="function" name="gnutls_srtp_set_profile ()" link="gnutls-gnutls.html#gnutls-srtp-set-profile"/> + <keyword type="function" name="gnutls_srtp_set_profile_direct ()" link="gnutls-gnutls.html#gnutls-srtp-set-profile-direct"/> + <keyword type="function" name="gnutls_srtp_get_selected_profile ()" link="gnutls-gnutls.html#gnutls-srtp-get-selected-profile"/> + <keyword type="function" name="gnutls_srtp_get_profile_name ()" link="gnutls-gnutls.html#gnutls-srtp-get-profile-name"/> + <keyword type="function" name="gnutls_srtp_get_profile_id ()" link="gnutls-gnutls.html#gnutls-srtp-get-profile-id"/> + <keyword type="function" name="gnutls_srtp_get_keys ()" link="gnutls-gnutls.html#gnutls-srtp-get-keys"/> + <keyword type="function" name="gnutls_srtp_set_mki ()" link="gnutls-gnutls.html#gnutls-srtp-set-mki"/> + <keyword type="function" name="gnutls_srtp_get_mki ()" link="gnutls-gnutls.html#gnutls-srtp-get-mki"/> + <keyword type="function" name="gnutls_compress_certificate_get_selected_method ()" link="gnutls-gnutls.html#gnutls-compress-certificate-get-selected-method"/> + <keyword type="function" name="gnutls_compress_certificate_set_methods ()" link="gnutls-gnutls.html#gnutls-compress-certificate-set-methods"/> + <keyword type="function" name="gnutls_alpn_get_selected_protocol ()" link="gnutls-gnutls.html#gnutls-alpn-get-selected-protocol"/> + <keyword type="function" name="gnutls_alpn_set_protocols ()" link="gnutls-gnutls.html#gnutls-alpn-set-protocols"/> + <keyword type="function" name="gnutls_key_generate ()" link="gnutls-gnutls.html#gnutls-key-generate" since="3.0"/> + <keyword type="function" name="gnutls_priority_init ()" link="gnutls-gnutls.html#gnutls-priority-init"/> + <keyword type="function" name="gnutls_priority_init2 ()" link="gnutls-gnutls.html#gnutls-priority-init2" since="3.6.3"/> + <keyword type="function" name="gnutls_priority_deinit ()" link="gnutls-gnutls.html#gnutls-priority-deinit"/> + <keyword type="function" name="gnutls_priority_get_cipher_suite_index ()" link="gnutls-gnutls.html#gnutls-priority-get-cipher-suite-index" since="3.0.9"/> + <keyword type="function" name="gnutls_priority_string_list ()" link="gnutls-gnutls.html#gnutls-priority-string-list" since="3.4.0"/> + <keyword type="function" name="gnutls_priority_set ()" link="gnutls-gnutls.html#gnutls-priority-set"/> + <keyword type="function" name="gnutls_priority_set_direct ()" link="gnutls-gnutls.html#gnutls-priority-set-direct"/> + <keyword type="function" name="gnutls_priority_certificate_type_list ()" link="gnutls-gnutls.html#gnutls-priority-certificate-type-list" since="3.0"/> + <keyword type="function" name="gnutls_priority_certificate_type_list2 ()" link="gnutls-gnutls.html#gnutls-priority-certificate-type-list2" since="3.6.4"/> + <keyword type="function" name="gnutls_priority_sign_list ()" link="gnutls-gnutls.html#gnutls-priority-sign-list" since="3.0"/> + <keyword type="function" name="gnutls_priority_protocol_list ()" link="gnutls-gnutls.html#gnutls-priority-protocol-list" since="3.0"/> + <keyword type="function" name="gnutls_priority_ecc_curve_list ()" link="gnutls-gnutls.html#gnutls-priority-ecc-curve-list" deprecated="" since="3.0"/> + <keyword type="function" name="gnutls_priority_group_list ()" link="gnutls-gnutls.html#gnutls-priority-group-list" since="3.6.0"/> + <keyword type="function" name="gnutls_priority_kx_list ()" link="gnutls-gnutls.html#gnutls-priority-kx-list" since="3.2.3"/> + <keyword type="function" name="gnutls_priority_cipher_list ()" link="gnutls-gnutls.html#gnutls-priority-cipher-list" since="3.2.3"/> + <keyword type="function" name="gnutls_priority_mac_list ()" link="gnutls-gnutls.html#gnutls-priority-mac-list" since="3.2.3"/> + <keyword type="function" name="gnutls_get_system_config_file ()" link="gnutls-gnutls.html#gnutls-get-system-config-file" since="3.6.9"/> + <keyword type="function" name="gnutls_set_default_priority ()" link="gnutls-gnutls.html#gnutls-set-default-priority" since="2.1.4"/> + <keyword type="function" name="gnutls_set_default_priority_append ()" link="gnutls-gnutls.html#gnutls-set-default-priority-append" since="3.6.3"/> + <keyword type="function" name="gnutls_cipher_suite_get_name ()" link="gnutls-gnutls.html#gnutls-cipher-suite-get-name"/> + <keyword type="function" name="gnutls_protocol_get_name ()" link="gnutls-gnutls.html#gnutls-protocol-get-name"/> + <keyword type="function" name="gnutls_session_get_data ()" link="gnutls-gnutls.html#gnutls-session-get-data"/> + <keyword type="function" name="gnutls_session_get_data2 ()" link="gnutls-gnutls.html#gnutls-session-get-data2"/> + <keyword type="function" name="gnutls_session_get_random ()" link="gnutls-gnutls.html#gnutls-session-get-random" since="3.0"/> + <keyword type="function" name="gnutls_session_get_master_secret ()" link="gnutls-gnutls.html#gnutls-session-get-master-secret" since="3.5.0"/> + <keyword type="function" name="gnutls_session_get_desc ()" link="gnutls-gnutls.html#gnutls-session-get-desc" since="3.1.10"/> + <keyword type="function" name="gnutls_session_set_verify_function ()" link="gnutls-gnutls.html#gnutls-session-set-verify-function" since="3.4.6"/> + <keyword type="function" name="gnutls_session_set_verify_cert ()" link="gnutls-gnutls.html#gnutls-session-set-verify-cert" since="3.4.6"/> + <keyword type="function" name="gnutls_session_set_verify_cert2 ()" link="gnutls-gnutls.html#gnutls-session-set-verify-cert2" since="3.4.6"/> + <keyword type="function" name="gnutls_session_get_verify_cert_status ()" link="gnutls-gnutls.html#gnutls-session-get-verify-cert-status" since="3.4.6"/> + <keyword type="function" name="gnutls_session_set_premaster ()" link="gnutls-gnutls.html#gnutls-session-set-premaster"/> + <keyword type="function" name="gnutls_session_get_id ()" link="gnutls-gnutls.html#gnutls-session-get-id"/> + <keyword type="function" name="gnutls_session_get_id2 ()" link="gnutls-gnutls.html#gnutls-session-get-id2" since="3.1.4"/> + <keyword type="function" name="gnutls_session_set_id ()" link="gnutls-gnutls.html#gnutls-session-set-id" since="3.2.1"/> + <keyword type="function" name="gnutls_session_channel_binding ()" link="gnutls-gnutls.html#gnutls-session-channel-binding" since="2.12.0"/> + <keyword type="function" name="gnutls_session_is_resumed ()" link="gnutls-gnutls.html#gnutls-session-is-resumed"/> + <keyword type="function" name="gnutls_session_resumption_requested ()" link="gnutls-gnutls.html#gnutls-session-resumption-requested"/> + <keyword type="function" name="gnutls_db_store_func ()" link="gnutls-gnutls.html#gnutls-db-store-func"/> + <keyword type="function" name="gnutls_db_remove_func ()" link="gnutls-gnutls.html#gnutls-db-remove-func"/> + <keyword type="function" name="gnutls_db_retr_func ()" link="gnutls-gnutls.html#gnutls-db-retr-func"/> + <keyword type="function" name="gnutls_db_set_cache_expiration ()" link="gnutls-gnutls.html#gnutls-db-set-cache-expiration"/> + <keyword type="function" name="gnutls_db_get_default_cache_expiration ()" link="gnutls-gnutls.html#gnutls-db-get-default-cache-expiration"/> + <keyword type="function" name="gnutls_db_remove_session ()" link="gnutls-gnutls.html#gnutls-db-remove-session"/> + <keyword type="function" name="gnutls_db_set_retrieve_function ()" link="gnutls-gnutls.html#gnutls-db-set-retrieve-function"/> + <keyword type="function" name="gnutls_db_set_remove_function ()" link="gnutls-gnutls.html#gnutls-db-set-remove-function"/> + <keyword type="function" name="gnutls_db_set_store_function ()" link="gnutls-gnutls.html#gnutls-db-set-store-function"/> + <keyword type="function" name="gnutls_db_set_ptr ()" link="gnutls-gnutls.html#gnutls-db-set-ptr"/> + <keyword type="function" name="gnutls_db_get_ptr ()" link="gnutls-gnutls.html#gnutls-db-get-ptr"/> + <keyword type="function" name="gnutls_db_check_entry ()" link="gnutls-gnutls.html#gnutls-db-check-entry" deprecated="This function is deprecated."/> + <keyword type="function" name="gnutls_db_check_entry_time ()" link="gnutls-gnutls.html#gnutls-db-check-entry-time"/> + <keyword type="function" name="gnutls_db_check_entry_expire_time ()" link="gnutls-gnutls.html#gnutls-db-check-entry-expire-time" since="3.6.5"/> + <keyword type="function" name="gnutls_handshake_hook_func ()" link="gnutls-gnutls.html#gnutls-handshake-hook-func"/> + <keyword type="function" name="gnutls_handshake_set_hook_function ()" link="gnutls-gnutls.html#gnutls-handshake-set-hook-function"/> + <keyword type="function" name="gnutls_handshake_simple_hook_func ()" link="gnutls-gnutls.html#gnutls-handshake-simple-hook-func"/> + <keyword type="function" name="gnutls_handshake_set_post_client_hello_function ()" link="gnutls-gnutls.html#gnutls-handshake-set-post-client-hello-function"/> + <keyword type="function" name="gnutls_handshake_set_max_packet_length ()" link="gnutls-gnutls.html#gnutls-handshake-set-max-packet-length"/> + <keyword type="function" name="gnutls_check_version ()" link="gnutls-gnutls.html#gnutls-check-version"/> + <keyword type="function" name="gnutls_credentials_set ()" link="gnutls-gnutls.html#gnutls-credentials-set"/> + <keyword type="function" name="gnutls_credentials_get ()" link="gnutls-gnutls.html#gnutls-credentials-get" since="3.3.3"/> + <keyword type="function" name="gnutls_anon_free_server_credentials ()" link="gnutls-gnutls.html#gnutls-anon-free-server-credentials"/> + <keyword type="function" name="gnutls_anon_allocate_server_credentials ()" link="gnutls-gnutls.html#gnutls-anon-allocate-server-credentials"/> + <keyword type="function" name="gnutls_anon_set_server_dh_params ()" link="gnutls-gnutls.html#gnutls-anon-set-server-dh-params" deprecated=""/> + <keyword type="function" name="gnutls_anon_set_server_known_dh_params ()" link="gnutls-gnutls.html#gnutls-anon-set-server-known-dh-params" deprecated="" since="3.5.6"/> + <keyword type="function" name="gnutls_anon_set_server_params_function ()" link="gnutls-gnutls.html#gnutls-anon-set-server-params-function" deprecated=""/> + <keyword type="function" name="gnutls_anon_free_client_credentials ()" link="gnutls-gnutls.html#gnutls-anon-free-client-credentials"/> + <keyword type="function" name="gnutls_anon_allocate_client_credentials ()" link="gnutls-gnutls.html#gnutls-anon-allocate-client-credentials"/> + <keyword type="function" name="gnutls_certificate_free_credentials ()" link="gnutls-gnutls.html#gnutls-certificate-free-credentials"/> + <keyword type="function" name="gnutls_certificate_allocate_credentials ()" link="gnutls-gnutls.html#gnutls-certificate-allocate-credentials"/> + <keyword type="function" name="gnutls_certificate_get_issuer ()" link="gnutls-gnutls.html#gnutls-certificate-get-issuer" since="3.0"/> + <keyword type="function" name="gnutls_certificate_get_crt_raw ()" link="gnutls-gnutls.html#gnutls-certificate-get-crt-raw" since="3.2.5"/> + <keyword type="function" name="gnutls_certificate_free_keys ()" link="gnutls-gnutls.html#gnutls-certificate-free-keys"/> + <keyword type="function" name="gnutls_certificate_free_cas ()" link="gnutls-gnutls.html#gnutls-certificate-free-cas"/> + <keyword type="function" name="gnutls_certificate_free_ca_names ()" link="gnutls-gnutls.html#gnutls-certificate-free-ca-names"/> + <keyword type="function" name="gnutls_certificate_free_crls ()" link="gnutls-gnutls.html#gnutls-certificate-free-crls"/> + <keyword type="function" name="gnutls_certificate_set_dh_params ()" link="gnutls-gnutls.html#gnutls-certificate-set-dh-params" deprecated=""/> + <keyword type="function" name="gnutls_certificate_set_known_dh_params ()" link="gnutls-gnutls.html#gnutls-certificate-set-known-dh-params" deprecated="" since="3.5.6"/> + <keyword type="function" name="gnutls_certificate_set_verify_flags ()" link="gnutls-gnutls.html#gnutls-certificate-set-verify-flags"/> + <keyword type="function" name="gnutls_certificate_get_verify_flags ()" link="gnutls-gnutls.html#gnutls-certificate-get-verify-flags" since="3.4.0"/> + <keyword type="function" name="gnutls_certificate_set_flags ()" link="gnutls-gnutls.html#gnutls-certificate-set-flags" since="3.4.7"/> + <keyword type="function" name="gnutls_certificate_set_verify_limits ()" link="gnutls-gnutls.html#gnutls-certificate-set-verify-limits"/> + <keyword type="function" name="gnutls_certificate_set_x509_system_trust ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-system-trust" since="3.0.20"/> + <keyword type="function" name="gnutls_certificate_set_x509_trust_file ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-file"/> + <keyword type="function" name="gnutls_certificate_set_x509_trust_dir ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-dir" since="3.3.6"/> + <keyword type="function" name="gnutls_certificate_set_x509_trust_mem ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-mem"/> + <keyword type="function" name="gnutls_certificate_set_x509_crl_file ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-file"/> + <keyword type="function" name="gnutls_certificate_set_x509_crl_mem ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-mem"/> + <keyword type="function" name="gnutls_certificate_set_x509_key_file ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file" since="3.1.11"/> + <keyword type="function" name="gnutls_certificate_set_x509_key_file2 ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file2"/> + <keyword type="function" name="gnutls_certificate_set_x509_key_mem ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem"/> + <keyword type="function" name="gnutls_certificate_set_x509_key_mem2 ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem2"/> + <keyword type="function" name="gnutls_certificate_send_x509_rdn_sequence ()" link="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence"/> + <keyword type="function" name="gnutls_certificate_set_x509_simple_pkcs12_file ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-file"/> + <keyword type="function" name="gnutls_certificate_set_x509_simple_pkcs12_mem ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-mem" since="2.8.0"/> + <keyword type="function" name="gnutls_certificate_set_x509_key ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-key" since="2.4.0"/> + <keyword type="function" name="gnutls_certificate_set_x509_trust ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-trust" since="2.4.0"/> + <keyword type="function" name="gnutls_certificate_set_x509_crl ()" link="gnutls-gnutls.html#gnutls-certificate-set-x509-crl" since="2.4.0"/> + <keyword type="function" name="gnutls_certificate_get_x509_key ()" link="gnutls-gnutls.html#gnutls-certificate-get-x509-key" since="3.4.0"/> + <keyword type="function" name="gnutls_certificate_get_x509_crt ()" link="gnutls-gnutls.html#gnutls-certificate-get-x509-crt" since="3.4.0"/> + <keyword type="function" name="gnutls_certificate_set_ocsp_status_request_function ()" link="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-function" since="3.1.3"/> + <keyword type="function" name="gnutls_certificate_set_ocsp_status_request_function2 ()" link="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-function2" since="3.5.5"/> + <keyword type="function" name="gnutls_certificate_set_ocsp_status_request_file ()" link="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-file" since="3.1.3"/> + <keyword type="function" name="gnutls_certificate_set_ocsp_status_request_file2 ()" link="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-file2" since="3.1.3"/> + <keyword type="function" name="gnutls_certificate_set_ocsp_status_request_mem ()" link="gnutls-gnutls.html#gnutls-certificate-set-ocsp-status-request-mem" since="3.6.3"/> + <keyword type="function" name="gnutls_certificate_get_ocsp_expiration ()" link="gnutls-gnutls.html#gnutls-certificate-get-ocsp-expiration" since="3.6.3"/> + <keyword type="function" name="gnutls_ocsp_status_request_enable_client ()" link="gnutls-gnutls.html#gnutls-ocsp-status-request-enable-client" since="3.1.3"/> + <keyword type="function" name="gnutls_ocsp_status_request_get ()" link="gnutls-gnutls.html#gnutls-ocsp-status-request-get" since="3.1.3"/> + <keyword type="function" name="gnutls_ocsp_status_request_is_checked ()" link="gnutls-gnutls.html#gnutls-ocsp-status-request-is-checked" since="3.1.4"/> + <keyword type="function" name="gnutls_ocsp_status_request_get2 ()" link="gnutls-gnutls.html#gnutls-ocsp-status-request-get2" since="3.6.3"/> + <keyword type="function" name="gnutls_certificate_set_rawpk_key_mem ()" link="gnutls-gnutls.html#gnutls-certificate-set-rawpk-key-mem" since="3.6.6"/> + <keyword type="function" name="gnutls_certificate_set_rawpk_key_file ()" link="gnutls-gnutls.html#gnutls-certificate-set-rawpk-key-file" since="3.6.6"/> + <keyword type="function" name="gnutls_global_init ()" link="gnutls-gnutls.html#gnutls-global-init"/> + <keyword type="function" name="gnutls_global_deinit ()" link="gnutls-gnutls.html#gnutls-global-deinit"/> + <keyword type="function" name="gnutls_get_library_config ()" link="gnutls-gnutls.html#gnutls-get-library-config" since="3.7.3"/> + <keyword type="function" name="gnutls_time_func ()" link="gnutls-gnutls.html#gnutls-time-func"/> + <keyword type="function" name="mutex_init_func ()" link="gnutls-gnutls.html#mutex-init-func"/> + <keyword type="function" name="mutex_lock_func ()" link="gnutls-gnutls.html#mutex-lock-func"/> + <keyword type="function" name="mutex_unlock_func ()" link="gnutls-gnutls.html#mutex-unlock-func"/> + <keyword type="function" name="mutex_deinit_func ()" link="gnutls-gnutls.html#mutex-deinit-func"/> + <keyword type="function" name="gnutls_global_set_mutex ()" link="gnutls-gnutls.html#gnutls-global-set-mutex" deprecated="This function is discouraged on GnuTLS 3.7.3 or later." since="2.12.0"/> + <keyword type="function" name="gnutls_alloc_function ()" link="gnutls-gnutls.html#gnutls-alloc-function"/> + <keyword type="function" name="gnutls_calloc_function ()" link="gnutls-gnutls.html#gnutls-calloc-function"/> + <keyword type="function" name="gnutls_is_secure_function ()" link="gnutls-gnutls.html#gnutls-is-secure-function"/> + <keyword type="function" name="gnutls_free_function ()" link="gnutls-gnutls.html#gnutls-free-function"/> + <keyword type="function" name="gnutls_realloc_function ()" link="gnutls-gnutls.html#gnutls-realloc-function"/> + <keyword type="function" name="gnutls_global_set_time_function ()" link="gnutls-gnutls.html#gnutls-global-set-time-function" since="2.12.0"/> + <keyword type="macro" name="gnutls_free()" link="gnutls-gnutls.html#gnutls-free"/> + <keyword type="function" name="gnutls_memset ()" link="gnutls-gnutls.html#gnutls-memset" since="3.4.0"/> + <keyword type="function" name="gnutls_memcmp ()" link="gnutls-gnutls.html#gnutls-memcmp" since="3.4.0"/> + <keyword type="function" name="gnutls_log_func ()" link="gnutls-gnutls.html#gnutls-log-func"/> + <keyword type="function" name="gnutls_audit_log_func ()" link="gnutls-gnutls.html#gnutls-audit-log-func"/> + <keyword type="function" name="gnutls_global_set_log_function ()" link="gnutls-gnutls.html#gnutls-global-set-log-function"/> + <keyword type="function" name="gnutls_global_set_audit_log_function ()" link="gnutls-gnutls.html#gnutls-global-set-audit-log-function" since="3.0"/> + <keyword type="function" name="gnutls_global_set_log_level ()" link="gnutls-gnutls.html#gnutls-global-set-log-level"/> + <keyword type="function" name="gnutls_keylog_func ()" link="gnutls-gnutls.html#gnutls-keylog-func" since="3.6.13"/> + <keyword type="function" name="gnutls_session_get_keylog_function ()" link="gnutls-gnutls.html#gnutls-session-get-keylog-function" since="3.6.13"/> + <keyword type="function" name="gnutls_session_set_keylog_function ()" link="gnutls-gnutls.html#gnutls-session-set-keylog-function" since="3.6.13"/> + <keyword type="function" name="gnutls_dh_params_init ()" link="gnutls-gnutls.html#gnutls-dh-params-init"/> + <keyword type="function" name="gnutls_dh_params_deinit ()" link="gnutls-gnutls.html#gnutls-dh-params-deinit"/> + <keyword type="function" name="gnutls_dh_params_import_raw ()" link="gnutls-gnutls.html#gnutls-dh-params-import-raw"/> + <keyword type="function" name="gnutls_dh_params_import_dsa ()" link="gnutls-gnutls.html#gnutls-dh-params-import-dsa"/> + <keyword type="function" name="gnutls_dh_params_import_raw2 ()" link="gnutls-gnutls.html#gnutls-dh-params-import-raw2"/> + <keyword type="function" name="gnutls_dh_params_import_raw3 ()" link="gnutls-gnutls.html#gnutls-dh-params-import-raw3"/> + <keyword type="function" name="gnutls_dh_params_import_pkcs3 ()" link="gnutls-gnutls.html#gnutls-dh-params-import-pkcs3"/> + <keyword type="function" name="gnutls_dh_params_generate2 ()" link="gnutls-gnutls.html#gnutls-dh-params-generate2"/> + <keyword type="function" name="gnutls_dh_params_export_pkcs3 ()" link="gnutls-gnutls.html#gnutls-dh-params-export-pkcs3"/> + <keyword type="function" name="gnutls_dh_params_export2_pkcs3 ()" link="gnutls-gnutls.html#gnutls-dh-params-export2-pkcs3" since="3.1.3"/> + <keyword type="function" name="gnutls_dh_params_export_raw ()" link="gnutls-gnutls.html#gnutls-dh-params-export-raw"/> + <keyword type="function" name="gnutls_dh_params_cpy ()" link="gnutls-gnutls.html#gnutls-dh-params-cpy"/> + <keyword type="function" name="gnutls_pull_func ()" link="gnutls-gnutls.html#gnutls-pull-func"/> + <keyword type="function" name="gnutls_push_func ()" link="gnutls-gnutls.html#gnutls-push-func"/> + <keyword type="function" name="gnutls_system_recv_timeout ()" link="gnutls-gnutls.html#gnutls-system-recv-timeout" since="3.4.0"/> + <keyword type="function" name="gnutls_pull_timeout_func ()" link="gnutls-gnutls.html#gnutls-pull-timeout-func"/> + <keyword type="function" name="gnutls_vec_push_func ()" link="gnutls-gnutls.html#gnutls-vec-push-func"/> + <keyword type="function" name="gnutls_errno_func ()" link="gnutls-gnutls.html#gnutls-errno-func"/> + <keyword type="function" name="gnutls_transport_set_int ()" link="gnutls-gnutls.html#gnutls-transport-set-int" since="3.1.9"/> + <keyword type="function" name="gnutls_transport_set_int2 ()" link="gnutls-gnutls.html#gnutls-transport-set-int2" since="3.1.9"/> + <keyword type="function" name="gnutls_transport_get_int2 ()" link="gnutls-gnutls.html#gnutls-transport-get-int2" since="3.1.9"/> + <keyword type="function" name="gnutls_transport_get_int ()" link="gnutls-gnutls.html#gnutls-transport-get-int" since="3.1.9"/> + <keyword type="function" name="gnutls_transport_set_ptr ()" link="gnutls-gnutls.html#gnutls-transport-set-ptr"/> + <keyword type="function" name="gnutls_transport_set_ptr2 ()" link="gnutls-gnutls.html#gnutls-transport-set-ptr2"/> + <keyword type="function" name="gnutls_transport_get_ptr ()" link="gnutls-gnutls.html#gnutls-transport-get-ptr"/> + <keyword type="function" name="gnutls_transport_get_ptr2 ()" link="gnutls-gnutls.html#gnutls-transport-get-ptr2"/> + <keyword type="function" name="gnutls_transport_set_vec_push_function ()" link="gnutls-gnutls.html#gnutls-transport-set-vec-push-function" since="2.12.0"/> + <keyword type="function" name="gnutls_transport_set_push_function ()" link="gnutls-gnutls.html#gnutls-transport-set-push-function"/> + <keyword type="function" name="gnutls_transport_set_pull_function ()" link="gnutls-gnutls.html#gnutls-transport-set-pull-function"/> + <keyword type="function" name="gnutls_transport_set_pull_timeout_function ()" link="gnutls-gnutls.html#gnutls-transport-set-pull-timeout-function" since="3.0"/> + <keyword type="function" name="gnutls_transport_set_errno_function ()" link="gnutls-gnutls.html#gnutls-transport-set-errno-function" since="2.12.0"/> + <keyword type="function" name="gnutls_transport_set_errno ()" link="gnutls-gnutls.html#gnutls-transport-set-errno"/> + <keyword type="function" name="gnutls_session_set_ptr ()" link="gnutls-gnutls.html#gnutls-session-set-ptr"/> + <keyword type="function" name="gnutls_session_get_ptr ()" link="gnutls-gnutls.html#gnutls-session-get-ptr"/> + <keyword type="function" name="gnutls_openpgp_send_cert ()" link="gnutls-gnutls.html#gnutls-openpgp-send-cert"/> + <keyword type="function" name="gnutls_fingerprint ()" link="gnutls-gnutls.html#gnutls-fingerprint"/> + <keyword type="function" name="gnutls_random_art ()" link="gnutls-gnutls.html#gnutls-random-art"/> + <keyword type="function" name="gnutls_idna_map ()" link="gnutls-gnutls.html#gnutls-idna-map" since="3.5.8"/> + <keyword type="function" name="gnutls_idna_reverse_map ()" link="gnutls-gnutls.html#gnutls-idna-reverse-map" since="3.5.8"/> + <keyword type="function" name="gnutls_srp_free_client_credentials ()" link="gnutls-gnutls.html#gnutls-srp-free-client-credentials"/> + <keyword type="function" name="gnutls_srp_allocate_client_credentials ()" link="gnutls-gnutls.html#gnutls-srp-allocate-client-credentials"/> + <keyword type="function" name="gnutls_srp_set_client_credentials ()" link="gnutls-gnutls.html#gnutls-srp-set-client-credentials"/> + <keyword type="function" name="gnutls_srp_free_server_credentials ()" link="gnutls-gnutls.html#gnutls-srp-free-server-credentials"/> + <keyword type="function" name="gnutls_srp_allocate_server_credentials ()" link="gnutls-gnutls.html#gnutls-srp-allocate-server-credentials"/> + <keyword type="function" name="gnutls_srp_set_server_credentials_file ()" link="gnutls-gnutls.html#gnutls-srp-set-server-credentials-file"/> + <keyword type="function" name="gnutls_srp_server_get_username ()" link="gnutls-gnutls.html#gnutls-srp-server-get-username"/> + <keyword type="function" name="gnutls_srp_set_prime_bits ()" link="gnutls-gnutls.html#gnutls-srp-set-prime-bits" since="2.6.0"/> + <keyword type="function" name="gnutls_srp_verifier ()" link="gnutls-gnutls.html#gnutls-srp-verifier"/> + <keyword type="function" name="gnutls_srp_set_server_credentials_function ()" link="gnutls-gnutls.html#gnutls-srp-set-server-credentials-function"/> + <keyword type="function" name="gnutls_srp_set_client_credentials_function ()" link="gnutls-gnutls.html#gnutls-srp-set-client-credentials-function"/> + <keyword type="function" name="gnutls_srp_base64_encode ()" link="gnutls-gnutls.html#gnutls-srp-base64-encode"/> + <keyword type="function" name="gnutls_srp_base64_encode2 ()" link="gnutls-gnutls.html#gnutls-srp-base64-encode2"/> + <keyword type="function" name="gnutls_srp_base64_decode ()" link="gnutls-gnutls.html#gnutls-srp-base64-decode"/> + <keyword type="function" name="gnutls_srp_base64_decode2 ()" link="gnutls-gnutls.html#gnutls-srp-base64-decode2"/> + <keyword type="function" name="gnutls_srp_set_server_fake_salt_seed ()" link="gnutls-gnutls.html#gnutls-srp-set-server-fake-salt-seed" since="3.3.0"/> + <keyword type="function" name="gnutls_psk_free_client_credentials ()" link="gnutls-gnutls.html#gnutls-psk-free-client-credentials"/> + <keyword type="function" name="gnutls_psk_allocate_client_credentials ()" link="gnutls-gnutls.html#gnutls-psk-allocate-client-credentials"/> + <keyword type="function" name="gnutls_psk_set_client_credentials ()" link="gnutls-gnutls.html#gnutls-psk-set-client-credentials"/> + <keyword type="function" name="gnutls_psk_set_client_credentials2 ()" link="gnutls-gnutls.html#gnutls-psk-set-client-credentials2"/> + <keyword type="function" name="gnutls_psk_free_server_credentials ()" link="gnutls-gnutls.html#gnutls-psk-free-server-credentials"/> + <keyword type="function" name="gnutls_psk_allocate_server_credentials ()" link="gnutls-gnutls.html#gnutls-psk-allocate-server-credentials"/> + <keyword type="function" name="gnutls_psk_set_server_credentials_file ()" link="gnutls-gnutls.html#gnutls-psk-set-server-credentials-file"/> + <keyword type="function" name="gnutls_psk_set_server_credentials_hint ()" link="gnutls-gnutls.html#gnutls-psk-set-server-credentials-hint" since="2.4.0"/> + <keyword type="function" name="gnutls_psk_server_get_username ()" link="gnutls-gnutls.html#gnutls-psk-server-get-username"/> + <keyword type="function" name="gnutls_psk_server_get_username2 ()" link="gnutls-gnutls.html#gnutls-psk-server-get-username2"/> + <keyword type="function" name="gnutls_psk_client_get_hint ()" link="gnutls-gnutls.html#gnutls-psk-client-get-hint" since="2.4.0"/> + <keyword type="function" name="gnutls_psk_set_server_credentials_function ()" link="gnutls-gnutls.html#gnutls-psk-set-server-credentials-function"/> + <keyword type="function" name="gnutls_psk_set_server_credentials_function2 ()" link="gnutls-gnutls.html#gnutls-psk-set-server-credentials-function2"/> + <keyword type="function" name="gnutls_psk_set_client_credentials_function ()" link="gnutls-gnutls.html#gnutls-psk-set-client-credentials-function"/> + <keyword type="function" name="gnutls_psk_set_client_credentials_function2 ()" link="gnutls-gnutls.html#gnutls-psk-set-client-credentials-function2"/> + <keyword type="function" name="gnutls_hex_encode ()" link="gnutls-gnutls.html#gnutls-hex-encode"/> + <keyword type="function" name="gnutls_hex_decode ()" link="gnutls-gnutls.html#gnutls-hex-decode"/> + <keyword type="function" name="gnutls_hex_encode2 ()" link="gnutls-gnutls.html#gnutls-hex-encode2"/> + <keyword type="function" name="gnutls_hex_decode2 ()" link="gnutls-gnutls.html#gnutls-hex-decode2"/> + <keyword type="function" name="gnutls_psk_set_server_dh_params ()" link="gnutls-gnutls.html#gnutls-psk-set-server-dh-params" deprecated=""/> + <keyword type="function" name="gnutls_psk_set_server_known_dh_params ()" link="gnutls-gnutls.html#gnutls-psk-set-server-known-dh-params" deprecated="" since="3.5.6"/> + <keyword type="function" name="gnutls_psk_set_server_params_function ()" link="gnutls-gnutls.html#gnutls-psk-set-server-params-function" deprecated=""/> + <keyword type="function" name="gnutls_dh_set_prime_bits ()" link="gnutls-gnutls.html#gnutls-dh-set-prime-bits"/> + <keyword type="function" name="gnutls_dh_get_secret_bits ()" link="gnutls-gnutls.html#gnutls-dh-get-secret-bits"/> + <keyword type="function" name="gnutls_dh_get_peers_public_bits ()" link="gnutls-gnutls.html#gnutls-dh-get-peers-public-bits"/> + <keyword type="function" name="gnutls_dh_get_prime_bits ()" link="gnutls-gnutls.html#gnutls-dh-get-prime-bits"/> + <keyword type="function" name="gnutls_dh_get_group ()" link="gnutls-gnutls.html#gnutls-dh-get-group"/> + <keyword type="function" name="gnutls_dh_get_pubkey ()" link="gnutls-gnutls.html#gnutls-dh-get-pubkey"/> + <keyword type="function" name="gnutls_certificate_set_retrieve_function ()" link="gnutls-gnutls.html#gnutls-certificate-set-retrieve-function" since="3.0"/> + <keyword type="function" name="gnutls_certificate_set_verify_function ()" link="gnutls-gnutls.html#gnutls-certificate-set-verify-function" since="2.10.0"/> + <keyword type="function" name="gnutls_certificate_server_set_request ()" link="gnutls-gnutls.html#gnutls-certificate-server-set-request"/> + <keyword type="function" name="gnutls_certificate_get_peers ()" link="gnutls-gnutls.html#gnutls-certificate-get-peers"/> + <keyword type="function" name="gnutls_certificate_get_ours ()" link="gnutls-gnutls.html#gnutls-certificate-get-ours"/> + <keyword type="function" name="gnutls_certificate_get_peers_subkey_id ()" link="gnutls-gnutls.html#gnutls-certificate-get-peers-subkey-id" since="3.1.3"/> + <keyword type="function" name="gnutls_certificate_activation_time_peers ()" link="gnutls-gnutls.html#gnutls-certificate-activation-time-peers" deprecated="gnutls_certificate_verify_peers2() now verifies activation times."/> + <keyword type="function" name="gnutls_certificate_expiration_time_peers ()" link="gnutls-gnutls.html#gnutls-certificate-expiration-time-peers" deprecated="gnutls_certificate_verify_peers2() now verifies expiration times."/> + <keyword type="function" name="gnutls_certificate_client_get_request_status ()" link="gnutls-gnutls.html#gnutls-certificate-client-get-request-status"/> + <keyword type="function" name="gnutls_certificate_verify_peers2 ()" link="gnutls-gnutls.html#gnutls-certificate-verify-peers2"/> + <keyword type="function" name="gnutls_certificate_verify_peers3 ()" link="gnutls-gnutls.html#gnutls-certificate-verify-peers3" since="3.1.4"/> + <keyword type="function" name="gnutls_certificate_verify_peers ()" link="gnutls-gnutls.html#gnutls-certificate-verify-peers" since="3.3.0"/> + <keyword type="function" name="gnutls_certificate_verification_status_print ()" link="gnutls-gnutls.html#gnutls-certificate-verification-status-print" since="3.1.4"/> + <keyword type="function" name="gnutls_pem_base64_encode ()" link="gnutls-gnutls.html#gnutls-pem-base64-encode"/> + <keyword type="function" name="gnutls_pem_base64_decode ()" link="gnutls-gnutls.html#gnutls-pem-base64-decode"/> + <keyword type="function" name="gnutls_pem_base64_encode2 ()" link="gnutls-gnutls.html#gnutls-pem-base64-encode2" since="3.4.0"/> + <keyword type="function" name="gnutls_pem_base64_decode2 ()" link="gnutls-gnutls.html#gnutls-pem-base64-decode2" since="3.4.0"/> + <keyword type="function" name="gnutls_base64_encode2 ()" link="gnutls-gnutls.html#gnutls-base64-encode2" since="3.6.0"/> + <keyword type="function" name="gnutls_base64_decode2 ()" link="gnutls-gnutls.html#gnutls-base64-decode2" since="3.6.0"/> + <keyword type="function" name="gnutls_certificate_set_params_function ()" link="gnutls-gnutls.html#gnutls-certificate-set-params-function" deprecated=""/> + <keyword type="function" name="gnutls_anon_set_params_function ()" link="gnutls-gnutls.html#gnutls-anon-set-params-function" deprecated=""/> + <keyword type="function" name="gnutls_psk_set_params_function ()" link="gnutls-gnutls.html#gnutls-psk-set-params-function" deprecated=""/> + <keyword type="function" name="gnutls_hex2bin ()" link="gnutls-gnutls.html#gnutls-hex2bin" since="2.4.0"/> + <keyword type="function" name="gnutls_tdb_store_func ()" link="gnutls-gnutls.html#gnutls-tdb-store-func"/> + <keyword type="function" name="gnutls_tdb_store_commitment_func ()" link="gnutls-gnutls.html#gnutls-tdb-store-commitment-func"/> + <keyword type="function" name="gnutls_tdb_verify_func ()" link="gnutls-gnutls.html#gnutls-tdb-verify-func"/> + <keyword type="function" name="gnutls_tdb_init ()" link="gnutls-gnutls.html#gnutls-tdb-init"/> + <keyword type="function" name="gnutls_tdb_set_store_func ()" link="gnutls-gnutls.html#gnutls-tdb-set-store-func"/> + <keyword type="function" name="gnutls_tdb_set_store_commitment_func ()" link="gnutls-gnutls.html#gnutls-tdb-set-store-commitment-func"/> + <keyword type="function" name="gnutls_tdb_set_verify_func ()" link="gnutls-gnutls.html#gnutls-tdb-set-verify-func"/> + <keyword type="function" name="gnutls_tdb_deinit ()" link="gnutls-gnutls.html#gnutls-tdb-deinit"/> + <keyword type="function" name="gnutls_verify_stored_pubkey ()" link="gnutls-gnutls.html#gnutls-verify-stored-pubkey" since="3.0.13"/> + <keyword type="function" name="gnutls_store_commitment ()" link="gnutls-gnutls.html#gnutls-store-commitment" since="3.0"/> + <keyword type="function" name="gnutls_store_pubkey ()" link="gnutls-gnutls.html#gnutls-store-pubkey" since="3.0.13"/> + <keyword type="function" name="gnutls_load_file ()" link="gnutls-gnutls.html#gnutls-load-file"/> + <keyword type="function" name="gnutls_url_is_supported ()" link="gnutls-gnutls.html#gnutls-url-is-supported" since="3.1.0"/> + <keyword type="function" name="gnutls_pin_callback_t ()" link="gnutls-gnutls.html#gnutls-pin-callback-t" since="2.12.0"/> + <keyword type="function" name="gnutls_certificate_set_pin_function ()" link="gnutls-gnutls.html#gnutls-certificate-set-pin-function"/> + <keyword type="function" name="gnutls_buffer_append_data ()" link="gnutls-gnutls.html#gnutls-buffer-append-data" since="3.4.0"/> + <keyword type="function" name="gnutls_utf8_password_normalize ()" link="gnutls-gnutls.html#gnutls-utf8-password-normalize" since="3.5.7"/> + <keyword type="function" name="gnutls_ext_set_data ()" link="gnutls-gnutls.html#gnutls-ext-set-data" since="3.4.0"/> + <keyword type="function" name="gnutls_ext_get_data ()" link="gnutls-gnutls.html#gnutls-ext-get-data" since="3.4.0"/> + <keyword type="function" name="gnutls_ext_get_current_msg ()" link="gnutls-gnutls.html#gnutls-ext-get-current-msg" since="3.6.3"/> + <keyword type="function" name="gnutls_ext_recv_func ()" link="gnutls-gnutls.html#gnutls-ext-recv-func"/> + <keyword type="function" name="gnutls_ext_send_func ()" link="gnutls-gnutls.html#gnutls-ext-send-func"/> + <keyword type="function" name="gnutls_ext_deinit_data_func ()" link="gnutls-gnutls.html#gnutls-ext-deinit-data-func"/> + <keyword type="function" name="gnutls_ext_pack_func ()" link="gnutls-gnutls.html#gnutls-ext-pack-func"/> + <keyword type="function" name="gnutls_ext_unpack_func ()" link="gnutls-gnutls.html#gnutls-ext-unpack-func"/> + <keyword type="function" name="gnutls_ext_raw_process_func ()" link="gnutls-gnutls.html#gnutls-ext-raw-process-func"/> + <keyword type="function" name="gnutls_ext_raw_parse ()" link="gnutls-gnutls.html#gnutls-ext-raw-parse" since="3.6.3"/> + <keyword type="function" name="gnutls_ext_register ()" link="gnutls-gnutls.html#gnutls-ext-register" since="3.4.0"/> + <keyword type="function" name="gnutls_session_ext_register ()" link="gnutls-gnutls.html#gnutls-session-ext-register" since="3.5.5"/> + <keyword type="function" name="gnutls_ext_get_name ()" link="gnutls-gnutls.html#gnutls-ext-get-name"/> + <keyword type="function" name="gnutls_ext_get_name2 ()" link="gnutls-gnutls.html#gnutls-ext-get-name2"/> + <keyword type="function" name="gnutls_supp_recv_func ()" link="gnutls-gnutls.html#gnutls-supp-recv-func"/> + <keyword type="function" name="gnutls_supp_send_func ()" link="gnutls-gnutls.html#gnutls-supp-send-func"/> + <keyword type="function" name="gnutls_supplemental_register ()" link="gnutls-gnutls.html#gnutls-supplemental-register" since="3.4.0"/> + <keyword type="function" name="gnutls_session_supplemental_register ()" link="gnutls-gnutls.html#gnutls-session-supplemental-register" since="3.5.5"/> + <keyword type="function" name="gnutls_supplemental_recv ()" link="gnutls-gnutls.html#gnutls-supplemental-recv" since="3.4.0"/> + <keyword type="function" name="gnutls_supplemental_send ()" link="gnutls-gnutls.html#gnutls-supplemental-send" since="3.4.0"/> + <keyword type="function" name="gnutls_anti_replay_init ()" link="gnutls-gnutls.html#gnutls-anti-replay-init" since="3.6.5"/> + <keyword type="function" name="gnutls_anti_replay_deinit ()" link="gnutls-gnutls.html#gnutls-anti-replay-deinit" since="3.6.5"/> + <keyword type="function" name="gnutls_anti_replay_set_window ()" link="gnutls-gnutls.html#gnutls-anti-replay-set-window" since="3.6.5"/> + <keyword type="function" name="gnutls_anti_replay_enable ()" link="gnutls-gnutls.html#gnutls-anti-replay-enable" since="3.6.5"/> + <keyword type="function" name="gnutls_db_add_func ()" link="gnutls-gnutls.html#gnutls-db-add-func"/> + <keyword type="function" name="gnutls_anti_replay_set_add_function ()" link="gnutls-gnutls.html#gnutls-anti-replay-set-add-function" since="3.6.5"/> + <keyword type="function" name="gnutls_anti_replay_set_ptr ()" link="gnutls-gnutls.html#gnutls-anti-replay-set-ptr"/> + <keyword type="function" name="gnutls_handshake_read_func ()" link="gnutls-gnutls.html#gnutls-handshake-read-func" since="3.7.0"/> + <keyword type="function" name="gnutls_handshake_set_read_function ()" link="gnutls-gnutls.html#gnutls-handshake-set-read-function" since="3.7.0"/> + <keyword type="function" name="gnutls_handshake_write ()" link="gnutls-gnutls.html#gnutls-handshake-write" since="3.7.0"/> + <keyword type="function" name="gnutls_handshake_secret_func ()" link="gnutls-gnutls.html#gnutls-handshake-secret-func" since="3.7.0"/> + <keyword type="function" name="gnutls_handshake_set_secret_function ()" link="gnutls-gnutls.html#gnutls-handshake-set-secret-function" since="3.7.0"/> + <keyword type="function" name="gnutls_alert_read_func ()" link="gnutls-gnutls.html#gnutls-alert-read-func" since="3.7.0"/> + <keyword type="function" name="gnutls_alert_set_read_function ()" link="gnutls-gnutls.html#gnutls-alert-set-read-function" since="3.7.0"/> + <keyword type="function" name="gnutls_fips140_mode_enabled ()" link="gnutls-gnutls.html#gnutls-fips140-mode-enabled" since="3.3.0"/> + <keyword type="function" name="gnutls_fips140_set_mode ()" link="gnutls-gnutls.html#gnutls-fips140-set-mode" since="3.6.2"/> + <keyword type="macro" name="GNUTLS_FIPS140_SET_LAX_MODE" link="gnutls-gnutls.html#GNUTLS-FIPS140-SET-LAX-MODE:CAPS"/> + <keyword type="macro" name="GNUTLS_FIPS140_SET_STRICT_MODE" link="gnutls-gnutls.html#GNUTLS-FIPS140-SET-STRICT-MODE:CAPS"/> + <keyword type="function" name="gnutls_fips140_context_init ()" link="gnutls-gnutls.html#gnutls-fips140-context-init" since="3.7.3"/> + <keyword type="function" name="gnutls_fips140_context_deinit ()" link="gnutls-gnutls.html#gnutls-fips140-context-deinit" since="3.7.3"/> + <keyword type="function" name="gnutls_fips140_get_operation_state ()" link="gnutls-gnutls.html#gnutls-fips140-get-operation-state" since="3.7.3"/> + <keyword type="function" name="gnutls_fips140_push_context ()" link="gnutls-gnutls.html#gnutls-fips140-push-context" since="3.7.3"/> + <keyword type="function" name="gnutls_fips140_pop_context ()" link="gnutls-gnutls.html#gnutls-fips140-pop-context" since="3.7.3"/> + <keyword type="function" name="gnutls_fips140_run_self_tests ()" link="gnutls-gnutls.html#gnutls-fips140-run-self-tests" since="3.7.7"/> + <keyword type="macro" name="GNUTLS_VERSION" link="gnutls-gnutls.html#GNUTLS-VERSION:CAPS"/> + <keyword type="macro" name="GNUTLS_VERSION_MAJOR" link="gnutls-gnutls.html#GNUTLS-VERSION-MAJOR:CAPS"/> + <keyword type="macro" name="GNUTLS_VERSION_MINOR" link="gnutls-gnutls.html#GNUTLS-VERSION-MINOR:CAPS"/> + <keyword type="macro" name="GNUTLS_VERSION_PATCH" link="gnutls-gnutls.html#GNUTLS-VERSION-PATCH:CAPS"/> + <keyword type="macro" name="GNUTLS_VERSION_NUMBER" link="gnutls-gnutls.html#GNUTLS-VERSION-NUMBER:CAPS"/> + <keyword type="macro" name="GNUTLS_CIPHER_RIJNDAEL_128_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-128-CBC:CAPS"/> + <keyword type="macro" name="GNUTLS_CIPHER_RIJNDAEL_256_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-256-CBC:CAPS"/> + <keyword type="macro" name="GNUTLS_CIPHER_RIJNDAEL_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-CBC:CAPS"/> + <keyword type="macro" name="GNUTLS_CIPHER_ARCFOUR" link="gnutls-gnutls.html#GNUTLS-CIPHER-ARCFOUR:CAPS"/> + <keyword type="macro" name="GNUTLS_SKIP_GLOBAL_INIT" link="gnutls-gnutls.html#GNUTLS-SKIP-GLOBAL-INIT:CAPS"/> + <keyword type="enum" name="enum gnutls_cipher_algorithm_t" link="gnutls-gnutls.html#gnutls-cipher-algorithm-t"/> + <keyword type="enum" name="enum gnutls_kx_algorithm_t" link="gnutls-gnutls.html#gnutls-kx-algorithm-t"/> + <keyword type="enum" name="enum gnutls_params_type_t" link="gnutls-gnutls.html#gnutls-params-type-t"/> + <keyword type="enum" name="enum gnutls_credentials_type_t" link="gnutls-gnutls.html#gnutls-credentials-type-t"/> + <keyword type="macro" name="GNUTLS_MAC_SHA" link="gnutls-gnutls.html#GNUTLS-MAC-SHA:CAPS"/> + <keyword type="macro" name="GNUTLS_DIG_SHA" link="gnutls-gnutls.html#GNUTLS-DIG-SHA:CAPS"/> + <keyword type="enum" name="enum gnutls_mac_algorithm_t" link="gnutls-gnutls.html#gnutls-mac-algorithm-t"/> + <keyword type="enum" name="enum gnutls_digest_algorithm_t" link="gnutls-gnutls.html#gnutls-digest-algorithm-t"/> + <keyword type="macro" name="GNUTLS_MAX_ALGORITHM_NUM" link="gnutls-gnutls.html#GNUTLS-MAX-ALGORITHM-NUM:CAPS"/> + <keyword type="macro" name="GNUTLS_MAX_SESSION_ID_SIZE" link="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID-SIZE:CAPS"/> + <keyword type="enum" name="enum gnutls_compression_method_t" link="gnutls-gnutls.html#gnutls-compression-method-t"/> + <keyword type="enum" name="enum gnutls_init_flags_t" link="gnutls-gnutls.html#gnutls-init-flags-t"/> + <keyword type="macro" name="GNUTLS_SERVER" link="gnutls-gnutls.html#GNUTLS-SERVER:CAPS"/> + <keyword type="macro" name="GNUTLS_CLIENT" link="gnutls-gnutls.html#GNUTLS-CLIENT:CAPS"/> + <keyword type="macro" name="GNUTLS_DATAGRAM" link="gnutls-gnutls.html#GNUTLS-DATAGRAM:CAPS"/> + <keyword type="macro" name="GNUTLS_NONBLOCK" link="gnutls-gnutls.html#GNUTLS-NONBLOCK:CAPS"/> + <keyword type="macro" name="GNUTLS_NO_EXTENSIONS" link="gnutls-gnutls.html#GNUTLS-NO-EXTENSIONS:CAPS"/> + <keyword type="macro" name="GNUTLS_NO_REPLAY_PROTECTION" link="gnutls-gnutls.html#GNUTLS-NO-REPLAY-PROTECTION:CAPS"/> + <keyword type="macro" name="GNUTLS_NO_SIGNAL" link="gnutls-gnutls.html#GNUTLS-NO-SIGNAL:CAPS"/> + <keyword type="macro" name="GNUTLS_ALLOW_ID_CHANGE" link="gnutls-gnutls.html#GNUTLS-ALLOW-ID-CHANGE:CAPS"/> + <keyword type="macro" name="GNUTLS_ENABLE_FALSE_START" link="gnutls-gnutls.html#GNUTLS-ENABLE-FALSE-START:CAPS"/> + <keyword type="macro" name="GNUTLS_FORCE_CLIENT_CERT" link="gnutls-gnutls.html#GNUTLS-FORCE-CLIENT-CERT:CAPS"/> + <keyword type="macro" name="GNUTLS_NO_TICKETS" link="gnutls-gnutls.html#GNUTLS-NO-TICKETS:CAPS"/> + <keyword type="macro" name="GNUTLS_ENABLE_CERT_TYPE_NEG" link="gnutls-gnutls.html#GNUTLS-ENABLE-CERT-TYPE-NEG:CAPS"/> + <keyword type="enum" name="enum gnutls_alert_level_t" link="gnutls-gnutls.html#gnutls-alert-level-t"/> + <keyword type="enum" name="enum gnutls_alert_description_t" link="gnutls-gnutls.html#gnutls-alert-description-t"/> + <keyword type="enum" name="enum gnutls_handshake_description_t" link="gnutls-gnutls.html#gnutls-handshake-description-t"/> + <keyword type="macro" name="GNUTLS_HANDSHAKE_ANY" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-ANY:CAPS"/> + <keyword type="enum" name="enum gnutls_certificate_status_t" link="gnutls-gnutls.html#gnutls-certificate-status-t"/> + <keyword type="enum" name="enum gnutls_certificate_request_t" link="gnutls-gnutls.html#gnutls-certificate-request-t"/> + <keyword type="enum" name="enum gnutls_openpgp_crt_status_t" link="gnutls-gnutls.html#gnutls-openpgp-crt-status-t"/> + <keyword type="enum" name="enum gnutls_close_request_t" link="gnutls-gnutls.html#gnutls-close-request-t"/> + <keyword type="enum" name="enum gnutls_protocol_t" link="gnutls-gnutls.html#gnutls-protocol-t"/> + <keyword type="macro" name="GNUTLS_CRT_RAW" link="gnutls-gnutls.html#GNUTLS-CRT-RAW:CAPS"/> + <keyword type="enum" name="enum gnutls_certificate_type_t" link="gnutls-gnutls.html#gnutls-certificate-type-t"/> + <keyword type="enum" name="enum gnutls_x509_crt_fmt_t" link="gnutls-gnutls.html#gnutls-x509-crt-fmt-t"/> + <keyword type="enum" name="enum gnutls_certificate_print_formats_t" link="gnutls-gnutls.html#gnutls-certificate-print-formats-t"/> + <keyword type="macro" name="GNUTLS_PK_ECC" link="gnutls-gnutls.html#GNUTLS-PK-ECC:CAPS"/> + <keyword type="macro" name="GNUTLS_PK_EC" link="gnutls-gnutls.html#GNUTLS-PK-EC:CAPS"/> + <keyword type="macro" name="GNUTLS_PK_ECDHX" link="gnutls-gnutls.html#GNUTLS-PK-ECDHX:CAPS"/> + <keyword type="enum" name="enum gnutls_pk_algorithm_t" link="gnutls-gnutls.html#gnutls-pk-algorithm-t"/> + <keyword type="enum" name="enum gnutls_sign_algorithm_t" link="gnutls-gnutls.html#gnutls-sign-algorithm-t"/> + <keyword type="enum" name="enum gnutls_ecc_curve_t" link="gnutls-gnutls.html#gnutls-ecc-curve-t"/> + <keyword type="enum" name="enum gnutls_group_t" link="gnutls-gnutls.html#gnutls-group-t"/> + <keyword type="enum" name="enum gnutls_sec_param_t" link="gnutls-gnutls.html#gnutls-sec-param-t"/> + <keyword type="macro" name="GNUTLS_SEC_PARAM_NORMAL" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-NORMAL:CAPS"/> + <keyword type="enum" name="enum gnutls_channel_binding_t" link="gnutls-gnutls.html#gnutls-channel-binding-t"/> + <keyword type="enum" name="enum gnutls_gost_paramset_t" link="gnutls-gnutls.html#gnutls-gost-paramset-t"/> + <keyword type="enum" name="enum gnutls_ctype_target_t" link="gnutls-gnutls.html#gnutls-ctype-target-t"/> + <keyword type="typedef" name="gnutls_transport_ptr_t" link="gnutls-gnutls.html#gnutls-transport-ptr-t"/> + <keyword type="typedef" name="gnutls_session_t" link="gnutls-gnutls.html#gnutls-session-t"/> + <keyword type="typedef" name="gnutls_dh_params_t" link="gnutls-gnutls.html#gnutls-dh-params-t"/> + <keyword type="typedef" name="gnutls_rsa_params_t" link="gnutls-gnutls.html#gnutls-rsa-params-t"/> + <keyword type="typedef" name="gnutls_priority_t" link="gnutls-gnutls.html#gnutls-priority-t"/> + <keyword type="struct" name="gnutls_datum_t" link="gnutls-gnutls.html#gnutls-datum-t"/> + <keyword type="struct" name="gnutls_library_config_st" link="gnutls-gnutls.html#gnutls-library-config-st"/> + <keyword type="struct" name="gnutls_params_st" link="gnutls-gnutls.html#gnutls-params-st"/> + <keyword type="macro" name="GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT" link="gnutls-gnutls.html#GNUTLS-DEFAULT-HANDSHAKE-TIMEOUT:CAPS"/> + <keyword type="macro" name="GNUTLS_INDEFINITE_TIMEOUT" link="gnutls-gnutls.html#GNUTLS-INDEFINITE-TIMEOUT:CAPS"/> + <keyword type="macro" name="GNUTLS_KU_PEER" link="gnutls-gnutls.html#GNUTLS-KU-PEER:CAPS"/> + <keyword type="macro" name="GNUTLS_HEARTBEAT_WAIT" link="gnutls-gnutls.html#GNUTLS-HEARTBEAT-WAIT:CAPS"/> + <keyword type="macro" name="GNUTLS_RECORD_WAIT" link="gnutls-gnutls.html#GNUTLS-RECORD-WAIT:CAPS"/> + <keyword type="struct" name="gnutls_range_st" link="gnutls-gnutls.html#gnutls-range-st"/> + <keyword type="typedef" name="gnutls_packet_t" link="gnutls-gnutls.html#gnutls-packet-t"/> + <keyword type="macro" name="gnutls_read" link="gnutls-gnutls.html#gnutls-read"/> + <keyword type="macro" name="gnutls_write" link="gnutls-gnutls.html#gnutls-write"/> + <keyword type="enum" name="enum gnutls_server_name_type_t" link="gnutls-gnutls.html#gnutls-server-name-type-t"/> + <keyword type="macro" name="GNUTLS_HB_PEER_ALLOWED_TO_SEND" link="gnutls-gnutls.html#GNUTLS-HB-PEER-ALLOWED-TO-SEND:CAPS"/> + <keyword type="macro" name="GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND" link="gnutls-gnutls.html#GNUTLS-HB-PEER-NOT-ALLOWED-TO-SEND:CAPS"/> + <keyword type="macro" name="GNUTLS_HB_LOCAL_ALLOWED_TO_SEND" link="gnutls-gnutls.html#GNUTLS-HB-LOCAL-ALLOWED-TO-SEND:CAPS"/> + <keyword type="enum" name="enum gnutls_session_flags_t" link="gnutls-gnutls.html#gnutls-session-flags-t"/> + <keyword type="enum" name="enum gnutls_supplemental_data_format_type_t" link="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t"/> + <keyword type="enum" name="enum gnutls_srtp_profile_t" link="gnutls-gnutls.html#gnutls-srtp-profile-t"/> + <keyword type="enum" name="enum gnutls_alpn_flags_t" link="gnutls-gnutls.html#gnutls-alpn-flags-t"/> + <keyword type="macro" name="GNUTLS_ALPN_MAND" link="gnutls-gnutls.html#GNUTLS-ALPN-MAND:CAPS"/> + <keyword type="macro" name="GNUTLS_PRIORITY_INIT_DEF_APPEND" link="gnutls-gnutls.html#GNUTLS-PRIORITY-INIT-DEF-APPEND:CAPS"/> + <keyword type="macro" name="GNUTLS_PRIORITY_LIST_INIT_KEYWORDS" link="gnutls-gnutls.html#GNUTLS-PRIORITY-LIST-INIT-KEYWORDS:CAPS"/> + <keyword type="macro" name="GNUTLS_PRIORITY_LIST_SPECIAL" link="gnutls-gnutls.html#GNUTLS-PRIORITY-LIST-SPECIAL:CAPS"/> + <keyword type="enum" name="enum gnutls_vdata_types_t" link="gnutls-gnutls.html#gnutls-vdata-types-t"/> + <keyword type="struct" name="gnutls_typed_vdata_st" link="gnutls-gnutls.html#gnutls-typed-vdata-st"/> + <keyword type="macro" name="GNUTLS_MAX_SESSION_ID" link="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID:CAPS"/> + <keyword type="macro" name="GNUTLS_HOOK_POST" link="gnutls-gnutls.html#GNUTLS-HOOK-POST:CAPS"/> + <keyword type="macro" name="GNUTLS_HOOK_PRE" link="gnutls-gnutls.html#GNUTLS-HOOK-PRE:CAPS"/> + <keyword type="macro" name="GNUTLS_HOOK_BOTH" link="gnutls-gnutls.html#GNUTLS-HOOK-BOTH:CAPS"/> + <keyword type="macro" name="gnutls_handshake_post_client_hello_func" link="gnutls-gnutls.html#gnutls-handshake-post-client-hello-func"/> + <keyword type="macro" name="gnutls_cred_set" link="gnutls-gnutls.html#gnutls-cred-set"/> + <keyword type="typedef" name="gnutls_pubkey_t" link="gnutls-gnutls.html#gnutls-pubkey-t"/> + <keyword type="typedef" name="gnutls_privkey_t" link="gnutls-gnutls.html#gnutls-privkey-t"/> + <keyword type="typedef" name="gnutls_x509_privkey_t" link="gnutls-gnutls.html#gnutls-x509-privkey-t"/> + <keyword type="typedef" name="gnutls_x509_crl_t" link="gnutls-gnutls.html#gnutls-x509-crl-t"/> + <keyword type="typedef" name="gnutls_x509_crt_t" link="gnutls-gnutls.html#gnutls-x509-crt-t"/> + <keyword type="typedef" name="gnutls_x509_crq_t" link="gnutls-gnutls.html#gnutls-x509-crq-t"/> + <keyword type="typedef" name="gnutls_openpgp_keyring_t" link="gnutls-gnutls.html#gnutls-openpgp-keyring-t"/> + <keyword type="enum" name="enum gnutls_certificate_flags" link="gnutls-gnutls.html#gnutls-certificate-flags"/> + <keyword type="struct" name="gnutls_ocsp_data_st" link="gnutls-gnutls.html#gnutls-ocsp-data-st"/> + <keyword type="typedef" name="giovec_t" link="gnutls-gnutls.html#giovec-t"/> + <keyword type="enum" name="enum gnutls_random_art_t" link="gnutls-gnutls.html#gnutls-random-art-t"/> + <keyword type="macro" name="GNUTLS_IDNA_FORCE_2008" link="gnutls-gnutls.html#GNUTLS-IDNA-FORCE-2008:CAPS"/> + <keyword type="macro" name="gnutls_srp_base64_encode_alloc" link="gnutls-gnutls.html#gnutls-srp-base64-encode-alloc"/> + <keyword type="macro" name="gnutls_srp_base64_decode_alloc" link="gnutls-gnutls.html#gnutls-srp-base64-decode-alloc"/> + <keyword type="enum" name="enum gnutls_psk_key_flags" link="gnutls-gnutls.html#gnutls-psk-key-flags"/> + <keyword type="enum" name="enum gnutls_x509_subject_alt_name_t" link="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t"/> + <keyword type="typedef" name="gnutls_openpgp_crt_t" link="gnutls-gnutls.html#gnutls-openpgp-crt-t"/> + <keyword type="typedef" name="gnutls_openpgp_privkey_t" link="gnutls-gnutls.html#gnutls-openpgp-privkey-t"/> + <keyword type="typedef" name="gnutls_pkcs11_privkey_t" link="gnutls-gnutls.html#gnutls-pkcs11-privkey-t"/> + <keyword type="enum" name="enum gnutls_privkey_type_t" link="gnutls-gnutls.html#gnutls-privkey-type-t"/> + <keyword type="struct" name="gnutls_retr2_st" link="gnutls-gnutls.html#gnutls-retr2-st"/> + <keyword type="macro" name="gnutls_pem_base64_encode_alloc" link="gnutls-gnutls.html#gnutls-pem-base64-encode-alloc"/> + <keyword type="macro" name="gnutls_pem_base64_decode_alloc" link="gnutls-gnutls.html#gnutls-pem-base64-decode-alloc"/> + <keyword type="macro" name="GNUTLS_KEY_DIGITAL_SIGNATURE" link="gnutls-gnutls.html#GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS"/> + <keyword type="macro" name="GNUTLS_KEY_NON_REPUDIATION" link="gnutls-gnutls.html#GNUTLS-KEY-NON-REPUDIATION:CAPS"/> + <keyword type="macro" name="GNUTLS_KEY_KEY_ENCIPHERMENT" link="gnutls-gnutls.html#GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS"/> + <keyword type="macro" name="GNUTLS_KEY_DATA_ENCIPHERMENT" link="gnutls-gnutls.html#GNUTLS-KEY-DATA-ENCIPHERMENT:CAPS"/> + <keyword type="macro" name="GNUTLS_KEY_KEY_AGREEMENT" link="gnutls-gnutls.html#GNUTLS-KEY-KEY-AGREEMENT:CAPS"/> + <keyword type="macro" name="GNUTLS_KEY_KEY_CERT_SIGN" link="gnutls-gnutls.html#GNUTLS-KEY-KEY-CERT-SIGN:CAPS"/> + <keyword type="macro" name="GNUTLS_KEY_CRL_SIGN" link="gnutls-gnutls.html#GNUTLS-KEY-CRL-SIGN:CAPS"/> + <keyword type="macro" name="GNUTLS_KEY_ENCIPHER_ONLY" link="gnutls-gnutls.html#GNUTLS-KEY-ENCIPHER-ONLY:CAPS"/> + <keyword type="macro" name="GNUTLS_KEY_DECIPHER_ONLY" link="gnutls-gnutls.html#GNUTLS-KEY-DECIPHER-ONLY:CAPS"/> + <keyword type="typedef" name="gnutls_tdb_t" link="gnutls-gnutls.html#gnutls-tdb-t"/> + <keyword type="macro" name="GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN" link="gnutls-gnutls.html#GNUTLS-SCOMMIT-FLAG-ALLOW-BROKEN:CAPS"/> + <keyword type="enum" name="enum gnutls_pin_flag_t" link="gnutls-gnutls.html#gnutls-pin-flag-t"/> + <keyword type="macro" name="GNUTLS_PKCS11_PIN_USER" link="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-USER:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_PIN_SO" link="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-SO:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_PIN_FINAL_TRY" link="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-FINAL-TRY:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_PIN_COUNT_LOW" link="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-COUNT-LOW:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_PIN_CONTEXT_SPECIFIC" link="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-CONTEXT-SPECIFIC:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_PIN_WRONG" link="gnutls-gnutls.html#GNUTLS-PKCS11-PIN-WRONG:CAPS"/> + <keyword type="typedef" name="gnutls_buffer_t" link="gnutls-gnutls.html#gnutls-buffer-t"/> + <keyword type="macro" name="GNUTLS_UTF8_IGNORE_ERRS" link="gnutls-gnutls.html#GNUTLS-UTF8-IGNORE-ERRS:CAPS"/> + <keyword type="typedef" name="gnutls_ext_priv_data_t" link="gnutls-gnutls.html#gnutls-ext-priv-data-t"/> + <keyword type="macro" name="GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO" link="gnutls-gnutls.html#GNUTLS-EXT-RAW-FLAG-TLS-CLIENT-HELLO:CAPS"/> + <keyword type="macro" name="GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO" link="gnutls-gnutls.html#GNUTLS-EXT-RAW-FLAG-DTLS-CLIENT-HELLO:CAPS"/> + <keyword type="enum" name="enum gnutls_ext_parse_type_t" link="gnutls-gnutls.html#gnutls-ext-parse-type-t"/> + <keyword type="enum" name="enum gnutls_ext_flags_t" link="gnutls-gnutls.html#gnutls-ext-flags-t"/> + <keyword type="typedef" name="gnutls_anti_replay_t" link="gnutls-gnutls.html#gnutls-anti-replay-t"/> + <keyword type="enum" name="enum gnutls_record_encryption_level_t" link="gnutls-gnutls.html#gnutls-record-encryption-level-t" since="3.7.0"/> + <keyword type="enum" name="enum gnutls_fips_mode_t" link="gnutls-gnutls.html#gnutls-fips-mode-t"/> + <keyword type="macro" name="GNUTLS_FIPS140_SET_MODE_THREAD" link="gnutls-gnutls.html#GNUTLS-FIPS140-SET-MODE-THREAD:CAPS"/> + <keyword type="typedef" name="gnutls_fips140_context_t" link="gnutls-gnutls.html#gnutls-fips140-context-t"/> + <keyword type="enum" name="enum gnutls_fips140_operation_state_t" link="gnutls-gnutls.html#gnutls-fips140-operation-state-t" since="3.7.3"/> + <keyword type="macro" name="GNUTLS_E_SUCCESS" link="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM" link="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-COMPRESSION-ALGORITHM:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNKNOWN_CIPHER_TYPE" link="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_LARGE_PACKET" link="gnutls-gnutls.html#GNUTLS-E-LARGE-PACKET:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNSUPPORTED_VERSION_PACKET" link="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-VERSION-PACKET:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TLS_PACKET_DECODING_ERROR" link="gnutls-gnutls.html#GNUTLS-E-TLS-PACKET-DECODING-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNEXPECTED_PACKET_LENGTH" link="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET-LENGTH:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INVALID_SESSION" link="gnutls-gnutls.html#GNUTLS-E-INVALID-SESSION:CAPS"/> + <keyword type="macro" name="GNUTLS_E_FATAL_ALERT_RECEIVED" link="gnutls-gnutls.html#GNUTLS-E-FATAL-ALERT-RECEIVED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNEXPECTED_PACKET" link="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET:CAPS"/> + <keyword type="macro" name="GNUTLS_E_WARNING_ALERT_RECEIVED" link="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ERROR_IN_FINISHED_PACKET" link="gnutls-gnutls.html#GNUTLS-E-ERROR-IN-FINISHED-PACKET:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET" link="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-HANDSHAKE-PACKET:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNKNOWN_CIPHER_SUITE" link="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-SUITE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNWANTED_ALGORITHM" link="gnutls-gnutls.html#GNUTLS-E-UNWANTED-ALGORITHM:CAPS"/> + <keyword type="macro" name="GNUTLS_E_MPI_SCAN_FAILED" link="gnutls-gnutls.html#GNUTLS-E-MPI-SCAN-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_DECRYPTION_FAILED" link="gnutls-gnutls.html#GNUTLS-E-DECRYPTION-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_MEMORY_ERROR" link="gnutls-gnutls.html#GNUTLS-E-MEMORY-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_DECOMPRESSION_FAILED" link="gnutls-gnutls.html#GNUTLS-E-DECOMPRESSION-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_COMPRESSION_FAILED" link="gnutls-gnutls.html#GNUTLS-E-COMPRESSION-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_AGAIN" link="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS"/> + <keyword type="macro" name="GNUTLS_E_EXPIRED" link="gnutls-gnutls.html#GNUTLS-E-EXPIRED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_DB_ERROR" link="gnutls-gnutls.html#GNUTLS-E-DB-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_SRP_PWD_ERROR" link="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_KEYFILE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-KEYFILE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INSUFFICIENT_CREDENTIALS" link="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CREDENTIALS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INSUFICIENT_CREDENTIALS" link="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CREDENTIALS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INSUFFICIENT_CRED" link="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CRED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INSUFICIENT_CRED" link="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CRED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_HASH_FAILED" link="gnutls-gnutls.html#GNUTLS-E-HASH-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_BASE64_DECODING_ERROR" link="gnutls-gnutls.html#GNUTLS-E-BASE64-DECODING-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_MPI_PRINT_FAILED" link="gnutls-gnutls.html#GNUTLS-E-MPI-PRINT-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_REHANDSHAKE" link="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_GOT_APPLICATION_DATA" link="gnutls-gnutls.html#GNUTLS-E-GOT-APPLICATION-DATA:CAPS"/> + <keyword type="macro" name="GNUTLS_E_RECORD_LIMIT_REACHED" link="gnutls-gnutls.html#GNUTLS-E-RECORD-LIMIT-REACHED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ENCRYPTION_FAILED" link="gnutls-gnutls.html#GNUTLS-E-ENCRYPTION-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PK_ENCRYPTION_FAILED" link="gnutls-gnutls.html#GNUTLS-E-PK-ENCRYPTION-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PK_DECRYPTION_FAILED" link="gnutls-gnutls.html#GNUTLS-E-PK-DECRYPTION-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PK_SIGN_FAILED" link="gnutls-gnutls.html#GNUTLS-E-PK-SIGN-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION" link="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-CRITICAL-EXTENSION:CAPS"/> + <keyword type="macro" name="GNUTLS_E_KEY_USAGE_VIOLATION" link="gnutls-gnutls.html#GNUTLS-E-KEY-USAGE-VIOLATION:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_CERTIFICATE_FOUND" link="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-FOUND:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INVALID_REQUEST" link="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS"/> + <keyword type="macro" name="GNUTLS_E_SHORT_MEMORY_BUFFER" link="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INTERRUPTED" link="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PUSH_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PUSH-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PULL_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PULL-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER" link="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER:CAPS"/> + <keyword type="macro" name="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE" link="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS1_WRONG_PAD" link="gnutls-gnutls.html#GNUTLS-E-PKCS1-WRONG-PAD:CAPS"/> + <keyword type="macro" name="GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION" link="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-EXTENSION:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INTERNAL_ERROR" link="gnutls-gnutls.html#GNUTLS-E-INTERNAL-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_DH_PRIME_UNACCEPTABLE" link="gnutls-gnutls.html#GNUTLS-E-DH-PRIME-UNACCEPTABLE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_FILE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-FILE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TOO_MANY_EMPTY_PACKETS" link="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-EMPTY-PACKETS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNKNOWN_PK_ALGORITHM" link="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PK-ALGORITHM:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS" link="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-HANDSHAKE-PACKETS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_RECEIVED_DISALLOWED_NAME" link="gnutls-gnutls.html#GNUTLS-E-RECEIVED-DISALLOWED-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CERTIFICATE_REQUIRED" link="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-REQUIRED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_TEMPORARY_RSA_PARAMS" link="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-RSA-PARAMS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_COMPRESSION_ALGORITHMS" link="gnutls-gnutls.html#GNUTLS-E-NO-COMPRESSION-ALGORITHMS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_CIPHER_SUITES" link="gnutls-gnutls.html#GNUTLS-E-NO-CIPHER-SUITES:CAPS"/> + <keyword type="macro" name="GNUTLS_E_OPENPGP_GETKEY_FAILED" link="gnutls-gnutls.html#GNUTLS-E-OPENPGP-GETKEY-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PK_SIG_VERIFY_FAILED" link="gnutls-gnutls.html#GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ILLEGAL_SRP_USERNAME" link="gnutls-gnutls.html#GNUTLS-E-ILLEGAL-SRP-USERNAME:CAPS"/> + <keyword type="macro" name="GNUTLS_E_SRP_PWD_PARSING_ERROR" link="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-PARSING-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_KEYFILE_PARSING_ERROR" link="gnutls-gnutls.html#GNUTLS-E-KEYFILE-PARSING-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_TEMPORARY_DH_PARAMS" link="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-DH-PARAMS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_ELEMENT_NOT_FOUND" link="gnutls-gnutls.html#GNUTLS-E-ASN1-ELEMENT-NOT-FOUND:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND" link="gnutls-gnutls.html#GNUTLS-E-ASN1-IDENTIFIER-NOT-FOUND:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_DER_ERROR" link="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_VALUE_NOT_FOUND" link="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-FOUND:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_GENERIC_ERROR" link="gnutls-gnutls.html#GNUTLS-E-ASN1-GENERIC-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_VALUE_NOT_VALID" link="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-VALID:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_TAG_ERROR" link="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_TAG_IMPLICIT" link="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-IMPLICIT:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_TYPE_ANY_ERROR" link="gnutls-gnutls.html#GNUTLS-E-ASN1-TYPE-ANY-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_SYNTAX_ERROR" link="gnutls-gnutls.html#GNUTLS-E-ASN1-SYNTAX-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_DER_OVERFLOW" link="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-OVERFLOW:CAPS"/> + <keyword type="macro" name="GNUTLS_E_OPENPGP_UID_REVOKED" link="gnutls-gnutls.html#GNUTLS-E-OPENPGP-UID-REVOKED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CERTIFICATE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_X509_CERTIFICATE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-X509-CERTIFICATE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CERTIFICATE_KEY_MISMATCH" link="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE" link="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-CERTIFICATE-TYPE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_X509_UNKNOWN_SAN" link="gnutls-gnutls.html#GNUTLS-E-X509-UNKNOWN-SAN:CAPS"/> + <keyword type="macro" name="GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED" link="gnutls-gnutls.html#GNUTLS-E-OPENPGP-FINGERPRINT-UNSUPPORTED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE" link="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-ATTRIBUTE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNKNOWN_HASH_ALGORITHM" link="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-HASH-ALGORITHM:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE" link="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-CONTENT-TYPE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE" link="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-BAG-TYPE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INVALID_PASSWORD" link="gnutls-gnutls.html#GNUTLS-E-INVALID-PASSWORD:CAPS"/> + <keyword type="macro" name="GNUTLS_E_MAC_VERIFY_FAILED" link="gnutls-gnutls.html#GNUTLS-E-MAC-VERIFY-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CONSTRAINT_ERROR" link="gnutls-gnutls.html#GNUTLS-E-CONSTRAINT-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_WARNING_IA_IPHF_RECEIVED" link="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-IPHF-RECEIVED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_WARNING_IA_FPHF_RECEIVED" link="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-FPHF-RECEIVED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_IA_VERIFY_FAILED" link="gnutls-gnutls.html#GNUTLS-E-IA-VERIFY-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNKNOWN_ALGORITHM" link="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-ALGORITHM:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM" link="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-SIGNATURE-ALGORITHM:CAPS"/> + <keyword type="macro" name="GNUTLS_E_SAFE_RENEGOTIATION_FAILED" link="gnutls-gnutls.html#GNUTLS-E-SAFE-RENEGOTIATION-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED" link="gnutls-gnutls.html#GNUTLS-E-UNSAFE-RENEGOTIATION-DENIED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNKNOWN_SRP_USERNAME" link="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-SRP-USERNAME:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PREMATURE_TERMINATION" link="gnutls-gnutls.html#GNUTLS-E-PREMATURE-TERMINATION:CAPS"/> + <keyword type="macro" name="GNUTLS_E_MALFORMED_CIDR" link="gnutls-gnutls.html#GNUTLS-E-MALFORMED-CIDR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_BASE64_ENCODING_ERROR" link="gnutls-gnutls.html#GNUTLS-E-BASE64-ENCODING-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY" link="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-GCRYPT-LIBRARY:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY" link="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-CRYPTO-LIBRARY:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY" link="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-LIBTASN1-LIBRARY:CAPS"/> + <keyword type="macro" name="GNUTLS_E_OPENPGP_KEYRING_ERROR" link="gnutls-gnutls.html#GNUTLS-E-OPENPGP-KEYRING-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_X509_UNSUPPORTED_OID" link="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-OID:CAPS"/> + <keyword type="macro" name="GNUTLS_E_RANDOM_FAILED" link="gnutls-gnutls.html#GNUTLS-E-RANDOM-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR" link="gnutls-gnutls.html#GNUTLS-E-BASE64-UNEXPECTED-HEADER-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_OPENPGP_SUBKEY_ERROR" link="gnutls-gnutls.html#GNUTLS-E-OPENPGP-SUBKEY-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CRYPTO_ALREADY_REGISTERED" link="gnutls-gnutls.html#GNUTLS-E-CRYPTO-ALREADY-REGISTERED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ALREADY_REGISTERED" link="gnutls-gnutls.html#GNUTLS-E-ALREADY-REGISTERED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_HANDSHAKE_TOO_LARGE" link="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-TOO-LARGE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CRYPTODEV_IOCTL_ERROR" link="gnutls-gnutls.html#GNUTLS-E-CRYPTODEV-IOCTL-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CRYPTODEV_DEVICE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-CRYPTODEV-DEVICE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE" link="gnutls-gnutls.html#GNUTLS-E-CHANNEL-BINDING-NOT-AVAILABLE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_BAD_COOKIE" link="gnutls-gnutls.html#GNUTLS-E-BAD-COOKIE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR" link="gnutls-gnutls.html#GNUTLS-E-OPENPGP-PREFERRED-KEY-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL" link="gnutls-gnutls.html#GNUTLS-E-INCOMPAT-DSA-KEY-WITH-TLS-PROTOCOL:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INSUFFICIENT_SECURITY" link="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-SECURITY:CAPS"/> + <keyword type="macro" name="GNUTLS_E_HEARTBEAT_PONG_RECEIVED" link="gnutls-gnutls.html#GNUTLS-E-HEARTBEAT-PONG-RECEIVED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_HEARTBEAT_PING_RECEIVED" link="gnutls-gnutls.html#GNUTLS-E-HEARTBEAT-PING-RECEIVED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNRECOGNIZED_NAME" link="gnutls-gnutls.html#GNUTLS-E-UNRECOGNIZED-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_LOAD_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-LOAD-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PARSING_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PARSING-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_PIN_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-PIN-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_SLOT_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-SLOT-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_LOCKING_ERROR" link="gnutls-gnutls.html#GNUTLS-E-LOCKING-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_ATTRIBUTE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-ATTRIBUTE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_DEVICE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-DEVICE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_DATA_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-DATA-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-UNSUPPORTED-FEATURE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_KEY_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-KEY-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_PIN_EXPIRED" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-PIN-EXPIRED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_PIN_LOCKED" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-PIN-LOCKED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_SESSION_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-SESSION-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_SIGNATURE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-SIGNATURE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_TOKEN_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-TOKEN-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_USER_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-USER-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CRYPTO_INIT_FAILED" link="gnutls-gnutls.html#GNUTLS-E-CRYPTO-INIT-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TIMEDOUT" link="gnutls-gnutls.html#GNUTLS-E-TIMEDOUT:CAPS"/> + <keyword type="macro" name="GNUTLS_E_USER_ERROR" link="gnutls-gnutls.html#GNUTLS-E-USER-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ECC_NO_SUPPORTED_CURVES" link="gnutls-gnutls.html#GNUTLS-E-ECC-NO-SUPPORTED-CURVES:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ECC_UNSUPPORTED_CURVE" link="gnutls-gnutls.html#GNUTLS-E-ECC-UNSUPPORTED-CURVE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE" link="gnutls-gnutls.html#GNUTLS-E-PKCS11-REQUESTED-OBJECT-NOT-AVAILBLE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CERTIFICATE_LIST_UNSORTED" link="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-LIST-UNSORTED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ILLEGAL_PARAMETER" link="gnutls-gnutls.html#GNUTLS-E-ILLEGAL-PARAMETER:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_PRIORITIES_WERE_SET" link="gnutls-gnutls.html#GNUTLS-E-NO-PRIORITIES-WERE-SET:CAPS"/> + <keyword type="macro" name="GNUTLS_E_X509_UNSUPPORTED_EXTENSION" link="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-EXTENSION:CAPS"/> + <keyword type="macro" name="GNUTLS_E_SESSION_EOF" link="gnutls-gnutls.html#GNUTLS-E-SESSION-EOF:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TPM_ERROR" link="gnutls-gnutls.html#GNUTLS-E-TPM-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TPM_KEY_PASSWORD_ERROR" link="gnutls-gnutls.html#GNUTLS-E-TPM-KEY-PASSWORD-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TPM_SRK_PASSWORD_ERROR" link="gnutls-gnutls.html#GNUTLS-E-TPM-SRK-PASSWORD-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TPM_SESSION_ERROR" link="gnutls-gnutls.html#GNUTLS-E-TPM-SESSION-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TPM_KEY_NOT_FOUND" link="gnutls-gnutls.html#GNUTLS-E-TPM-KEY-NOT-FOUND:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TPM_UNINITIALIZED" link="gnutls-gnutls.html#GNUTLS-E-TPM-UNINITIALIZED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TPM_NO_LIB" link="gnutls-gnutls.html#GNUTLS-E-TPM-NO-LIB:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_CERTIFICATE_STATUS" link="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-STATUS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_OCSP_RESPONSE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-OCSP-RESPONSE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_RANDOM_DEVICE_ERROR" link="gnutls-gnutls.html#GNUTLS-E-RANDOM-DEVICE-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_AUTH_ERROR" link="gnutls-gnutls.html#GNUTLS-E-AUTH-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_APPLICATION_PROTOCOL" link="gnutls-gnutls.html#GNUTLS-E-NO-APPLICATION-PROTOCOL:CAPS"/> + <keyword type="macro" name="GNUTLS_E_SOCKETS_INIT_ERROR" link="gnutls-gnutls.html#GNUTLS-E-SOCKETS-INIT-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_KEY_IMPORT_FAILED" link="gnutls-gnutls.html#GNUTLS-E-KEY-IMPORT-FAILED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INAPPROPRIATE_FALLBACK" link="gnutls-gnutls.html#GNUTLS-E-INAPPROPRIATE-FALLBACK:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR" link="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-VERIFICATION-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PRIVKEY_VERIFICATION_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PRIVKEY-VERIFICATION-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH" link="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-EXTENSIONS-LENGTH:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING" link="gnutls-gnutls.html#GNUTLS-E-ASN1-EMBEDDED-NULL-IN-STRING:CAPS"/> + <keyword type="macro" name="GNUTLS_E_SELF_TEST_ERROR" link="gnutls-gnutls.html#GNUTLS-E-SELF-TEST-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_SELF_TEST" link="gnutls-gnutls.html#GNUTLS-E-NO-SELF-TEST:CAPS"/> + <keyword type="macro" name="GNUTLS_E_LIB_IN_ERROR_STATE" link="gnutls-gnutls.html#GNUTLS-E-LIB-IN-ERROR-STATE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PK_GENERATION_ERROR" link="gnutls-gnutls.html#GNUTLS-E-PK-GENERATION-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_IDNA_ERROR" link="gnutls-gnutls.html#GNUTLS-E-IDNA-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NEED_FALLBACK" link="gnutls-gnutls.html#GNUTLS-E-NEED-FALLBACK:CAPS"/> + <keyword type="macro" name="GNUTLS_E_SESSION_USER_ID_CHANGED" link="gnutls-gnutls.html#GNUTLS-E-SESSION-USER-ID-CHANGED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_HANDSHAKE_DURING_FALSE_START" link="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-DURING-FALSE-START:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE" link="gnutls-gnutls.html#GNUTLS-E-UNAVAILABLE-DURING-HANDSHAKE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PK_INVALID_PUBKEY" link="gnutls-gnutls.html#GNUTLS-E-PK-INVALID-PUBKEY:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PK_INVALID_PRIVKEY" link="gnutls-gnutls.html#GNUTLS-E-PK-INVALID-PRIVKEY:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NOT_YET_ACTIVATED" link="gnutls-gnutls.html#GNUTLS-E-NOT-YET-ACTIVATED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INVALID_UTF8_STRING" link="gnutls-gnutls.html#GNUTLS-E-INVALID-UTF8-STRING:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_EMBEDDED_DATA" link="gnutls-gnutls.html#GNUTLS-E-NO-EMBEDDED-DATA:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INVALID_UTF8_EMAIL" link="gnutls-gnutls.html#GNUTLS-E-INVALID-UTF8-EMAIL:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INVALID_PASSWORD_STRING" link="gnutls-gnutls.html#GNUTLS-E-INVALID-PASSWORD-STRING:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CERTIFICATE_TIME_ERROR" link="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-TIME-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_RECORD_OVERFLOW" link="gnutls-gnutls.html#GNUTLS-E-RECORD-OVERFLOW:CAPS"/> + <keyword type="macro" name="GNUTLS_E_ASN1_TIME_ERROR" link="gnutls-gnutls.html#GNUTLS-E-ASN1-TIME-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY" link="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-SIG-WITH-KEY:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PK_INVALID_PUBKEY_PARAMS" link="gnutls-gnutls.html#GNUTLS-E-PK-INVALID-PUBKEY-PARAMS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_PK_NO_VALIDATION_PARAMS" link="gnutls-gnutls.html#GNUTLS-E-PK-NO-VALIDATION-PARAMS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_OCSP_MISMATCH_WITH_CERTS" link="gnutls-gnutls.html#GNUTLS-E-OCSP-MISMATCH-WITH-CERTS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_NO_COMMON_KEY_SHARE" link="gnutls-gnutls.html#GNUTLS-E-NO-COMMON-KEY-SHARE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_REAUTH_REQUEST" link="gnutls-gnutls.html#GNUTLS-E-REAUTH-REQUEST:CAPS"/> + <keyword type="macro" name="GNUTLS_E_TOO_MANY_MATCHES" link="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-MATCHES:CAPS"/> + <keyword type="macro" name="GNUTLS_E_CRL_VERIFICATION_ERROR" link="gnutls-gnutls.html#GNUTLS-E-CRL-VERIFICATION-ERROR:CAPS"/> + <keyword type="macro" name="GNUTLS_E_MISSING_EXTENSION" link="gnutls-gnutls.html#GNUTLS-E-MISSING-EXTENSION:CAPS"/> + <keyword type="macro" name="GNUTLS_E_DB_ENTRY_EXISTS" link="gnutls-gnutls.html#GNUTLS-E-DB-ENTRY-EXISTS:CAPS"/> + <keyword type="macro" name="GNUTLS_E_EARLY_DATA_REJECTED" link="gnutls-gnutls.html#GNUTLS-E-EARLY-DATA-REJECTED:CAPS"/> + <keyword type="macro" name="GNUTLS_E_X509_DUPLICATE_EXTENSION" link="gnutls-gnutls.html#GNUTLS-E-X509-DUPLICATE-EXTENSION:CAPS"/> + <keyword type="macro" name="GNUTLS_E_UNIMPLEMENTED_FEATURE" link="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INT_RET_0" link="gnutls-gnutls.html#GNUTLS-E-INT-RET-0:CAPS"/> + <keyword type="macro" name="GNUTLS_E_INT_CHECK_AGAIN" link="gnutls-gnutls.html#GNUTLS-E-INT-CHECK-AGAIN:CAPS"/> + <keyword type="macro" name="GNUTLS_E_APPLICATION_ERROR_MAX" link="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MAX:CAPS"/> + <keyword type="macro" name="GNUTLS_E_APPLICATION_ERROR_MIN" link="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MIN:CAPS"/> + <keyword type="struct" name="struct gnutls_certificate_credentials_st" link="gnutls-gnutls.html#gnutls-certificate-credentials-st"/> + <keyword type="struct" name="struct gnutls_dh_params_int" link="gnutls-gnutls.html#gnutls-dh-params-int"/> + <keyword type="struct" name="struct gnutls_openpgp_crt_int" link="gnutls-gnutls.html#gnutls-openpgp-crt-int"/> + <keyword type="struct" name="struct gnutls_openpgp_keyring_int" link="gnutls-gnutls.html#gnutls-openpgp-keyring-int"/> + <keyword type="struct" name="struct gnutls_openpgp_privkey_int" link="gnutls-gnutls.html#gnutls-openpgp-privkey-int"/> + <keyword type="struct" name="struct gnutls_pkcs11_privkey_st" link="gnutls-gnutls.html#gnutls-pkcs11-privkey-st"/> + <keyword type="struct" name="struct gnutls_priority_st" link="gnutls-gnutls.html#gnutls-priority-st"/> + <keyword type="struct" name="struct gnutls_privkey_st" link="gnutls-gnutls.html#gnutls-privkey-st"/> + <keyword type="struct" name="struct gnutls_pubkey_st" link="gnutls-gnutls.html#gnutls-pubkey-st"/> + <keyword type="struct" name="struct gnutls_session_int" link="gnutls-gnutls.html#gnutls-session-int"/> + <keyword type="struct" name="struct gnutls_tdb_int" link="gnutls-gnutls.html#gnutls-tdb-int"/> + <keyword type="struct" name="gnutls_x509_crl_int" link="gnutls-gnutls.html#gnutls-x509-crl-int"/> + <keyword type="struct" name="gnutls_x509_crq_int" link="gnutls-gnutls.html#gnutls-x509-crq-int"/> + <keyword type="struct" name="gnutls_x509_crt_int" link="gnutls-gnutls.html#gnutls-x509-crt-int"/> + <keyword type="struct" name="gnutls_x509_privkey_int" link="gnutls-gnutls.html#gnutls-x509-privkey-int"/> + <keyword type="function" name="gnutls_privkey_sign_func ()" link="gnutls-abstract.html#gnutls-privkey-sign-func"/> + <keyword type="function" name="gnutls_privkey_decrypt_func ()" link="gnutls-abstract.html#gnutls-privkey-decrypt-func"/> + <keyword type="function" name="gnutls_privkey_decrypt_func2 ()" link="gnutls-abstract.html#gnutls-privkey-decrypt-func2"/> + <keyword type="function" name="gnutls_privkey_sign_hash_func ()" link="gnutls-abstract.html#gnutls-privkey-sign-hash-func"/> + <keyword type="function" name="gnutls_privkey_sign_data_func ()" link="gnutls-abstract.html#gnutls-privkey-sign-data-func"/> + <keyword type="function" name="gnutls_privkey_deinit_func ()" link="gnutls-abstract.html#gnutls-privkey-deinit-func"/> + <keyword type="macro" name="GNUTLS_SIGN_ALGO_TO_FLAGS()" link="gnutls-abstract.html#GNUTLS-SIGN-ALGO-TO-FLAGS:CAPS"/> + <keyword type="macro" name="GNUTLS_FLAGS_TO_SIGN_ALGO()" link="gnutls-abstract.html#GNUTLS-FLAGS-TO-SIGN-ALGO:CAPS"/> + <keyword type="function" name="gnutls_privkey_info_func ()" link="gnutls-abstract.html#gnutls-privkey-info-func"/> + <keyword type="function" name="gnutls_pubkey_init ()" link="gnutls-abstract.html#gnutls-pubkey-init" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_deinit ()" link="gnutls-abstract.html#gnutls-pubkey-deinit" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_verify_params ()" link="gnutls-abstract.html#gnutls-pubkey-verify-params" since="3.3.0"/> + <keyword type="function" name="gnutls_pubkey_set_pin_function ()" link="gnutls-abstract.html#gnutls-pubkey-set-pin-function" since="3.1.0"/> + <keyword type="function" name="gnutls_pubkey_get_pk_algorithm ()" link="gnutls-abstract.html#gnutls-pubkey-get-pk-algorithm" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_set_spki ()" link="gnutls-abstract.html#gnutls-pubkey-set-spki" since="3.6.0"/> + <keyword type="function" name="gnutls_pubkey_get_spki ()" link="gnutls-abstract.html#gnutls-pubkey-get-spki" since="3.6.0"/> + <keyword type="function" name="gnutls_pubkey_import_x509 ()" link="gnutls-abstract.html#gnutls-pubkey-import-x509" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_import_x509_crq ()" link="gnutls-abstract.html#gnutls-pubkey-import-x509-crq" since="3.1.5"/> + <keyword type="function" name="gnutls_pubkey_import_pkcs11 ()" link="gnutls-abstract.html#gnutls-pubkey-import-pkcs11" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_import_openpgp ()" link="gnutls-abstract.html#gnutls-pubkey-import-openpgp" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_import_openpgp_raw ()" link="gnutls-abstract.html#gnutls-pubkey-import-openpgp-raw" since="3.1.3"/> + <keyword type="function" name="gnutls_pubkey_import_x509_raw ()" link="gnutls-abstract.html#gnutls-pubkey-import-x509-raw" since="3.1.3"/> + <keyword type="function" name="gnutls_pubkey_import_privkey ()" link="gnutls-abstract.html#gnutls-pubkey-import-privkey" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_import_tpm_url ()" link="gnutls-abstract.html#gnutls-pubkey-import-tpm-url" since="3.1.0"/> + <keyword type="function" name="gnutls_pubkey_import_url ()" link="gnutls-abstract.html#gnutls-pubkey-import-url" since="3.1.0"/> + <keyword type="function" name="gnutls_pubkey_import_tpm_raw ()" link="gnutls-abstract.html#gnutls-pubkey-import-tpm-raw" since="3.1.0"/> + <keyword type="function" name="gnutls_pubkey_get_preferred_hash_algorithm ()" link="gnutls-abstract.html#gnutls-pubkey-get-preferred-hash-algorithm" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_export_rsa_raw ()" link="gnutls-abstract.html#gnutls-pubkey-export-rsa-raw" since="3.3.0"/> + <keyword type="function" name="gnutls_pubkey_export_rsa_raw2 ()" link="gnutls-abstract.html#gnutls-pubkey-export-rsa-raw2" since="3.6.0"/> + <keyword type="function" name="gnutls_pubkey_export_dsa_raw ()" link="gnutls-abstract.html#gnutls-pubkey-export-dsa-raw" since="3.3.0"/> + <keyword type="function" name="gnutls_pubkey_export_dsa_raw2 ()" link="gnutls-abstract.html#gnutls-pubkey-export-dsa-raw2" since="3.6.0"/> + <keyword type="function" name="gnutls_pubkey_export_ecc_raw2 ()" link="gnutls-abstract.html#gnutls-pubkey-export-ecc-raw2" since="3.6.0"/> + <keyword type="function" name="gnutls_pubkey_export_gost_raw2 ()" link="gnutls-abstract.html#gnutls-pubkey-export-gost-raw2" since="3.6.3"/> + <keyword type="function" name="gnutls_pubkey_export_ecc_raw ()" link="gnutls-abstract.html#gnutls-pubkey-export-ecc-raw" since="3.0"/> + <keyword type="function" name="gnutls_pubkey_export_ecc_x962 ()" link="gnutls-abstract.html#gnutls-pubkey-export-ecc-x962" since="3.3.0"/> + <keyword type="function" name="gnutls_pubkey_export ()" link="gnutls-abstract.html#gnutls-pubkey-export" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_export2 ()" link="gnutls-abstract.html#gnutls-pubkey-export2" since="3.1.3"/> + <keyword type="function" name="gnutls_pubkey_get_key_id ()" link="gnutls-abstract.html#gnutls-pubkey-get-key-id" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_get_openpgp_key_id ()" link="gnutls-abstract.html#gnutls-pubkey-get-openpgp-key-id"/> + <keyword type="function" name="gnutls_pubkey_get_key_usage ()" link="gnutls-abstract.html#gnutls-pubkey-get-key-usage" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_set_key_usage ()" link="gnutls-abstract.html#gnutls-pubkey-set-key-usage" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_import ()" link="gnutls-abstract.html#gnutls-pubkey-import" since="2.12.0"/> + <keyword type="macro" name="gnutls_pubkey_import_pkcs11_url()" link="gnutls-abstract.html#gnutls-pubkey-import-pkcs11-url" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_import_dsa_raw ()" link="gnutls-abstract.html#gnutls-pubkey-import-dsa-raw" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_import_rsa_raw ()" link="gnutls-abstract.html#gnutls-pubkey-import-rsa-raw" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_import_ecc_x962 ()" link="gnutls-abstract.html#gnutls-pubkey-import-ecc-x962" since="3.0"/> + <keyword type="function" name="gnutls_pubkey_import_ecc_raw ()" link="gnutls-abstract.html#gnutls-pubkey-import-ecc-raw" since="3.0"/> + <keyword type="function" name="gnutls_pubkey_import_gost_raw ()" link="gnutls-abstract.html#gnutls-pubkey-import-gost-raw" since="3.6.3"/> + <keyword type="function" name="gnutls_pubkey_encrypt_data ()" link="gnutls-abstract.html#gnutls-pubkey-encrypt-data" since="3.0"/> + <keyword type="function" name="gnutls_x509_crt_set_pubkey ()" link="gnutls-abstract.html#gnutls-x509-crt-set-pubkey" since="2.12.0"/> + <keyword type="function" name="gnutls_x509_crq_set_pubkey ()" link="gnutls-abstract.html#gnutls-x509-crq-set-pubkey" since="2.12.0"/> + <keyword type="function" name="gnutls_pubkey_verify_hash2 ()" link="gnutls-abstract.html#gnutls-pubkey-verify-hash2" since="3.0"/> + <keyword type="function" name="gnutls_pubkey_verify_data2 ()" link="gnutls-abstract.html#gnutls-pubkey-verify-data2" since="3.0"/> + <keyword type="function" name="gnutls_privkey_init ()" link="gnutls-abstract.html#gnutls-privkey-init" since="2.12.0"/> + <keyword type="function" name="gnutls_privkey_deinit ()" link="gnutls-abstract.html#gnutls-privkey-deinit" since="2.12.0"/> + <keyword type="macro" name="GNUTLS_SUBGROUP_TO_BITS()" link="gnutls-abstract.html#GNUTLS-SUBGROUP-TO-BITS:CAPS"/> + <keyword type="macro" name="GNUTLS_BITS_TO_SUBGROUP()" link="gnutls-abstract.html#GNUTLS-BITS-TO-SUBGROUP:CAPS"/> + <keyword type="macro" name="GNUTLS_BITS_TO_GROUP()" link="gnutls-abstract.html#GNUTLS-BITS-TO-GROUP:CAPS"/> + <keyword type="macro" name="GNUTLS_BITS_HAVE_SUBGROUP()" link="gnutls-abstract.html#GNUTLS-BITS-HAVE-SUBGROUP:CAPS"/> + <keyword type="function" name="gnutls_privkey_generate ()" link="gnutls-abstract.html#gnutls-privkey-generate" since="3.3.0"/> + <keyword type="function" name="gnutls_privkey_generate2 ()" link="gnutls-abstract.html#gnutls-privkey-generate2" since="3.5.0"/> + <keyword type="function" name="gnutls_privkey_set_spki ()" link="gnutls-abstract.html#gnutls-privkey-set-spki" since="3.6.0"/> + <keyword type="function" name="gnutls_privkey_get_spki ()" link="gnutls-abstract.html#gnutls-privkey-get-spki" since="3.6.0"/> + <keyword type="function" name="gnutls_privkey_verify_seed ()" link="gnutls-abstract.html#gnutls-privkey-verify-seed" since="3.5.0"/> + <keyword type="function" name="gnutls_privkey_get_seed ()" link="gnutls-abstract.html#gnutls-privkey-get-seed" since="3.5.0"/> + <keyword type="function" name="gnutls_privkey_verify_params ()" link="gnutls-abstract.html#gnutls-privkey-verify-params" since="3.3.0"/> + <keyword type="function" name="gnutls_privkey_set_flags ()" link="gnutls-abstract.html#gnutls-privkey-set-flags" since="3.5.0"/> + <keyword type="function" name="gnutls_privkey_set_pin_function ()" link="gnutls-abstract.html#gnutls-privkey-set-pin-function" since="3.1.0"/> + <keyword type="function" name="gnutls_privkey_get_pk_algorithm ()" link="gnutls-abstract.html#gnutls-privkey-get-pk-algorithm" since="2.12.0"/> + <keyword type="function" name="gnutls_privkey_status ()" link="gnutls-abstract.html#gnutls-privkey-status" since="3.1.10"/> + <keyword type="function" name="gnutls_privkey_import_pkcs11 ()" link="gnutls-abstract.html#gnutls-privkey-import-pkcs11" since="2.12.0"/> + <keyword type="function" name="gnutls_privkey_import_x509 ()" link="gnutls-abstract.html#gnutls-privkey-import-x509" since="2.12.0"/> + <keyword type="function" name="gnutls_privkey_import_openpgp ()" link="gnutls-abstract.html#gnutls-privkey-import-openpgp" since="2.12.0"/> + <keyword type="function" name="gnutls_privkey_export_x509 ()" link="gnutls-abstract.html#gnutls-privkey-export-x509" since="3.4.0"/> + <keyword type="function" name="gnutls_privkey_export_openpgp ()" link="gnutls-abstract.html#gnutls-privkey-export-openpgp" since="3.4.0"/> + <keyword type="function" name="gnutls_privkey_export_pkcs11 ()" link="gnutls-abstract.html#gnutls-privkey-export-pkcs11" since="3.4.0"/> + <keyword type="function" name="gnutls_privkey_import_openpgp_raw ()" link="gnutls-abstract.html#gnutls-privkey-import-openpgp-raw" since="3.1.0"/> + <keyword type="function" name="gnutls_privkey_import_x509_raw ()" link="gnutls-abstract.html#gnutls-privkey-import-x509-raw" since="3.1.0"/> + <keyword type="function" name="gnutls_privkey_import_tpm_raw ()" link="gnutls-abstract.html#gnutls-privkey-import-tpm-raw" since="3.1.0"/> + <keyword type="function" name="gnutls_privkey_import_tpm_url ()" link="gnutls-abstract.html#gnutls-privkey-import-tpm-url" since="3.1.0"/> + <keyword type="function" name="gnutls_privkey_import_url ()" link="gnutls-abstract.html#gnutls-privkey-import-url" since="3.1.0"/> + <keyword type="function" name="gnutls_privkey_import_pkcs11_url ()" link="gnutls-abstract.html#gnutls-privkey-import-pkcs11-url" since="3.1.0"/> + <keyword type="function" name="gnutls_privkey_import_ext ()" link="gnutls-abstract.html#gnutls-privkey-import-ext" since="3.0"/> + <keyword type="function" name="gnutls_privkey_import_ext2 ()" link="gnutls-abstract.html#gnutls-privkey-import-ext2" since="3.1"/> + <keyword type="function" name="gnutls_privkey_import_ext3 ()" link="gnutls-abstract.html#gnutls-privkey-import-ext3" since="3.4.0"/> + <keyword type="function" name="gnutls_privkey_import_ext4 ()" link="gnutls-abstract.html#gnutls-privkey-import-ext4" since="3.6.0"/> + <keyword type="function" name="gnutls_privkey_import_dsa_raw ()" link="gnutls-abstract.html#gnutls-privkey-import-dsa-raw"/> + <keyword type="function" name="gnutls_privkey_import_rsa_raw ()" link="gnutls-abstract.html#gnutls-privkey-import-rsa-raw"/> + <keyword type="function" name="gnutls_privkey_import_ecc_raw ()" link="gnutls-abstract.html#gnutls-privkey-import-ecc-raw" since="3.0"/> + <keyword type="function" name="gnutls_privkey_import_gost_raw ()" link="gnutls-abstract.html#gnutls-privkey-import-gost-raw" since="3.6.3"/> + <keyword type="function" name="gnutls_privkey_sign_data ()" link="gnutls-abstract.html#gnutls-privkey-sign-data" since="2.12.0"/> + <keyword type="function" name="gnutls_privkey_sign_data2 ()" link="gnutls-abstract.html#gnutls-privkey-sign-data2" since="3.6.0"/> + <keyword type="macro" name="gnutls_privkey_sign_raw_data()" link="gnutls-abstract.html#gnutls-privkey-sign-raw-data"/> + <keyword type="function" name="gnutls_privkey_sign_hash ()" link="gnutls-abstract.html#gnutls-privkey-sign-hash" since="2.12.0"/> + <keyword type="function" name="gnutls_privkey_sign_hash2 ()" link="gnutls-abstract.html#gnutls-privkey-sign-hash2" since="3.6.0"/> + <keyword type="function" name="gnutls_privkey_decrypt_data ()" link="gnutls-abstract.html#gnutls-privkey-decrypt-data" since="2.12.0"/> + <keyword type="function" name="gnutls_privkey_decrypt_data2 ()" link="gnutls-abstract.html#gnutls-privkey-decrypt-data2" since="3.6.5"/> + <keyword type="function" name="gnutls_privkey_export_rsa_raw ()" link="gnutls-abstract.html#gnutls-privkey-export-rsa-raw" since="3.3.0"/> + <keyword type="function" name="gnutls_privkey_export_rsa_raw2 ()" link="gnutls-abstract.html#gnutls-privkey-export-rsa-raw2" since="3.6.0"/> + <keyword type="function" name="gnutls_privkey_export_dsa_raw ()" link="gnutls-abstract.html#gnutls-privkey-export-dsa-raw" since="3.3.0"/> + <keyword type="function" name="gnutls_privkey_export_dsa_raw2 ()" link="gnutls-abstract.html#gnutls-privkey-export-dsa-raw2" since="3.6.0"/> + <keyword type="function" name="gnutls_privkey_export_ecc_raw ()" link="gnutls-abstract.html#gnutls-privkey-export-ecc-raw" since="3.3.0"/> + <keyword type="function" name="gnutls_privkey_export_ecc_raw2 ()" link="gnutls-abstract.html#gnutls-privkey-export-ecc-raw2" since="3.6.0"/> + <keyword type="function" name="gnutls_privkey_export_gost_raw2 ()" link="gnutls-abstract.html#gnutls-privkey-export-gost-raw2" since="3.6.3"/> + <keyword type="function" name="gnutls_x509_crt_privkey_sign ()" link="gnutls-abstract.html#gnutls-x509-crt-privkey-sign"/> + <keyword type="function" name="gnutls_x509_crl_privkey_sign ()" link="gnutls-abstract.html#gnutls-x509-crl-privkey-sign"/> + <keyword type="function" name="gnutls_x509_crq_privkey_sign ()" link="gnutls-abstract.html#gnutls-x509-crq-privkey-sign" since="2.12.0"/> + <keyword type="function" name="gnutls_pcert_import_x509 ()" link="gnutls-abstract.html#gnutls-pcert-import-x509" since="3.0"/> + <keyword type="function" name="gnutls_pcert_import_x509_list ()" link="gnutls-abstract.html#gnutls-pcert-import-x509-list" since="3.4.0"/> + <keyword type="function" name="gnutls_pcert_export_x509 ()" link="gnutls-abstract.html#gnutls-pcert-export-x509" since="3.4.0"/> + <keyword type="function" name="gnutls_pcert_list_import_x509_raw ()" link="gnutls-abstract.html#gnutls-pcert-list-import-x509-raw" since="3.0"/> + <keyword type="function" name="gnutls_pcert_list_import_x509_file ()" link="gnutls-abstract.html#gnutls-pcert-list-import-x509-file"/> + <keyword type="function" name="gnutls_pcert_import_x509_raw ()" link="gnutls-abstract.html#gnutls-pcert-import-x509-raw" since="3.0"/> + <keyword type="function" name="gnutls_pcert_import_openpgp_raw ()" link="gnutls-abstract.html#gnutls-pcert-import-openpgp-raw" since="3.0"/> + <keyword type="function" name="gnutls_pcert_import_openpgp ()" link="gnutls-abstract.html#gnutls-pcert-import-openpgp" since="3.0"/> + <keyword type="function" name="gnutls_pcert_export_openpgp ()" link="gnutls-abstract.html#gnutls-pcert-export-openpgp"/> + <keyword type="function" name="gnutls_pcert_deinit ()" link="gnutls-abstract.html#gnutls-pcert-deinit" since="3.0"/> + <keyword type="function" name="gnutls_pcert_import_rawpk ()" link="gnutls-abstract.html#gnutls-pcert-import-rawpk" since="3.6.6"/> + <keyword type="function" name="gnutls_pcert_import_rawpk_raw ()" link="gnutls-abstract.html#gnutls-pcert-import-rawpk-raw" since="3.6.6"/> + <keyword type="function" name="gnutls_certificate_set_retrieve_function2 ()" link="gnutls-abstract.html#gnutls-certificate-set-retrieve-function2" since="3.0"/> + <keyword type="function" name="gnutls_certificate_set_retrieve_function3 ()" link="gnutls-abstract.html#gnutls-certificate-set-retrieve-function3" since="3.6.3"/> + <keyword type="function" name="gnutls_certificate_set_key ()" link="gnutls-abstract.html#gnutls-certificate-set-key" since="3.0"/> + <keyword type="function" name="gnutls_pubkey_print ()" link="gnutls-abstract.html#gnutls-pubkey-print" since="3.1.5"/> + <keyword type="macro" name="GNUTLS_PUBKEY_VERIFY_FLAG_TLS_RSA" link="gnutls-abstract.html#GNUTLS-PUBKEY-VERIFY-FLAG-TLS-RSA:CAPS"/> + <keyword type="enum" name="enum gnutls_pubkey_flags_t" link="gnutls-abstract.html#gnutls-pubkey-flags-t"/> + <keyword type="enum" name="enum gnutls_abstract_export_flags_t" link="gnutls-abstract.html#gnutls-abstract-export-flags-t"/> + <keyword type="macro" name="GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA" link="gnutls-abstract.html#GNUTLS-PUBKEY-VERIFY-FLAG-TLS1-RSA:CAPS"/> + <keyword type="macro" name="GNUTLS_PRIVKEY_INFO_PK_ALGO" link="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-PK-ALGO:CAPS"/> + <keyword type="macro" name="GNUTLS_PRIVKEY_INFO_SIGN_ALGO" link="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-SIGN-ALGO:CAPS"/> + <keyword type="macro" name="GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO" link="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-HAVE-SIGN-ALGO:CAPS"/> + <keyword type="macro" name="GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS" link="gnutls-abstract.html#GNUTLS-PRIVKEY-INFO-PK-ALGO-BITS:CAPS"/> + <keyword type="macro" name="gnutls_pubkey_get_pk_rsa_raw" link="gnutls-abstract.html#gnutls-pubkey-get-pk-rsa-raw"/> + <keyword type="macro" name="gnutls_pubkey_get_pk_dsa_raw" link="gnutls-abstract.html#gnutls-pubkey-get-pk-dsa-raw"/> + <keyword type="macro" name="gnutls_pubkey_get_pk_ecc_raw" link="gnutls-abstract.html#gnutls-pubkey-get-pk-ecc-raw"/> + <keyword type="macro" name="gnutls_pubkey_get_pk_ecc_x962" link="gnutls-abstract.html#gnutls-pubkey-get-pk-ecc-x962"/> + <keyword type="enum" name="enum gnutls_privkey_flags_t" link="gnutls-abstract.html#gnutls-privkey-flags-t"/> + <keyword type="struct" name="gnutls_pcert_st" link="gnutls-abstract.html#gnutls-pcert-st"/> + <keyword type="macro" name="GNUTLS_PCERT_NO_CERT" link="gnutls-abstract.html#GNUTLS-PCERT-NO-CERT:CAPS"/> + <keyword type="struct" name="struct gnutls_cert_retr_st" link="gnutls-abstract.html#gnutls-cert-retr-st"/> + <keyword type="macro" name="GNUTLS_CERT_RETR_DEINIT_ALL" link="gnutls-abstract.html#GNUTLS-CERT-RETR-DEINIT-ALL:CAPS"/> + <keyword type="function" name="gnutls_x509_crt_init ()" link="gnutls-x509.html#gnutls-x509-crt-init"/> + <keyword type="function" name="gnutls_x509_crt_deinit ()" link="gnutls-x509.html#gnutls-x509-crt-deinit"/> + <keyword type="function" name="gnutls_x509_crt_set_flags ()" link="gnutls-x509.html#gnutls-x509-crt-set-flags" since="3.6.0"/> + <keyword type="function" name="gnutls_x509_crt_equals ()" link="gnutls-x509.html#gnutls-x509-crt-equals"/> + <keyword type="function" name="gnutls_x509_crt_equals2 ()" link="gnutls-x509.html#gnutls-x509-crt-equals2"/> + <keyword type="function" name="gnutls_x509_crt_import ()" link="gnutls-x509.html#gnutls-x509-crt-import"/> + <keyword type="function" name="gnutls_x509_crt_list_import2 ()" link="gnutls-x509.html#gnutls-x509-crt-list-import2" since="3.0"/> + <keyword type="function" name="gnutls_x509_crt_list_import ()" link="gnutls-x509.html#gnutls-x509-crt-list-import"/> + <keyword type="function" name="gnutls_x509_crt_import_url ()" link="gnutls-x509.html#gnutls-x509-crt-import-url" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_crt_list_import_url ()" link="gnutls-x509.html#gnutls-x509-crt-list-import-url" since="3.6.3"/> + <keyword type="function" name="gnutls_x509_crt_export ()" link="gnutls-x509.html#gnutls-x509-crt-export"/> + <keyword type="function" name="gnutls_x509_crt_export2 ()" link="gnutls-x509.html#gnutls-x509-crt-export2" since="3.1.3"/> + <keyword type="function" name="gnutls_x509_crt_get_private_key_usage_period ()" link="gnutls-x509.html#gnutls-x509-crt-get-private-key-usage-period"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer_dn ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer_dn2 ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn2" since="3.1.10"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer_dn3 ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn3" since="3.5.7"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer_dn_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn-oid"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer_dn_by_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer-dn-by-oid"/> + <keyword type="function" name="gnutls_x509_crt_get_dn ()" link="gnutls-x509.html#gnutls-x509-crt-get-dn"/> + <keyword type="function" name="gnutls_x509_crt_get_dn2 ()" link="gnutls-x509.html#gnutls-x509-crt-get-dn2" since="3.1.10"/> + <keyword type="function" name="gnutls_x509_crt_get_dn3 ()" link="gnutls-x509.html#gnutls-x509-crt-get-dn3" since="3.5.7"/> + <keyword type="function" name="gnutls_x509_crt_get_dn_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-dn-oid"/> + <keyword type="function" name="gnutls_x509_crt_get_dn_by_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-dn-by-oid"/> + <keyword type="function" name="gnutls_x509_crt_check_hostname ()" link="gnutls-x509.html#gnutls-x509-crt-check-hostname"/> + <keyword type="function" name="gnutls_x509_crt_check_hostname2 ()" link="gnutls-x509.html#gnutls-x509-crt-check-hostname2" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_crt_check_email ()" link="gnutls-x509.html#gnutls-x509-crt-check-email"/> + <keyword type="function" name="gnutls_x509_crt_check_ip ()" link="gnutls-x509.html#gnutls-x509-crt-check-ip"/> + <keyword type="function" name="gnutls_x509_crt_get_signature_algorithm ()" link="gnutls-x509.html#gnutls-x509-crt-get-signature-algorithm"/> + <keyword type="function" name="gnutls_x509_crt_get_signature ()" link="gnutls-x509.html#gnutls-x509-crt-get-signature"/> + <keyword type="function" name="gnutls_x509_crt_get_version ()" link="gnutls-x509.html#gnutls-x509-crt-get-version"/> + <keyword type="function" name="gnutls_x509_crt_get_pk_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-pk-oid" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_crt_get_signature_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-signature-oid" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_crt_get_key_id ()" link="gnutls-x509.html#gnutls-x509-crt-get-key-id"/> + <keyword type="function" name="gnutls_x509_crt_set_private_key_usage_period ()" link="gnutls-x509.html#gnutls-x509-crt-set-private-key-usage-period"/> + <keyword type="function" name="gnutls_x509_crt_set_authority_key_id ()" link="gnutls-x509.html#gnutls-x509-crt-set-authority-key-id"/> + <keyword type="function" name="gnutls_x509_crt_get_authority_key_id ()" link="gnutls-x509.html#gnutls-x509-crt-get-authority-key-id"/> + <keyword type="function" name="gnutls_x509_crt_get_authority_key_gn_serial ()" link="gnutls-x509.html#gnutls-x509-crt-get-authority-key-gn-serial" since="3.0"/> + <keyword type="function" name="gnutls_x509_crt_get_subject_key_id ()" link="gnutls-x509.html#gnutls-x509-crt-get-subject-key-id"/> + <keyword type="function" name="gnutls_x509_crt_get_subject_unique_id ()" link="gnutls-x509.html#gnutls-x509-crt-get-subject-unique-id"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer_unique_id ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer-unique-id" since="2.12.0"/> + <keyword type="function" name="gnutls_x509_crt_set_pin_function ()" link="gnutls-x509.html#gnutls-x509-crt-set-pin-function" since="3.1.0"/> + <keyword type="function" name="gnutls_x509_crt_get_authority_info_access ()" link="gnutls-x509.html#gnutls-x509-crt-get-authority-info-access" since="3.0"/> + <keyword type="function" name="gnutls_x509_name_constraints_check ()" link="gnutls-x509.html#gnutls-x509-name-constraints-check" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_name_constraints_check_crt ()" link="gnutls-x509.html#gnutls-x509-name-constraints-check-crt" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_name_constraints_init ()" link="gnutls-x509.html#gnutls-x509-name-constraints-init" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_name_constraints_deinit ()" link="gnutls-x509.html#gnutls-x509-name-constraints-deinit" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_crt_get_name_constraints ()" link="gnutls-x509.html#gnutls-x509-crt-get-name-constraints" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_name_constraints_add_permitted ()" link="gnutls-x509.html#gnutls-x509-name-constraints-add-permitted" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_name_constraints_add_excluded ()" link="gnutls-x509.html#gnutls-x509-name-constraints-add-excluded" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_crt_set_name_constraints ()" link="gnutls-x509.html#gnutls-x509-crt-set-name-constraints" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_name_constraints_get_permitted ()" link="gnutls-x509.html#gnutls-x509-name-constraints-get-permitted" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_name_constraints_get_excluded ()" link="gnutls-x509.html#gnutls-x509-name-constraints-get-excluded" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_cidr_to_rfc5280 ()" link="gnutls-x509.html#gnutls-x509-cidr-to-rfc5280" since="3.5.4"/> + <keyword type="function" name="gnutls_x509_crt_get_crl_dist_points ()" link="gnutls-x509.html#gnutls-x509-crt-get-crl-dist-points"/> + <keyword type="function" name="gnutls_x509_crt_set_crl_dist_points2 ()" link="gnutls-x509.html#gnutls-x509-crt-set-crl-dist-points2" since="2.6.0"/> + <keyword type="function" name="gnutls_x509_crt_set_crl_dist_points ()" link="gnutls-x509.html#gnutls-x509-crt-set-crl-dist-points"/> + <keyword type="function" name="gnutls_x509_crt_cpy_crl_dist_points ()" link="gnutls-x509.html#gnutls-x509-crt-cpy-crl-dist-points"/> + <keyword type="function" name="gnutls_x509_crl_sign ()" link="gnutls-x509.html#gnutls-x509-crl-sign"/> + <keyword type="function" name="gnutls_x509_crl_sign2 ()" link="gnutls-x509.html#gnutls-x509-crl-sign2"/> + <keyword type="function" name="gnutls_x509_crt_get_activation_time ()" link="gnutls-x509.html#gnutls-x509-crt-get-activation-time"/> + <keyword type="function" name="gnutls_x509_crt_get_expiration_time ()" link="gnutls-x509.html#gnutls-x509-crt-get-expiration-time"/> + <keyword type="function" name="gnutls_x509_crt_get_serial ()" link="gnutls-x509.html#gnutls-x509-crt-get-serial"/> + <keyword type="function" name="gnutls_x509_spki_init ()" link="gnutls-x509.html#gnutls-x509-spki-init" since="3.6.0"/> + <keyword type="function" name="gnutls_x509_spki_deinit ()" link="gnutls-x509.html#gnutls-x509-spki-deinit" since="3.6.0"/> + <keyword type="function" name="gnutls_x509_spki_get_rsa_pss_params ()" link="gnutls-x509.html#gnutls-x509-spki-get-rsa-pss-params" since="3.6.0"/> + <keyword type="function" name="gnutls_x509_spki_set_rsa_pss_params ()" link="gnutls-x509.html#gnutls-x509-spki-set-rsa-pss-params" since="3.6.0"/> + <keyword type="function" name="gnutls_x509_crt_get_pk_algorithm ()" link="gnutls-x509.html#gnutls-x509-crt-get-pk-algorithm"/> + <keyword type="function" name="gnutls_x509_crt_set_spki ()" link="gnutls-x509.html#gnutls-x509-crt-set-spki" since="3.6.0"/> + <keyword type="function" name="gnutls_x509_crt_get_spki ()" link="gnutls-x509.html#gnutls-x509-crt-get-spki" since="3.6.0"/> + <keyword type="function" name="gnutls_x509_crt_get_pk_rsa_raw ()" link="gnutls-x509.html#gnutls-x509-crt-get-pk-rsa-raw"/> + <keyword type="function" name="gnutls_x509_crt_get_pk_dsa_raw ()" link="gnutls-x509.html#gnutls-x509-crt-get-pk-dsa-raw"/> + <keyword type="function" name="gnutls_x509_crt_get_pk_ecc_raw ()" link="gnutls-x509.html#gnutls-x509-crt-get-pk-ecc-raw" since="3.4.1"/> + <keyword type="function" name="gnutls_x509_crt_get_pk_gost_raw ()" link="gnutls-x509.html#gnutls-x509-crt-get-pk-gost-raw" since="3.6.3"/> + <keyword type="function" name="gnutls_x509_crt_get_subject_alt_name ()" link="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-name"/> + <keyword type="function" name="gnutls_x509_crt_get_subject_alt_name2 ()" link="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-name2"/> + <keyword type="function" name="gnutls_x509_crt_get_subject_alt_othername_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-subject-alt-othername-oid"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer_alt_name ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-name" since="2.10.0"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer_alt_name2 ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-name2" since="2.10.0"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer_alt_othername_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer-alt-othername-oid" since="2.10.0"/> + <keyword type="function" name="gnutls_x509_crt_get_ca_status ()" link="gnutls-x509.html#gnutls-x509-crt-get-ca-status"/> + <keyword type="function" name="gnutls_x509_crt_get_basic_constraints ()" link="gnutls-x509.html#gnutls-x509-crt-get-basic-constraints"/> + <keyword type="function" name="gnutls_x509_crt_get_key_usage ()" link="gnutls-x509.html#gnutls-x509-crt-get-key-usage"/> + <keyword type="function" name="gnutls_x509_crt_set_key_usage ()" link="gnutls-x509.html#gnutls-x509-crt-set-key-usage"/> + <keyword type="function" name="gnutls_x509_crt_set_authority_info_access ()" link="gnutls-x509.html#gnutls-x509-crt-set-authority-info-access" since="3.0"/> + <keyword type="function" name="gnutls_x509_crt_get_inhibit_anypolicy ()" link="gnutls-x509.html#gnutls-x509-crt-get-inhibit-anypolicy" since="3.6.0"/> + <keyword type="function" name="gnutls_x509_crt_set_inhibit_anypolicy ()" link="gnutls-x509.html#gnutls-x509-crt-set-inhibit-anypolicy"/> + <keyword type="function" name="gnutls_x509_crt_get_proxy ()" link="gnutls-x509.html#gnutls-x509-crt-get-proxy"/> + <keyword type="function" name="gnutls_x509_tlsfeatures_init ()" link="gnutls-x509.html#gnutls-x509-tlsfeatures-init" since="3.5.1"/> + <keyword type="function" name="gnutls_x509_tlsfeatures_deinit ()" link="gnutls-x509.html#gnutls-x509-tlsfeatures-deinit" since="3.5.1"/> + <keyword type="function" name="gnutls_x509_tlsfeatures_get ()" link="gnutls-x509.html#gnutls-x509-tlsfeatures-get" since="3.5.1"/> + <keyword type="function" name="gnutls_x509_crt_set_tlsfeatures ()" link="gnutls-x509.html#gnutls-x509-crt-set-tlsfeatures" since="3.5.1"/> + <keyword type="function" name="gnutls_x509_crt_get_tlsfeatures ()" link="gnutls-x509.html#gnutls-x509-crt-get-tlsfeatures" since="3.5.1"/> + <keyword type="function" name="gnutls_x509_tlsfeatures_check_crt ()" link="gnutls-x509.html#gnutls-x509-tlsfeatures-check-crt"/> + <keyword type="function" name="gnutls_x509_policy_release ()" link="gnutls-x509.html#gnutls-x509-policy-release" since="3.1.5"/> + <keyword type="function" name="gnutls_x509_crt_get_policy ()" link="gnutls-x509.html#gnutls-x509-crt-get-policy" since="3.1.5"/> + <keyword type="function" name="gnutls_x509_crt_set_policy ()" link="gnutls-x509.html#gnutls-x509-crt-set-policy" since="3.1.5"/> + <keyword type="function" name="gnutls_x509_dn_oid_known ()" link="gnutls-x509.html#gnutls-x509-dn-oid-known"/> + <keyword type="function" name="gnutls_x509_dn_oid_name ()" link="gnutls-x509.html#gnutls-x509-dn-oid-name" since="3.0"/> + <keyword type="function" name="gnutls_x509_crt_get_extension_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-extension-oid"/> + <keyword type="function" name="gnutls_x509_crt_get_extension_by_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-extension-by-oid"/> + <keyword type="function" name="gnutls_x509_crq_get_signature_algorithm ()" link="gnutls-x509.html#gnutls-x509-crq-get-signature-algorithm" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_crq_get_extension_by_oid2 ()" link="gnutls-x509.html#gnutls-x509-crq-get-extension-by-oid2" since="3.3.8"/> + <keyword type="function" name="gnutls_x509_crt_get_extension_info ()" link="gnutls-x509.html#gnutls-x509-crt-get-extension-info"/> + <keyword type="function" name="gnutls_x509_crt_get_extension_data ()" link="gnutls-x509.html#gnutls-x509-crt-get-extension-data"/> + <keyword type="function" name="gnutls_x509_crt_get_extension_data2 ()" link="gnutls-x509.html#gnutls-x509-crt-get-extension-data2"/> + <keyword type="function" name="gnutls_x509_crt_set_extension_by_oid ()" link="gnutls-x509.html#gnutls-x509-crt-set-extension-by-oid"/> + <keyword type="function" name="gnutls_x509_crt_set_dn ()" link="gnutls-x509.html#gnutls-x509-crt-set-dn"/> + <keyword type="function" name="gnutls_x509_crt_set_dn_by_oid ()" link="gnutls-x509.html#gnutls-x509-crt-set-dn-by-oid"/> + <keyword type="function" name="gnutls_x509_crt_set_issuer_dn_by_oid ()" link="gnutls-x509.html#gnutls-x509-crt-set-issuer-dn-by-oid"/> + <keyword type="function" name="gnutls_x509_crt_set_issuer_dn ()" link="gnutls-x509.html#gnutls-x509-crt-set-issuer-dn"/> + <keyword type="function" name="gnutls_x509_crt_set_version ()" link="gnutls-x509.html#gnutls-x509-crt-set-version"/> + <keyword type="function" name="gnutls_x509_crt_set_key ()" link="gnutls-x509.html#gnutls-x509-crt-set-key"/> + <keyword type="function" name="gnutls_x509_crt_set_ca_status ()" link="gnutls-x509.html#gnutls-x509-crt-set-ca-status"/> + <keyword type="function" name="gnutls_x509_crt_set_basic_constraints ()" link="gnutls-x509.html#gnutls-x509-crt-set-basic-constraints"/> + <keyword type="function" name="gnutls_x509_crt_set_subject_unique_id ()" link="gnutls-x509.html#gnutls-x509-crt-set-subject-unique-id" since="3.4.7"/> + <keyword type="function" name="gnutls_x509_crt_set_issuer_unique_id ()" link="gnutls-x509.html#gnutls-x509-crt-set-issuer-unique-id" since="3.4.7"/> + <keyword type="function" name="gnutls_x509_crt_set_subject_alternative_name ()" link="gnutls-x509.html#gnutls-x509-crt-set-subject-alternative-name"/> + <keyword type="function" name="gnutls_x509_crt_set_subject_alt_name ()" link="gnutls-x509.html#gnutls-x509-crt-set-subject-alt-name" since="2.6.0"/> + <keyword type="function" name="gnutls_x509_crt_set_subject_alt_othername ()" link="gnutls-x509.html#gnutls-x509-crt-set-subject-alt-othername" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_crt_set_issuer_alt_name ()" link="gnutls-x509.html#gnutls-x509-crt-set-issuer-alt-name" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_crt_set_issuer_alt_othername ()" link="gnutls-x509.html#gnutls-x509-crt-set-issuer-alt-othername" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_crt_sign ()" link="gnutls-x509.html#gnutls-x509-crt-sign"/> + <keyword type="function" name="gnutls_x509_crt_sign2 ()" link="gnutls-x509.html#gnutls-x509-crt-sign2"/> + <keyword type="function" name="gnutls_x509_crt_set_activation_time ()" link="gnutls-x509.html#gnutls-x509-crt-set-activation-time"/> + <keyword type="function" name="gnutls_x509_crt_set_expiration_time ()" link="gnutls-x509.html#gnutls-x509-crt-set-expiration-time"/> + <keyword type="function" name="gnutls_x509_crt_set_serial ()" link="gnutls-x509.html#gnutls-x509-crt-set-serial"/> + <keyword type="function" name="gnutls_x509_crt_set_subject_key_id ()" link="gnutls-x509.html#gnutls-x509-crt-set-subject-key-id"/> + <keyword type="function" name="gnutls_x509_crt_set_proxy_dn ()" link="gnutls-x509.html#gnutls-x509-crt-set-proxy-dn"/> + <keyword type="function" name="gnutls_x509_crt_set_proxy ()" link="gnutls-x509.html#gnutls-x509-crt-set-proxy"/> + <keyword type="function" name="gnutls_x509_crt_print ()" link="gnutls-x509.html#gnutls-x509-crt-print"/> + <keyword type="function" name="gnutls_x509_crl_print ()" link="gnutls-x509.html#gnutls-x509-crl-print"/> + <keyword type="function" name="gnutls_x509_crt_get_raw_issuer_dn ()" link="gnutls-x509.html#gnutls-x509-crt-get-raw-issuer-dn"/> + <keyword type="function" name="gnutls_x509_crt_get_raw_dn ()" link="gnutls-x509.html#gnutls-x509-crt-get-raw-dn"/> + <keyword type="function" name="gnutls_x509_rdn_get ()" link="gnutls-x509.html#gnutls-x509-rdn-get"/> + <keyword type="function" name="gnutls_x509_rdn_get2 ()" link="gnutls-x509.html#gnutls-x509-rdn-get2"/> + <keyword type="function" name="gnutls_x509_rdn_get_oid ()" link="gnutls-x509.html#gnutls-x509-rdn-get-oid" since="2.4.0"/> + <keyword type="function" name="gnutls_x509_rdn_get_by_oid ()" link="gnutls-x509.html#gnutls-x509-rdn-get-by-oid"/> + <keyword type="function" name="gnutls_x509_crt_get_subject ()" link="gnutls-x509.html#gnutls-x509-crt-get-subject"/> + <keyword type="function" name="gnutls_x509_crt_get_issuer ()" link="gnutls-x509.html#gnutls-x509-crt-get-issuer"/> + <keyword type="function" name="gnutls_x509_dn_get_rdn_ava ()" link="gnutls-x509.html#gnutls-x509-dn-get-rdn-ava"/> + <keyword type="function" name="gnutls_x509_dn_get_str ()" link="gnutls-x509.html#gnutls-x509-dn-get-str" since="3.5.7"/> + <keyword type="function" name="gnutls_x509_dn_get_str2 ()" link="gnutls-x509.html#gnutls-x509-dn-get-str2"/> + <keyword type="function" name="gnutls_x509_dn_set_str ()" link="gnutls-x509.html#gnutls-x509-dn-set-str" since="3.5.3"/> + <keyword type="function" name="gnutls_x509_dn_init ()" link="gnutls-x509.html#gnutls-x509-dn-init" since="2.4.0"/> + <keyword type="function" name="gnutls_x509_dn_import ()" link="gnutls-x509.html#gnutls-x509-dn-import" since="2.4.0"/> + <keyword type="function" name="gnutls_x509_dn_export ()" link="gnutls-x509.html#gnutls-x509-dn-export"/> + <keyword type="function" name="gnutls_x509_dn_export2 ()" link="gnutls-x509.html#gnutls-x509-dn-export2" since="3.1.3"/> + <keyword type="function" name="gnutls_x509_dn_deinit ()" link="gnutls-x509.html#gnutls-x509-dn-deinit" since="2.4.0"/> + <keyword type="function" name="gnutls_x509_crl_init ()" link="gnutls-x509.html#gnutls-x509-crl-init"/> + <keyword type="function" name="gnutls_x509_crl_deinit ()" link="gnutls-x509.html#gnutls-x509-crl-deinit"/> + <keyword type="function" name="gnutls_x509_crl_import ()" link="gnutls-x509.html#gnutls-x509-crl-import"/> + <keyword type="function" name="gnutls_x509_crl_export ()" link="gnutls-x509.html#gnutls-x509-crl-export"/> + <keyword type="function" name="gnutls_x509_crl_export2 ()" link="gnutls-x509.html#gnutls-x509-crl-export2"/> + <keyword type="function" name="gnutls_x509_crl_get_raw_issuer_dn ()" link="gnutls-x509.html#gnutls-x509-crl-get-raw-issuer-dn" since="2.12.0"/> + <keyword type="function" name="gnutls_x509_crl_get_issuer_dn ()" link="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn"/> + <keyword type="function" name="gnutls_x509_crl_get_issuer_dn2 ()" link="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn2" since="3.1.10"/> + <keyword type="function" name="gnutls_x509_crl_get_issuer_dn3 ()" link="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn3" since="3.5.7"/> + <keyword type="function" name="gnutls_x509_crl_get_issuer_dn_by_oid ()" link="gnutls-x509.html#gnutls-x509-crl-get-issuer-dn-by-oid"/> + <keyword type="function" name="gnutls_x509_crl_get_dn_oid ()" link="gnutls-x509.html#gnutls-x509-crl-get-dn-oid"/> + <keyword type="function" name="gnutls_x509_crl_get_signature_algorithm ()" link="gnutls-x509.html#gnutls-x509-crl-get-signature-algorithm"/> + <keyword type="function" name="gnutls_x509_crl_get_signature ()" link="gnutls-x509.html#gnutls-x509-crl-get-signature"/> + <keyword type="function" name="gnutls_x509_crl_get_version ()" link="gnutls-x509.html#gnutls-x509-crl-get-version"/> + <keyword type="function" name="gnutls_x509_crl_get_signature_oid ()" link="gnutls-x509.html#gnutls-x509-crl-get-signature-oid" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_crl_get_this_update ()" link="gnutls-x509.html#gnutls-x509-crl-get-this-update"/> + <keyword type="function" name="gnutls_x509_crl_get_next_update ()" link="gnutls-x509.html#gnutls-x509-crl-get-next-update"/> + <keyword type="function" name="gnutls_x509_crl_get_crt_count ()" link="gnutls-x509.html#gnutls-x509-crl-get-crt-count"/> + <keyword type="function" name="gnutls_x509_crl_get_crt_serial ()" link="gnutls-x509.html#gnutls-x509-crl-get-crt-serial"/> + <keyword type="function" name="gnutls_x509_crl_iter_crt_serial ()" link="gnutls-x509.html#gnutls-x509-crl-iter-crt-serial"/> + <keyword type="function" name="gnutls_x509_crl_iter_deinit ()" link="gnutls-x509.html#gnutls-x509-crl-iter-deinit"/> + <keyword type="function" name="gnutls_x509_crl_check_issuer ()" link="gnutls-x509.html#gnutls-x509-crl-check-issuer"/> + <keyword type="function" name="gnutls_x509_crl_list_import2 ()" link="gnutls-x509.html#gnutls-x509-crl-list-import2" since="3.0"/> + <keyword type="function" name="gnutls_x509_crl_list_import ()" link="gnutls-x509.html#gnutls-x509-crl-list-import" since="3.0"/> + <keyword type="function" name="gnutls_x509_crl_set_version ()" link="gnutls-x509.html#gnutls-x509-crl-set-version"/> + <keyword type="function" name="gnutls_x509_crl_set_this_update ()" link="gnutls-x509.html#gnutls-x509-crl-set-this-update"/> + <keyword type="function" name="gnutls_x509_crl_set_next_update ()" link="gnutls-x509.html#gnutls-x509-crl-set-next-update"/> + <keyword type="function" name="gnutls_x509_crl_set_crt_serial ()" link="gnutls-x509.html#gnutls-x509-crl-set-crt-serial"/> + <keyword type="function" name="gnutls_x509_crl_set_crt ()" link="gnutls-x509.html#gnutls-x509-crl-set-crt"/> + <keyword type="function" name="gnutls_x509_crl_get_authority_key_id ()" link="gnutls-x509.html#gnutls-x509-crl-get-authority-key-id" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crl_get_authority_key_gn_serial ()" link="gnutls-x509.html#gnutls-x509-crl-get-authority-key-gn-serial" since="3.0"/> + <keyword type="function" name="gnutls_x509_crl_get_number ()" link="gnutls-x509.html#gnutls-x509-crl-get-number" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crl_get_extension_oid ()" link="gnutls-x509.html#gnutls-x509-crl-get-extension-oid" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crl_get_extension_info ()" link="gnutls-x509.html#gnutls-x509-crl-get-extension-info" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crl_get_extension_data ()" link="gnutls-x509.html#gnutls-x509-crl-get-extension-data" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crl_get_extension_data2 ()" link="gnutls-x509.html#gnutls-x509-crl-get-extension-data2"/> + <keyword type="function" name="gnutls_x509_crl_set_authority_key_id ()" link="gnutls-x509.html#gnutls-x509-crl-set-authority-key-id" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crl_set_number ()" link="gnutls-x509.html#gnutls-x509-crl-set-number" since="2.8.0"/> + <keyword type="macro" name="GNUTLS_PROFILE_TO_VFLAGS()" link="gnutls-x509.html#GNUTLS-PROFILE-TO-VFLAGS:CAPS"/> + <keyword type="macro" name="GNUTLS_VFLAGS_TO_PROFILE()" link="gnutls-x509.html#GNUTLS-VFLAGS-TO-PROFILE:CAPS"/> + <keyword type="function" name="gnutls_certificate_verification_profile_get_name ()" link="gnutls-x509.html#gnutls-certificate-verification-profile-get-name"/> + <keyword type="function" name="gnutls_x509_crt_list_verify ()" link="gnutls-x509.html#gnutls-x509-crt-list-verify"/> + <keyword type="function" name="gnutls_x509_crt_verify ()" link="gnutls-x509.html#gnutls-x509-crt-verify"/> + <keyword type="function" name="gnutls_x509_crl_verify ()" link="gnutls-x509.html#gnutls-x509-crl-verify"/> + <keyword type="function" name="gnutls_x509_crt_verify_data2 ()" link="gnutls-x509.html#gnutls-x509-crt-verify-data2" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_crt_check_revocation ()" link="gnutls-x509.html#gnutls-x509-crt-check-revocation"/> + <keyword type="function" name="gnutls_x509_crt_get_fingerprint ()" link="gnutls-x509.html#gnutls-x509-crt-get-fingerprint"/> + <keyword type="function" name="gnutls_x509_crt_get_key_purpose_oid ()" link="gnutls-x509.html#gnutls-x509-crt-get-key-purpose-oid"/> + <keyword type="function" name="gnutls_x509_crt_set_key_purpose_oid ()" link="gnutls-x509.html#gnutls-x509-crt-set-key-purpose-oid"/> + <keyword type="function" name="gnutls_x509_crt_check_key_purpose ()" link="gnutls-x509.html#gnutls-x509-crt-check-key-purpose" since="3.5.6"/> + <keyword type="macro" name="GNUTLS_PKCS_CIPHER_MASK()" link="gnutls-x509.html#GNUTLS-PKCS-CIPHER-MASK:CAPS"/> + <keyword type="function" name="gnutls_pkcs_schema_get_name ()" link="gnutls-x509.html#gnutls-pkcs-schema-get-name" since="3.4.0"/> + <keyword type="function" name="gnutls_pkcs_schema_get_oid ()" link="gnutls-x509.html#gnutls-pkcs-schema-get-oid" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_privkey_init ()" link="gnutls-x509.html#gnutls-x509-privkey-init"/> + <keyword type="function" name="gnutls_x509_privkey_deinit ()" link="gnutls-x509.html#gnutls-x509-privkey-deinit"/> + <keyword type="function" name="gnutls_x509_privkey_sec_param ()" link="gnutls-x509.html#gnutls-x509-privkey-sec-param" since="2.12.0"/> + <keyword type="function" name="gnutls_x509_privkey_set_pin_function ()" link="gnutls-x509.html#gnutls-x509-privkey-set-pin-function" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_privkey_cpy ()" link="gnutls-x509.html#gnutls-x509-privkey-cpy"/> + <keyword type="function" name="gnutls_x509_privkey_import ()" link="gnutls-x509.html#gnutls-x509-privkey-import"/> + <keyword type="function" name="gnutls_x509_privkey_import_pkcs8 ()" link="gnutls-x509.html#gnutls-x509-privkey-import-pkcs8"/> + <keyword type="function" name="gnutls_x509_privkey_import_openssl ()" link="gnutls-x509.html#gnutls-x509-privkey-import-openssl"/> + <keyword type="function" name="gnutls_pkcs8_info ()" link="gnutls-x509.html#gnutls-pkcs8-info" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_privkey_import2 ()" link="gnutls-x509.html#gnutls-x509-privkey-import2"/> + <keyword type="function" name="gnutls_x509_privkey_import_rsa_raw ()" link="gnutls-x509.html#gnutls-x509-privkey-import-rsa-raw"/> + <keyword type="function" name="gnutls_x509_privkey_import_rsa_raw2 ()" link="gnutls-x509.html#gnutls-x509-privkey-import-rsa-raw2"/> + <keyword type="function" name="gnutls_x509_privkey_import_ecc_raw ()" link="gnutls-x509.html#gnutls-x509-privkey-import-ecc-raw" since="3.0"/> + <keyword type="function" name="gnutls_x509_privkey_import_gost_raw ()" link="gnutls-x509.html#gnutls-x509-privkey-import-gost-raw" since="3.6.3"/> + <keyword type="function" name="gnutls_x509_privkey_fix ()" link="gnutls-x509.html#gnutls-x509-privkey-fix"/> + <keyword type="function" name="gnutls_x509_privkey_export_dsa_raw ()" link="gnutls-x509.html#gnutls-x509-privkey-export-dsa-raw"/> + <keyword type="function" name="gnutls_x509_privkey_import_dsa_raw ()" link="gnutls-x509.html#gnutls-x509-privkey-import-dsa-raw"/> + <keyword type="function" name="gnutls_x509_privkey_get_pk_algorithm ()" link="gnutls-x509.html#gnutls-x509-privkey-get-pk-algorithm"/> + <keyword type="function" name="gnutls_x509_privkey_get_pk_algorithm2 ()" link="gnutls-x509.html#gnutls-x509-privkey-get-pk-algorithm2"/> + <keyword type="function" name="gnutls_x509_privkey_get_spki ()" link="gnutls-x509.html#gnutls-x509-privkey-get-spki"/> + <keyword type="function" name="gnutls_x509_privkey_set_spki ()" link="gnutls-x509.html#gnutls-x509-privkey-set-spki"/> + <keyword type="function" name="gnutls_x509_privkey_get_key_id ()" link="gnutls-x509.html#gnutls-x509-privkey-get-key-id"/> + <keyword type="function" name="gnutls_x509_privkey_generate ()" link="gnutls-x509.html#gnutls-x509-privkey-generate"/> + <keyword type="function" name="gnutls_x509_privkey_set_flags ()" link="gnutls-x509.html#gnutls-x509-privkey-set-flags" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_privkey_generate2 ()" link="gnutls-x509.html#gnutls-x509-privkey-generate2"/> + <keyword type="function" name="gnutls_x509_privkey_verify_seed ()" link="gnutls-x509.html#gnutls-x509-privkey-verify-seed" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_privkey_get_seed ()" link="gnutls-x509.html#gnutls-x509-privkey-get-seed" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_privkey_verify_params ()" link="gnutls-x509.html#gnutls-x509-privkey-verify-params"/> + <keyword type="function" name="gnutls_x509_privkey_export ()" link="gnutls-x509.html#gnutls-x509-privkey-export"/> + <keyword type="function" name="gnutls_x509_privkey_export2 ()" link="gnutls-x509.html#gnutls-x509-privkey-export2"/> + <keyword type="function" name="gnutls_x509_privkey_export_pkcs8 ()" link="gnutls-x509.html#gnutls-x509-privkey-export-pkcs8"/> + <keyword type="function" name="gnutls_x509_privkey_export2_pkcs8 ()" link="gnutls-x509.html#gnutls-x509-privkey-export2-pkcs8"/> + <keyword type="function" name="gnutls_x509_privkey_export_rsa_raw2 ()" link="gnutls-x509.html#gnutls-x509-privkey-export-rsa-raw2" since="2.12.0"/> + <keyword type="function" name="gnutls_x509_privkey_export_rsa_raw ()" link="gnutls-x509.html#gnutls-x509-privkey-export-rsa-raw"/> + <keyword type="function" name="gnutls_x509_privkey_export_ecc_raw ()" link="gnutls-x509.html#gnutls-x509-privkey-export-ecc-raw" since="3.0"/> + <keyword type="function" name="gnutls_x509_privkey_export_gost_raw ()" link="gnutls-x509.html#gnutls-x509-privkey-export-gost-raw" since="3.6.3"/> + <keyword type="function" name="gnutls_x509_privkey_sign_data ()" link="gnutls-x509.html#gnutls-x509-privkey-sign-data"/> + <keyword type="function" name="gnutls_x509_crq_sign ()" link="gnutls-x509.html#gnutls-x509-crq-sign"/> + <keyword type="function" name="gnutls_x509_crq_sign2 ()" link="gnutls-x509.html#gnutls-x509-crq-sign2"/> + <keyword type="function" name="gnutls_x509_crq_print ()" link="gnutls-x509.html#gnutls-x509-crq-print" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_verify ()" link="gnutls-x509.html#gnutls-x509-crq-verify"/> + <keyword type="function" name="gnutls_x509_crq_init ()" link="gnutls-x509.html#gnutls-x509-crq-init"/> + <keyword type="function" name="gnutls_x509_crq_deinit ()" link="gnutls-x509.html#gnutls-x509-crq-deinit"/> + <keyword type="function" name="gnutls_x509_crq_import ()" link="gnutls-x509.html#gnutls-x509-crq-import"/> + <keyword type="function" name="gnutls_x509_crq_get_private_key_usage_period ()" link="gnutls-x509.html#gnutls-x509-crq-get-private-key-usage-period"/> + <keyword type="function" name="gnutls_x509_crq_get_dn ()" link="gnutls-x509.html#gnutls-x509-crq-get-dn"/> + <keyword type="function" name="gnutls_x509_crq_get_dn2 ()" link="gnutls-x509.html#gnutls-x509-crq-get-dn2" since="3.1.10"/> + <keyword type="function" name="gnutls_x509_crq_get_dn3 ()" link="gnutls-x509.html#gnutls-x509-crq-get-dn3" since="3.5.7"/> + <keyword type="function" name="gnutls_x509_crq_get_dn_oid ()" link="gnutls-x509.html#gnutls-x509-crq-get-dn-oid"/> + <keyword type="function" name="gnutls_x509_crq_get_dn_by_oid ()" link="gnutls-x509.html#gnutls-x509-crq-get-dn-by-oid"/> + <keyword type="function" name="gnutls_x509_crq_set_dn ()" link="gnutls-x509.html#gnutls-x509-crq-set-dn"/> + <keyword type="function" name="gnutls_x509_crq_set_dn_by_oid ()" link="gnutls-x509.html#gnutls-x509-crq-set-dn-by-oid"/> + <keyword type="function" name="gnutls_x509_crq_set_version ()" link="gnutls-x509.html#gnutls-x509-crq-set-version"/> + <keyword type="function" name="gnutls_x509_crq_get_version ()" link="gnutls-x509.html#gnutls-x509-crq-get-version"/> + <keyword type="function" name="gnutls_x509_crq_set_key ()" link="gnutls-x509.html#gnutls-x509-crq-set-key"/> + <keyword type="function" name="gnutls_x509_crq_set_extension_by_oid ()" link="gnutls-x509.html#gnutls-x509-crq-set-extension-by-oid"/> + <keyword type="function" name="gnutls_x509_crq_set_challenge_password ()" link="gnutls-x509.html#gnutls-x509-crq-set-challenge-password"/> + <keyword type="function" name="gnutls_x509_crq_get_challenge_password ()" link="gnutls-x509.html#gnutls-x509-crq-get-challenge-password"/> + <keyword type="function" name="gnutls_x509_crq_set_attribute_by_oid ()" link="gnutls-x509.html#gnutls-x509-crq-set-attribute-by-oid"/> + <keyword type="function" name="gnutls_x509_crq_get_attribute_by_oid ()" link="gnutls-x509.html#gnutls-x509-crq-get-attribute-by-oid"/> + <keyword type="function" name="gnutls_x509_crq_export ()" link="gnutls-x509.html#gnutls-x509-crq-export"/> + <keyword type="function" name="gnutls_x509_crq_export2 ()" link="gnutls-x509.html#gnutls-x509-crq-export2"/> + <keyword type="function" name="gnutls_x509_crt_set_crq ()" link="gnutls-x509.html#gnutls-x509-crt-set-crq"/> + <keyword type="function" name="gnutls_x509_crt_set_crq_extensions ()" link="gnutls-x509.html#gnutls-x509-crt-set-crq-extensions" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crt_set_crq_extension_by_oid ()" link="gnutls-x509.html#gnutls-x509-crt-set-crq-extension-by-oid" since="3.5.1"/> + <keyword type="function" name="gnutls_x509_crq_set_private_key_usage_period ()" link="gnutls-x509.html#gnutls-x509-crq-set-private-key-usage-period"/> + <keyword type="function" name="gnutls_x509_crq_set_key_rsa_raw ()" link="gnutls-x509.html#gnutls-x509-crq-set-key-rsa-raw" since="2.6.0"/> + <keyword type="function" name="gnutls_x509_crq_set_subject_alt_name ()" link="gnutls-x509.html#gnutls-x509-crq-set-subject-alt-name" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_set_subject_alt_othername ()" link="gnutls-x509.html#gnutls-x509-crq-set-subject-alt-othername" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_crq_set_key_usage ()" link="gnutls-x509.html#gnutls-x509-crq-set-key-usage" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_set_basic_constraints ()" link="gnutls-x509.html#gnutls-x509-crq-set-basic-constraints" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_set_key_purpose_oid ()" link="gnutls-x509.html#gnutls-x509-crq-set-key-purpose-oid" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_key_purpose_oid ()" link="gnutls-x509.html#gnutls-x509-crq-get-key-purpose-oid" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_extension_data ()" link="gnutls-x509.html#gnutls-x509-crq-get-extension-data" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_extension_data2 ()" link="gnutls-x509.html#gnutls-x509-crq-get-extension-data2" since="3.3.0"/> + <keyword type="function" name="gnutls_x509_crq_get_extension_info ()" link="gnutls-x509.html#gnutls-x509-crq-get-extension-info" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_attribute_data ()" link="gnutls-x509.html#gnutls-x509-crq-get-attribute-data" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_attribute_info ()" link="gnutls-x509.html#gnutls-x509-crq-get-attribute-info" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_pk_algorithm ()" link="gnutls-x509.html#gnutls-x509-crq-get-pk-algorithm"/> + <keyword type="function" name="gnutls_x509_crq_get_spki ()" link="gnutls-x509.html#gnutls-x509-crq-get-spki"/> + <keyword type="function" name="gnutls_x509_crq_set_spki ()" link="gnutls-x509.html#gnutls-x509-crq-set-spki" since="3.6.0"/> + <keyword type="function" name="gnutls_x509_crq_get_signature_oid ()" link="gnutls-x509.html#gnutls-x509-crq-get-signature-oid" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_crq_get_pk_oid ()" link="gnutls-x509.html#gnutls-x509-crq-get-pk-oid" since="3.5.0"/> + <keyword type="function" name="gnutls_x509_crq_get_key_id ()" link="gnutls-x509.html#gnutls-x509-crq-get-key-id" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_key_rsa_raw ()" link="gnutls-x509.html#gnutls-x509-crq-get-key-rsa-raw" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_key_usage ()" link="gnutls-x509.html#gnutls-x509-crq-get-key-usage" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_basic_constraints ()" link="gnutls-x509.html#gnutls-x509-crq-get-basic-constraints" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_subject_alt_name ()" link="gnutls-x509.html#gnutls-x509-crq-get-subject-alt-name" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_subject_alt_othername_oid ()" link="gnutls-x509.html#gnutls-x509-crq-get-subject-alt-othername-oid" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_extension_by_oid ()" link="gnutls-x509.html#gnutls-x509-crq-get-extension-by-oid" since="2.8.0"/> + <keyword type="function" name="gnutls_x509_crq_get_tlsfeatures ()" link="gnutls-x509.html#gnutls-x509-crq-get-tlsfeatures" since="3.5.1"/> + <keyword type="function" name="gnutls_x509_crq_set_tlsfeatures ()" link="gnutls-x509.html#gnutls-x509-crq-set-tlsfeatures" since="3.5.1"/> + <keyword type="function" name="gnutls_x509_crt_get_extension_by_oid2 ()" link="gnutls-x509.html#gnutls-x509-crt-get-extension-by-oid2" since="3.3.8"/> + <keyword type="function" name="gnutls_x509_trust_list_init ()" link="gnutls-x509.html#gnutls-x509-trust-list-init" since="3.0.0"/> + <keyword type="function" name="gnutls_x509_trust_list_deinit ()" link="gnutls-x509.html#gnutls-x509-trust-list-deinit" since="3.0.0"/> + <keyword type="function" name="gnutls_x509_trust_list_get_issuer ()" link="gnutls-x509.html#gnutls-x509-trust-list-get-issuer" since="3.0"/> + <keyword type="function" name="gnutls_x509_trust_list_get_issuer_by_dn ()" link="gnutls-x509.html#gnutls-x509-trust-list-get-issuer-by-dn" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_trust_list_get_issuer_by_subject_key_id ()" link="gnutls-x509.html#gnutls-x509-trust-list-get-issuer-by-subject-key-id" since="3.4.2"/> + <keyword type="function" name="gnutls_x509_trust_list_add_cas ()" link="gnutls-x509.html#gnutls-x509-trust-list-add-cas" since="3.0.0"/> + <keyword type="function" name="gnutls_x509_trust_list_remove_cas ()" link="gnutls-x509.html#gnutls-x509-trust-list-remove-cas" since="3.1.10"/> + <keyword type="function" name="gnutls_x509_trust_list_add_named_crt ()" link="gnutls-x509.html#gnutls-x509-trust-list-add-named-crt" since="3.0.0"/> + <keyword type="function" name="gnutls_x509_trust_list_add_crls ()" link="gnutls-x509.html#gnutls-x509-trust-list-add-crls" since="3.0"/> + <keyword type="function" name="gnutls_x509_trust_list_iter_get_ca ()" link="gnutls-x509.html#gnutls-x509-trust-list-iter-get-ca" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_trust_list_iter_deinit ()" link="gnutls-x509.html#gnutls-x509-trust-list-iter-deinit" since="3.4.0"/> + <keyword type="function" name="gnutls_session_set_verify_output_function ()" link="gnutls-x509.html#gnutls-session-set-verify-output-function" since="3.7.0"/> + <keyword type="function" name="gnutls_x509_trust_list_verify_named_crt ()" link="gnutls-x509.html#gnutls-x509-trust-list-verify-named-crt" since="3.0.0"/> + <keyword type="function" name="gnutls_x509_trust_list_verify_crt2 ()" link="gnutls-x509.html#gnutls-x509-trust-list-verify-crt2" since="3.3.8"/> + <keyword type="function" name="gnutls_x509_trust_list_verify_crt ()" link="gnutls-x509.html#gnutls-x509-trust-list-verify-crt" since="3.0"/> + <keyword type="function" name="gnutls_x509_trust_list_add_trust_mem ()" link="gnutls-x509.html#gnutls-x509-trust-list-add-trust-mem" since="3.1"/> + <keyword type="function" name="gnutls_x509_trust_list_add_trust_file ()" link="gnutls-x509.html#gnutls-x509-trust-list-add-trust-file" since="3.1"/> + <keyword type="function" name="gnutls_x509_trust_list_add_trust_dir ()" link="gnutls-x509.html#gnutls-x509-trust-list-add-trust-dir" since="3.3.6"/> + <keyword type="function" name="gnutls_x509_trust_list_remove_trust_file ()" link="gnutls-x509.html#gnutls-x509-trust-list-remove-trust-file" since="3.1.10"/> + <keyword type="function" name="gnutls_x509_trust_list_remove_trust_mem ()" link="gnutls-x509.html#gnutls-x509-trust-list-remove-trust-mem" since="3.1.10"/> + <keyword type="function" name="gnutls_x509_trust_list_add_system_trust ()" link="gnutls-x509.html#gnutls-x509-trust-list-add-system-trust" since="3.1"/> + <keyword type="function" name="gnutls_x509_trust_list_set_getissuer_function ()" link="gnutls-x509.html#gnutls-x509-trust-list-set-getissuer-function" since="3.7.0"/> + <keyword type="function" name="gnutls_x509_trust_list_set_ptr ()" link="gnutls-x509.html#gnutls-x509-trust-list-set-ptr" since="3.7.0"/> + <keyword type="function" name="gnutls_x509_trust_list_get_ptr ()" link="gnutls-x509.html#gnutls-x509-trust-list-get-ptr" since="3.7.0"/> + <keyword type="function" name="gnutls_certificate_set_trust_list ()" link="gnutls-x509.html#gnutls-certificate-set-trust-list" since="3.2.2"/> + <keyword type="function" name="gnutls_certificate_get_trust_list ()" link="gnutls-x509.html#gnutls-certificate-get-trust-list" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_ext_deinit ()" link="gnutls-x509.html#gnutls-x509-ext-deinit"/> + <keyword type="function" name="gnutls_x509_ext_print ()" link="gnutls-x509.html#gnutls-x509-ext-print"/> + <keyword type="macro" name="GNUTLS_OID_X520_COUNTRY_NAME" link="gnutls-x509.html#GNUTLS-OID-X520-COUNTRY-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_ORGANIZATION_NAME" link="gnutls-x509.html#GNUTLS-OID-X520-ORGANIZATION-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME" link="gnutls-x509.html#GNUTLS-OID-X520-ORGANIZATIONAL-UNIT-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_COMMON_NAME" link="gnutls-x509.html#GNUTLS-OID-X520-COMMON-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_LOCALITY_NAME" link="gnutls-x509.html#GNUTLS-OID-X520-LOCALITY-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME" link="gnutls-x509.html#GNUTLS-OID-X520-STATE-OR-PROVINCE-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_INITIALS" link="gnutls-x509.html#GNUTLS-OID-X520-INITIALS:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_GENERATION_QUALIFIER" link="gnutls-x509.html#GNUTLS-OID-X520-GENERATION-QUALIFIER:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_SURNAME" link="gnutls-x509.html#GNUTLS-OID-X520-SURNAME:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_GIVEN_NAME" link="gnutls-x509.html#GNUTLS-OID-X520-GIVEN-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_TITLE" link="gnutls-x509.html#GNUTLS-OID-X520-TITLE:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_DN_QUALIFIER" link="gnutls-x509.html#GNUTLS-OID-X520-DN-QUALIFIER:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_PSEUDONYM" link="gnutls-x509.html#GNUTLS-OID-X520-PSEUDONYM:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_POSTALCODE" link="gnutls-x509.html#GNUTLS-OID-X520-POSTALCODE:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_X520_NAME" link="gnutls-x509.html#GNUTLS-OID-X520-NAME:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_LDAP_DC" link="gnutls-x509.html#GNUTLS-OID-LDAP-DC:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_LDAP_UID" link="gnutls-x509.html#GNUTLS-OID-LDAP-UID:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_PKCS9_EMAIL" link="gnutls-x509.html#GNUTLS-OID-PKCS9-EMAIL:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_PKIX_DATE_OF_BIRTH" link="gnutls-x509.html#GNUTLS-OID-PKIX-DATE-OF-BIRTH:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_PKIX_PLACE_OF_BIRTH" link="gnutls-x509.html#GNUTLS-OID-PKIX-PLACE-OF-BIRTH:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_PKIX_GENDER" link="gnutls-x509.html#GNUTLS-OID-PKIX-GENDER:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP" link="gnutls-x509.html#GNUTLS-OID-PKIX-COUNTRY-OF-CITIZENSHIP:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE" link="gnutls-x509.html#GNUTLS-OID-PKIX-COUNTRY-OF-RESIDENCE:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_TLS_WWW_SERVER" link="gnutls-x509.html#GNUTLS-KP-TLS-WWW-SERVER:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_TLS_WWW_CLIENT" link="gnutls-x509.html#GNUTLS-KP-TLS-WWW-CLIENT:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_CODE_SIGNING" link="gnutls-x509.html#GNUTLS-KP-CODE-SIGNING:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_MS_SMART_CARD_LOGON" link="gnutls-x509.html#GNUTLS-KP-MS-SMART-CARD-LOGON:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_EMAIL_PROTECTION" link="gnutls-x509.html#GNUTLS-KP-EMAIL-PROTECTION:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_TIME_STAMPING" link="gnutls-x509.html#GNUTLS-KP-TIME-STAMPING:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_OCSP_SIGNING" link="gnutls-x509.html#GNUTLS-KP-OCSP-SIGNING:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_IPSEC_IKE" link="gnutls-x509.html#GNUTLS-KP-IPSEC-IKE:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_ANY" link="gnutls-x509.html#GNUTLS-KP-ANY:CAPS"/> + <keyword type="macro" name="GNUTLS_KP_FLAG_DISALLOW_ANY" link="gnutls-x509.html#GNUTLS-KP-FLAG-DISALLOW-ANY:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_AIA" link="gnutls-x509.html#GNUTLS-OID-AIA:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_AD_OCSP" link="gnutls-x509.html#GNUTLS-OID-AD-OCSP:CAPS"/> + <keyword type="macro" name="GNUTLS_OID_AD_CAISSUERS" link="gnutls-x509.html#GNUTLS-OID-AD-CAISSUERS:CAPS"/> + <keyword type="macro" name="GNUTLS_FSAN_SET" link="gnutls-x509.html#GNUTLS-FSAN-SET:CAPS"/> + <keyword type="macro" name="GNUTLS_FSAN_APPEND" link="gnutls-x509.html#GNUTLS-FSAN-APPEND:CAPS"/> + <keyword type="macro" name="GNUTLS_FSAN_ENCODE_OCTET_STRING" link="gnutls-x509.html#GNUTLS-FSAN-ENCODE-OCTET-STRING:CAPS"/> + <keyword type="macro" name="GNUTLS_FSAN_ENCODE_UTF8_STRING" link="gnutls-x509.html#GNUTLS-FSAN-ENCODE-UTF8-STRING:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_SUBJECT_KEY_ID" link="gnutls-x509.html#GNUTLS-X509EXT-OID-SUBJECT-KEY-ID:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_KEY_USAGE" link="gnutls-x509.html#GNUTLS-X509EXT-OID-KEY-USAGE:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD" link="gnutls-x509.html#GNUTLS-X509EXT-OID-PRIVATE-KEY-USAGE-PERIOD:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_SAN" link="gnutls-x509.html#GNUTLS-X509EXT-OID-SAN:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_IAN" link="gnutls-x509.html#GNUTLS-X509EXT-OID-IAN:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS" link="gnutls-x509.html#GNUTLS-X509EXT-OID-BASIC-CONSTRAINTS:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_NAME_CONSTRAINTS" link="gnutls-x509.html#GNUTLS-X509EXT-OID-NAME-CONSTRAINTS:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_CRL_DIST_POINTS" link="gnutls-x509.html#GNUTLS-X509EXT-OID-CRL-DIST-POINTS:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_CRT_POLICY" link="gnutls-x509.html#GNUTLS-X509EXT-OID-CRT-POLICY:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_AUTHORITY_KEY_ID" link="gnutls-x509.html#GNUTLS-X509EXT-OID-AUTHORITY-KEY-ID:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE" link="gnutls-x509.html#GNUTLS-X509EXT-OID-EXTENDED-KEY-USAGE:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_INHIBIT_ANYPOLICY" link="gnutls-x509.html#GNUTLS-X509EXT-OID-INHIBIT-ANYPOLICY:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS" link="gnutls-x509.html#GNUTLS-X509EXT-OID-AUTHORITY-INFO-ACCESS:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_PROXY_CRT_INFO" link="gnutls-x509.html#GNUTLS-X509EXT-OID-PROXY-CRT-INFO:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_TLSFEATURES" link="gnutls-x509.html#GNUTLS-X509EXT-OID-TLSFEATURES:CAPS"/> + <keyword type="macro" name="GNUTLS_X509EXT_OID_CT_SCT_V1" link="gnutls-x509.html#GNUTLS-X509EXT-OID-CT-SCT-V1:CAPS"/> + <keyword type="macro" name="GNUTLS_X509_OID_POLICY_ANY" link="gnutls-x509.html#GNUTLS-X509-OID-POLICY-ANY:CAPS"/> + <keyword type="enum" name="enum gnutls_certificate_import_flags" link="gnutls-x509.html#gnutls-certificate-import-flags"/> + <keyword type="enum" name="enum gnutls_x509_crt_flags" link="gnutls-x509.html#gnutls-x509-crt-flags"/> + <keyword type="enum" name="enum gnutls_keyid_flags_t" link="gnutls-x509.html#gnutls-keyid-flags-t"/> + <keyword type="enum" name="enum gnutls_info_access_what_t" link="gnutls-x509.html#gnutls-info-access-what-t"/> + <keyword type="typedef" name="gnutls_x509_name_constraints_t" link="gnutls-x509.html#gnutls-x509-name-constraints-t"/> + <keyword type="macro" name="GNUTLS_EXT_FLAG_APPEND" link="gnutls-x509.html#GNUTLS-EXT-FLAG-APPEND:CAPS"/> + <keyword type="macro" name="GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND" link="gnutls-x509.html#GNUTLS-NAME-CONSTRAINTS-FLAG-APPEND:CAPS"/> + <keyword type="macro" name="GNUTLS_CRL_REASON_SUPERSEEDED" link="gnutls-x509.html#GNUTLS-CRL-REASON-SUPERSEEDED:CAPS"/> + <keyword type="enum" name="enum gnutls_x509_crl_reason_flags_t" link="gnutls-x509.html#gnutls-x509-crl-reason-flags-t"/> + <keyword type="macro" name="GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION" link="gnutls-x509.html#GNUTLS-X509-NO-WELL-DEFINED-EXPIRATION:CAPS"/> + <keyword type="typedef" name="gnutls_x509_spki_t" link="gnutls-x509.html#gnutls-x509-spki-t"/> + <keyword type="typedef" name="gnutls_x509_tlsfeatures_t" link="gnutls-x509.html#gnutls-x509-tlsfeatures-t"/> + <keyword type="macro" name="GNUTLS_MAX_QUALIFIERS" link="gnutls-x509.html#GNUTLS-MAX-QUALIFIERS:CAPS"/> + <keyword type="enum" name="enum gnutls_x509_qualifier_t" link="gnutls-x509.html#gnutls-x509-qualifier-t"/> + <keyword type="struct" name="gnutls_x509_policy_st" link="gnutls-x509.html#gnutls-x509-policy-st"/> + <keyword type="macro" name="GNUTLS_X509_DN_OID_RETURN_OID" link="gnutls-x509.html#GNUTLS-X509-DN-OID-RETURN-OID:CAPS"/> + <keyword type="typedef" name="gnutls_x509_dn_t" link="gnutls-x509.html#gnutls-x509-dn-t"/> + <keyword type="struct" name="gnutls_x509_ava_st" link="gnutls-x509.html#gnutls-x509-ava-st"/> + <keyword type="macro" name="GNUTLS_X509_DN_FLAG_COMPAT" link="gnutls-x509.html#GNUTLS-X509-DN-FLAG-COMPAT:CAPS"/> + <keyword type="typedef" name="gnutls_x509_crl_iter_t" link="gnutls-x509.html#gnutls-x509-crl-iter-t"/> + <keyword type="macro" name="gnutls_x509_crl_get_certificate_count" link="gnutls-x509.html#gnutls-x509-crl-get-certificate-count"/> + <keyword type="macro" name="gnutls_x509_crl_get_certificate" link="gnutls-x509.html#gnutls-x509-crl-get-certificate"/> + <keyword type="enum" name="enum gnutls_certificate_verify_flags" link="gnutls-x509.html#gnutls-certificate-verify-flags"/> + <keyword type="macro" name="GNUTLS_VERIFY_ALLOW_BROKEN" link="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-BROKEN:CAPS"/> + <keyword type="enum" name="enum gnutls_certificate_verification_profiles_t" link="gnutls-x509.html#gnutls-certificate-verification-profiles-t"/> + <keyword type="macro" name="GNUTLS_VFLAGS_PROFILE_MASK" link="gnutls-x509.html#GNUTLS-VFLAGS-PROFILE-MASK:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS8_PLAIN" link="gnutls-x509.html#GNUTLS-PKCS8-PLAIN:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS8_USE_PKCS12_3DES" link="gnutls-x509.html#GNUTLS-PKCS8-USE-PKCS12-3DES:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS8_USE_PKCS12_ARCFOUR" link="gnutls-x509.html#GNUTLS-PKCS8-USE-PKCS12-ARCFOUR:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS8_USE_PKCS12_RC2_40" link="gnutls-x509.html#GNUTLS-PKCS8-USE-PKCS12-RC2-40:CAPS"/> + <keyword type="enum" name="enum gnutls_pkcs_encrypt_flags_t" link="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PKCS12_3DES" link="gnutls-x509.html#GNUTLS-PKCS-USE-PKCS12-3DES:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PKCS12_ARCFOUR" link="gnutls-x509.html#GNUTLS-PKCS-USE-PKCS12-ARCFOUR:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PKCS12_RC2_40" link="gnutls-x509.html#GNUTLS-PKCS-USE-PKCS12-RC2-40:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PBES2_3DES" link="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-3DES:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PBES2_AES_128" link="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-AES-128:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PBES2_AES_192" link="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-AES-192:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PBES2_AES_256" link="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-AES-256:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PBES2_GOST_TC26Z" link="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-TC26Z:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PBES2_GOST_CPA" link="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPA:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PBES2_GOST_CPB" link="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPB:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PBES2_GOST_CPC" link="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPC:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS_USE_PBES2_GOST_CPD" link="gnutls-x509.html#GNUTLS-PKCS-USE-PBES2-GOST-CPD:CAPS"/> + <keyword type="enum" name="enum gnutls_keygen_types_t" link="gnutls-x509.html#gnutls-keygen-types-t"/> + <keyword type="struct" name="gnutls_keygen_data_st" link="gnutls-x509.html#gnutls-keygen-data-st"/> + <keyword type="typedef" name="gnutls_x509_trust_list_t" link="gnutls-x509.html#gnutls-x509-trust-list-t"/> + <keyword type="typedef" name="gnutls_x509_trust_list_iter_t" link="gnutls-x509.html#gnutls-x509-trust-list-iter-t"/> + <keyword type="enum" name="enum gnutls_trust_list_flags_t" link="gnutls-x509.html#gnutls-trust-list-flags-t"/> + <keyword type="struct" name="gnutls_x509_ext_st" link="gnutls-x509.html#gnutls-x509-ext-st"/> + <keyword type="function" name="gnutls_openpgp_crt_init ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-init" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_deinit ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-deinit" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_import ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-import" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_export ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-export" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_export2 ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-export2" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_print ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-print" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_key_usage ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-key-usage" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_fingerprint ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-fingerprint" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_fingerprint ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-fingerprint" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_name ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-name" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_pk_algorithm ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-algorithm" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_version ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-version" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_creation_time ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-creation-time" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_expiration_time ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-expiration-time" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_key_id ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-key-id" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_check_hostname ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-check-hostname" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_check_hostname2 ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-check-hostname2" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_check_email ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-check-email" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_revoked_status ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-revoked-status" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_count ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-count" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_idx ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-idx" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_revoked_status ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-revoked-status" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_pk_algorithm ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-algorithm" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_creation_time ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-creation-time" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_expiration_time ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-expiration-time" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_id ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-id" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_usage ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-usage" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_pk_dsa_raw ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-dsa-raw" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_subkey_pk_rsa_raw ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-rsa-raw" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_pk_dsa_raw ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-dsa-raw" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_pk_rsa_raw ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-rsa-raw" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_preferred_key_id ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-preferred-key-id" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_set_preferred_key_id ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-set-preferred-key-id" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_init ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-init" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_deinit ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-deinit" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_pk_algorithm ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-pk-algorithm" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_sec_param ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-sec-param" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_import ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-import" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_fingerprint ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-fingerprint" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_subkey_fingerprint ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-fingerprint" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_key_id ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-key-id" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_subkey_count ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-count" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_subkey_idx ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-idx" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_subkey_revoked_status ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-revoked-status" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_revoked_status ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-revoked-status" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_subkey_pk_algorithm ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-pk-algorithm" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_subkey_expiration_time ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-expiration-time" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_subkey_id ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-id" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_subkey_creation_time ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-creation-time" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_export_subkey_dsa_raw ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-export-subkey-dsa-raw" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_export_subkey_rsa_raw ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-export-subkey-rsa-raw" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_export_dsa_raw ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-export-dsa-raw" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_export_rsa_raw ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-export-rsa-raw" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_export ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-export" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_export2 ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-export2" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_set_preferred_key_id ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-set-preferred-key-id" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_privkey_get_preferred_key_id ()" link="gnutls-openpgp.html#gnutls-openpgp-privkey-get-preferred-key-id" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_get_auth_subkey ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-get-auth-subkey" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_keyring_init ()" link="gnutls-openpgp.html#gnutls-openpgp-keyring-init" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_keyring_deinit ()" link="gnutls-openpgp.html#gnutls-openpgp-keyring-deinit" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_keyring_import ()" link="gnutls-openpgp.html#gnutls-openpgp-keyring-import" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_keyring_check_id ()" link="gnutls-openpgp.html#gnutls-openpgp-keyring-check-id" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_verify_ring ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-verify-ring" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_crt_verify_self ()" link="gnutls-openpgp.html#gnutls-openpgp-crt-verify-self" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_keyring_get_crt ()" link="gnutls-openpgp.html#gnutls-openpgp-keyring-get-crt" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_keyring_get_crt_count ()" link="gnutls-openpgp.html#gnutls-openpgp-keyring-get-crt-count" deprecated=""/> + <keyword type="function" name="gnutls_openpgp_recv_key_func ()" link="gnutls-openpgp.html#gnutls-openpgp-recv-key-func"/> + <keyword type="function" name="gnutls_openpgp_set_recv_key_function ()" link="gnutls-openpgp.html#gnutls-openpgp-set-recv-key-function" deprecated=""/> + <keyword type="function" name="gnutls_certificate_set_openpgp_key ()" link="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key" deprecated=""/> + <keyword type="function" name="gnutls_certificate_get_openpgp_key ()" link="gnutls-openpgp.html#gnutls-certificate-get-openpgp-key" deprecated=""/> + <keyword type="function" name="gnutls_certificate_get_openpgp_crt ()" link="gnutls-openpgp.html#gnutls-certificate-get-openpgp-crt" deprecated=""/> + <keyword type="function" name="gnutls_certificate_set_openpgp_key_file ()" link="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-file" deprecated=""/> + <keyword type="function" name="gnutls_certificate_set_openpgp_key_mem ()" link="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-mem" deprecated=""/> + <keyword type="function" name="gnutls_certificate_set_openpgp_key_file2 ()" link="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-file2" deprecated=""/> + <keyword type="function" name="gnutls_certificate_set_openpgp_key_mem2 ()" link="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-mem2" deprecated=""/> + <keyword type="function" name="gnutls_certificate_set_openpgp_keyring_mem ()" link="gnutls-openpgp.html#gnutls-certificate-set-openpgp-keyring-mem" deprecated=""/> + <keyword type="function" name="gnutls_certificate_set_openpgp_keyring_file ()" link="gnutls-openpgp.html#gnutls-certificate-set-openpgp-keyring-file" deprecated=""/> + <keyword type="enum" name="enum gnutls_openpgp_crt_fmt_t" link="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t"/> + <keyword type="macro" name="GNUTLS_OPENPGP_KEYID_SIZE" link="gnutls-openpgp.html#GNUTLS-OPENPGP-KEYID-SIZE:CAPS"/> + <keyword type="macro" name="GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE" link="gnutls-openpgp.html#GNUTLS-OPENPGP-V4-FINGERPRINT-SIZE:CAPS"/> + <keyword type="macro" name="GNUTLS_OPENPGP_MASTER_KEYID_IDX" link="gnutls-openpgp.html#GNUTLS-OPENPGP-MASTER-KEYID-IDX:CAPS"/> + <keyword type="function" name="gnutls_cipher_init ()" link="gnutls-crypto.html#gnutls-cipher-init" since="2.10.0"/> + <keyword type="function" name="gnutls_cipher_encrypt ()" link="gnutls-crypto.html#gnutls-cipher-encrypt" since="2.10.0"/> + <keyword type="function" name="gnutls_cipher_decrypt ()" link="gnutls-crypto.html#gnutls-cipher-decrypt" since="2.10.0"/> + <keyword type="function" name="gnutls_cipher_decrypt2 ()" link="gnutls-crypto.html#gnutls-cipher-decrypt2" since="2.12.0"/> + <keyword type="function" name="gnutls_cipher_encrypt2 ()" link="gnutls-crypto.html#gnutls-cipher-encrypt2" since="2.12.0"/> + <keyword type="function" name="gnutls_cipher_encrypt3 ()" link="gnutls-crypto.html#gnutls-cipher-encrypt3" since="3.7.7"/> + <keyword type="function" name="gnutls_cipher_decrypt3 ()" link="gnutls-crypto.html#gnutls-cipher-decrypt3" since="3.7.7"/> + <keyword type="function" name="gnutls_cipher_set_iv ()" link="gnutls-crypto.html#gnutls-cipher-set-iv" since="3.0"/> + <keyword type="function" name="gnutls_cipher_tag ()" link="gnutls-crypto.html#gnutls-cipher-tag" since="3.0"/> + <keyword type="function" name="gnutls_cipher_add_auth ()" link="gnutls-crypto.html#gnutls-cipher-add-auth" since="3.0"/> + <keyword type="function" name="gnutls_cipher_deinit ()" link="gnutls-crypto.html#gnutls-cipher-deinit" since="2.10.0"/> + <keyword type="function" name="gnutls_cipher_get_block_size ()" link="gnutls-crypto.html#gnutls-cipher-get-block-size" since="2.10.0"/> + <keyword type="function" name="gnutls_aead_cipher_set_key ()" link="gnutls-crypto.html#gnutls-aead-cipher-set-key" since="3.7.5"/> + <keyword type="function" name="gnutls_aead_cipher_decrypt ()" link="gnutls-crypto.html#gnutls-aead-cipher-decrypt" since="3.4.0"/> + <keyword type="function" name="gnutls_aead_cipher_encrypt ()" link="gnutls-crypto.html#gnutls-aead-cipher-encrypt" since="3.4.0"/> + <keyword type="function" name="gnutls_aead_cipher_encryptv ()" link="gnutls-crypto.html#gnutls-aead-cipher-encryptv" since="3.6.3"/> + <keyword type="function" name="gnutls_aead_cipher_encryptv2 ()" link="gnutls-crypto.html#gnutls-aead-cipher-encryptv2" since="3.6.10"/> + <keyword type="function" name="gnutls_aead_cipher_decryptv2 ()" link="gnutls-crypto.html#gnutls-aead-cipher-decryptv2" since="3.6.10"/> + <keyword type="function" name="gnutls_aead_cipher_deinit ()" link="gnutls-crypto.html#gnutls-aead-cipher-deinit" since="3.4.0"/> + <keyword type="function" name="gnutls_mac_get_nonce_size ()" link="gnutls-crypto.html#gnutls-mac-get-nonce-size" since="3.2.0"/> + <keyword type="function" name="gnutls_hmac_set_nonce ()" link="gnutls-crypto.html#gnutls-hmac-set-nonce" since="3.2.0"/> + <keyword type="function" name="gnutls_hmac ()" link="gnutls-crypto.html#gnutls-hmac" since="2.10.0"/> + <keyword type="function" name="gnutls_hmac_output ()" link="gnutls-crypto.html#gnutls-hmac-output" since="2.10.0"/> + <keyword type="function" name="gnutls_hmac_deinit ()" link="gnutls-crypto.html#gnutls-hmac-deinit" since="2.10.0"/> + <keyword type="function" name="gnutls_hmac_get_len ()" link="gnutls-crypto.html#gnutls-hmac-get-len" since="2.10.0"/> + <keyword type="function" name="gnutls_hmac_copy ()" link="gnutls-crypto.html#gnutls-hmac-copy" since="3.6.9"/> + <keyword type="function" name="gnutls_hash_init ()" link="gnutls-crypto.html#gnutls-hash-init" since="2.10.0"/> + <keyword type="function" name="gnutls_hash ()" link="gnutls-crypto.html#gnutls-hash" since="2.10.0"/> + <keyword type="function" name="gnutls_hash_output ()" link="gnutls-crypto.html#gnutls-hash-output" since="2.10.0"/> + <keyword type="function" name="gnutls_hash_deinit ()" link="gnutls-crypto.html#gnutls-hash-deinit" since="2.10.0"/> + <keyword type="function" name="gnutls_hash_get_len ()" link="gnutls-crypto.html#gnutls-hash-get-len" since="2.10.0"/> + <keyword type="function" name="gnutls_hash_copy ()" link="gnutls-crypto.html#gnutls-hash-copy" since="3.6.9"/> + <keyword type="function" name="gnutls_hkdf_extract ()" link="gnutls-crypto.html#gnutls-hkdf-extract" since="3.6.13"/> + <keyword type="function" name="gnutls_hkdf_expand ()" link="gnutls-crypto.html#gnutls-hkdf-expand" since="3.6.13"/> + <keyword type="function" name="gnutls_pbkdf2 ()" link="gnutls-crypto.html#gnutls-pbkdf2" since="3.6.13"/> + <keyword type="function" name="gnutls_rnd ()" link="gnutls-crypto.html#gnutls-rnd" since="2.12.0"/> + <keyword type="function" name="gnutls_rnd_refresh ()" link="gnutls-crypto.html#gnutls-rnd-refresh" since="3.1.7"/> + <keyword type="function" name="gnutls_cipher_init_func ()" link="gnutls-crypto.html#gnutls-cipher-init-func"/> + <keyword type="function" name="gnutls_cipher_setkey_func ()" link="gnutls-crypto.html#gnutls-cipher-setkey-func"/> + <keyword type="function" name="gnutls_cipher_setiv_func ()" link="gnutls-crypto.html#gnutls-cipher-setiv-func"/> + <keyword type="function" name="gnutls_cipher_getiv_func ()" link="gnutls-crypto.html#gnutls-cipher-getiv-func"/> + <keyword type="function" name="gnutls_cipher_encrypt_func ()" link="gnutls-crypto.html#gnutls-cipher-encrypt-func"/> + <keyword type="function" name="gnutls_cipher_decrypt_func ()" link="gnutls-crypto.html#gnutls-cipher-decrypt-func"/> + <keyword type="function" name="gnutls_cipher_auth_func ()" link="gnutls-crypto.html#gnutls-cipher-auth-func"/> + <keyword type="function" name="gnutls_cipher_tag_func ()" link="gnutls-crypto.html#gnutls-cipher-tag-func"/> + <keyword type="function" name="gnutls_cipher_aead_encrypt_func ()" link="gnutls-crypto.html#gnutls-cipher-aead-encrypt-func"/> + <keyword type="function" name="gnutls_cipher_aead_decrypt_func ()" link="gnutls-crypto.html#gnutls-cipher-aead-decrypt-func"/> + <keyword type="function" name="gnutls_cipher_deinit_func ()" link="gnutls-crypto.html#gnutls-cipher-deinit-func"/> + <keyword type="function" name="gnutls_crypto_register_cipher ()" link="gnutls-crypto.html#gnutls-crypto-register-cipher" deprecated="since 3.7.0 it is no longer possible to override cipher implementation" since="3.4.0"/> + <keyword type="function" name="gnutls_crypto_register_aead_cipher ()" link="gnutls-crypto.html#gnutls-crypto-register-aead-cipher" deprecated="since 3.7.0 it is no longer possible to override cipher implementation" since="3.4.0"/> + <keyword type="function" name="gnutls_mac_init_func ()" link="gnutls-crypto.html#gnutls-mac-init-func"/> + <keyword type="function" name="gnutls_mac_setkey_func ()" link="gnutls-crypto.html#gnutls-mac-setkey-func"/> + <keyword type="function" name="gnutls_mac_setnonce_func ()" link="gnutls-crypto.html#gnutls-mac-setnonce-func"/> + <keyword type="function" name="gnutls_mac_hash_func ()" link="gnutls-crypto.html#gnutls-mac-hash-func"/> + <keyword type="function" name="gnutls_mac_output_func ()" link="gnutls-crypto.html#gnutls-mac-output-func"/> + <keyword type="function" name="gnutls_mac_deinit_func ()" link="gnutls-crypto.html#gnutls-mac-deinit-func"/> + <keyword type="function" name="gnutls_mac_fast_func ()" link="gnutls-crypto.html#gnutls-mac-fast-func"/> + <keyword type="function" name="gnutls_mac_copy_func ()" link="gnutls-crypto.html#gnutls-mac-copy-func"/> + <keyword type="function" name="gnutls_crypto_register_mac ()" link="gnutls-crypto.html#gnutls-crypto-register-mac" deprecated="since 3.7.0 it is no longer possible to override cipher implementation" since="3.4.0"/> + <keyword type="function" name="gnutls_digest_init_func ()" link="gnutls-crypto.html#gnutls-digest-init-func"/> + <keyword type="function" name="gnutls_digest_hash_func ()" link="gnutls-crypto.html#gnutls-digest-hash-func"/> + <keyword type="function" name="gnutls_digest_output_func ()" link="gnutls-crypto.html#gnutls-digest-output-func"/> + <keyword type="function" name="gnutls_digest_deinit_func ()" link="gnutls-crypto.html#gnutls-digest-deinit-func"/> + <keyword type="function" name="gnutls_digest_fast_func ()" link="gnutls-crypto.html#gnutls-digest-fast-func"/> + <keyword type="function" name="gnutls_digest_copy_func ()" link="gnutls-crypto.html#gnutls-digest-copy-func"/> + <keyword type="function" name="gnutls_crypto_register_digest ()" link="gnutls-crypto.html#gnutls-crypto-register-digest" deprecated="since 3.7.0 it is no longer possible to override cipher implementation" since="3.4.0"/> + <keyword type="function" name="gnutls_encode_ber_digest_info ()" link="gnutls-crypto.html#gnutls-encode-ber-digest-info" since="3.5.0"/> + <keyword type="function" name="gnutls_decode_ber_digest_info ()" link="gnutls-crypto.html#gnutls-decode-ber-digest-info" since="3.5.0"/> + <keyword type="function" name="gnutls_decode_rs_value ()" link="gnutls-crypto.html#gnutls-decode-rs-value" since="3.6.0"/> + <keyword type="function" name="gnutls_encode_rs_value ()" link="gnutls-crypto.html#gnutls-encode-rs-value" since="3.6.0"/> + <keyword type="function" name="gnutls_encode_gost_rs_value ()" link="gnutls-crypto.html#gnutls-encode-gost-rs-value" since="3.6.0"/> + <keyword type="function" name="gnutls_decode_gost_rs_value ()" link="gnutls-crypto.html#gnutls-decode-gost-rs-value" since="3.6.0"/> + <keyword type="typedef" name="gnutls_cipher_hd_t" link="gnutls-crypto.html#gnutls-cipher-hd-t"/> + <keyword type="enum" name="enum gnutls_cipher_flags_t" link="gnutls-crypto.html#gnutls-cipher-flags-t" since="3.7.7"/> + <keyword type="typedef" name="gnutls_hash_hd_t" link="gnutls-crypto.html#gnutls-hash-hd-t"/> + <keyword type="typedef" name="gnutls_hmac_hd_t" link="gnutls-crypto.html#gnutls-hmac-hd-t"/> + <keyword type="enum" name="enum gnutls_rnd_level_t" link="gnutls-crypto.html#gnutls-rnd-level-t"/> + <keyword type="function" name="gnutls_pkcs11_token_callback_t ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-callback-t" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_init ()" link="gnutls-pkcs11.html#gnutls-pkcs11-init" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_reinit ()" link="gnutls-pkcs11.html#gnutls-pkcs11-reinit" since="3.0"/> + <keyword type="function" name="gnutls_pkcs11_deinit ()" link="gnutls-pkcs11.html#gnutls-pkcs11-deinit" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_set_token_function ()" link="gnutls-pkcs11.html#gnutls-pkcs11-set-token-function" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_set_pin_function ()" link="gnutls-pkcs11.html#gnutls-pkcs11-set-pin-function" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_get_pin_function ()" link="gnutls-pkcs11.html#gnutls-pkcs11-get-pin-function" since="3.1.0"/> + <keyword type="function" name="gnutls_pkcs11_add_provider ()" link="gnutls-pkcs11.html#gnutls-pkcs11-add-provider" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_init ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-init" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_set_pin_function ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-set-pin-function" since="3.1.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_import_url ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-import-url" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_export_url ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-export-url" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_deinit ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-deinit" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_export ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-export" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_export2 ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-export2" since="3.1.3"/> + <keyword type="function" name="gnutls_pkcs11_obj_export3 ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-export3" since="3.2.7"/> + <keyword type="function" name="gnutls_pkcs11_get_raw_issuer ()" link="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer" since="3.2.7"/> + <keyword type="function" name="gnutls_pkcs11_get_raw_issuer_by_dn ()" link="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer-by-dn" since="3.4.0"/> + <keyword type="function" name="gnutls_pkcs11_get_raw_issuer_by_subject_key_id ()" link="gnutls-pkcs11.html#gnutls-pkcs11-get-raw-issuer-by-subject-key-id" since="3.4.2"/> + <keyword type="function" name="gnutls_pkcs11_crt_is_known ()" link="gnutls-pkcs11.html#gnutls-pkcs11-crt-is-known" since="3.3.0"/> + <keyword type="function" name="gnutls_pkcs11_copy_x509_crt ()" link="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-crt" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_copy_x509_privkey ()" link="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-privkey" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_privkey_generate2 ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-generate2" since="3.1.5"/> + <keyword type="function" name="gnutls_pkcs11_privkey_generate ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-generate" since="3.0"/> + <keyword type="function" name="gnutls_pkcs11_copy_pubkey ()" link="gnutls-pkcs11.html#gnutls-pkcs11-copy-pubkey" since="3.4.6"/> + <keyword type="function" name="gnutls_pkcs11_copy_x509_crt2 ()" link="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-crt2" since="3.4.0"/> + <keyword type="function" name="gnutls_pkcs11_copy_x509_privkey2 ()" link="gnutls-pkcs11.html#gnutls-pkcs11-copy-x509-privkey2" since="3.4.0"/> + <keyword type="function" name="gnutls_pkcs11_delete_url ()" link="gnutls-pkcs11.html#gnutls-pkcs11-delete-url" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_copy_secret_key ()" link="gnutls-pkcs11.html#gnutls-pkcs11-copy-secret-key" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_get_ptr ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-ptr" since="3.6.3"/> + <keyword type="function" name="gnutls_pkcs11_obj_get_info ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-info" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_set_info ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-set-info" since="3.4.0"/> + <keyword type="function" name="gnutls_pkcs11_token_init ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-init"/> + <keyword type="function" name="gnutls_pkcs11_token_get_ptr ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-get-ptr" since="3.6.3"/> + <keyword type="function" name="gnutls_pkcs11_token_get_mechanism ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-get-mechanism" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_token_check_mechanism ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-check-mechanism" since="3.6.0"/> + <keyword type="function" name="gnutls_pkcs11_token_set_pin ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-set-pin"/> + <keyword type="function" name="gnutls_pkcs11_token_get_url ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-get-url" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_token_get_info ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-get-info" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_token_get_flags ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-get-flags" since="2.12.0"/> + <keyword type="macro" name="gnutls_pkcs11_obj_list_import_url()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url"/> + <keyword type="macro" name="gnutls_pkcs11_obj_list_import_url2()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url2"/> + <keyword type="function" name="gnutls_pkcs11_obj_list_import_url3 ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url3" since="3.4.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_list_import_url4 ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-list-import-url4" since="3.4.0"/> + <keyword type="function" name="gnutls_x509_crt_import_pkcs11 ()" link="gnutls-pkcs11.html#gnutls-x509-crt-import-pkcs11" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_type_get_name ()" link="gnutls-pkcs11.html#gnutls-pkcs11-type-get-name" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_obj_get_exts ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-exts" since="3.3.8"/> + <keyword type="function" name="gnutls_pkcs11_obj_get_flags ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-get-flags" since="3.3.7"/> + <keyword type="function" name="gnutls_pkcs11_obj_flags_get_str ()" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-flags-get-str" since="3.3.7"/> + <keyword type="function" name="gnutls_x509_crt_list_import_pkcs11 ()" link="gnutls-pkcs11.html#gnutls-x509-crt-list-import-pkcs11" since="2.12.0"/> + <keyword type="function" name="gnutls_pkcs11_privkey_init ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-init"/> + <keyword type="function" name="gnutls_pkcs11_privkey_cpy ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-cpy" since="3.4.0"/> + <keyword type="function" name="gnutls_pkcs11_privkey_set_pin_function ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-set-pin-function" since="3.1.0"/> + <keyword type="function" name="gnutls_pkcs11_privkey_deinit ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-deinit"/> + <keyword type="function" name="gnutls_pkcs11_privkey_get_pk_algorithm ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-get-pk-algorithm"/> + <keyword type="function" name="gnutls_pkcs11_privkey_get_info ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-get-info"/> + <keyword type="function" name="gnutls_pkcs11_privkey_import_url ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-import-url"/> + <keyword type="function" name="gnutls_pkcs11_privkey_export_url ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-export-url"/> + <keyword type="function" name="gnutls_pkcs11_privkey_status ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-status" since="3.1.9"/> + <keyword type="function" name="gnutls_pkcs11_privkey_generate3 ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-generate3" since="3.4.0"/> + <keyword type="function" name="gnutls_pkcs11_privkey_export_pubkey ()" link="gnutls-pkcs11.html#gnutls-pkcs11-privkey-export-pubkey" since="3.3.7"/> + <keyword type="function" name="gnutls_pkcs11_token_get_random ()" link="gnutls-pkcs11.html#gnutls-pkcs11-token-get-random"/> + <keyword type="function" name="gnutls_pkcs11_copy_attached_extension ()" link="gnutls-pkcs11.html#gnutls-pkcs11-copy-attached-extension" since="3.3.8"/> + <keyword type="macro" name="GNUTLS_PKCS11_MAX_PIN_LEN" link="gnutls-pkcs11.html#GNUTLS-PKCS11-MAX-PIN-LEN:CAPS"/> + <keyword type="typedef" name="gnutls_pkcs11_obj_t" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-t"/> + <keyword type="macro" name="GNUTLS_PKCS11_FLAG_MANUAL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-MANUAL:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_FLAG_AUTO" link="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-AUTO:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_FLAG_AUTO_TRUSTED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-FLAG-AUTO-TRUSTED:CAPS"/> + <keyword type="enum" name="enum gnutls_pkcs11_obj_flags" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-flags"/> + <keyword type="macro" name="gnutls_pkcs11_obj_attr_t" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-attr-t"/> + <keyword type="enum" name="enum gnutls_pkcs11_url_type_t" link="gnutls-pkcs11.html#gnutls-pkcs11-url-type-t"/> + <keyword type="enum" name="enum gnutls_pkcs11_obj_info_t" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-info-t"/> + <keyword type="macro" name="GNUTLS_PKCS11_OBJ_ATTR_CRT_ALL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-ALL:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_OBJ_ATTR_MATCH" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-MATCH:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_OBJ_ATTR_ALL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-ALL:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-TRUSTED:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-WITH-PRIVKEY:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-CRT-TRUSTED-CA:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_OBJ_ATTR_PUBKEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-PUBKEY:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ATTR-PRIVKEY:CAPS"/> + <keyword type="enum" name="enum gnutls_pkcs11_token_info_t" link="gnutls-pkcs11.html#gnutls-pkcs11-token-info-t"/> + <keyword type="enum" name="enum gnutls_pkcs11_obj_type_t" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-type-t"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_HW" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-HW:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_TRUSTED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-TRUSTED:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_RNG" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-RNG:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-LOGIN-REQUIRED:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-PROTECTED-AUTHENTICATION-PATH:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_INITIALIZED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-INITIALIZED:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_USER_PIN_COUNT_LOW" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-COUNT-LOW:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_USER_PIN_FINAL_TRY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-FINAL-TRY:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_USER_PIN_LOCKED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-LOCKED:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_SO_PIN_COUNT_LOW" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SO-PIN-COUNT-LOW:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_SO_PIN_FINAL_TRY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SO-PIN-FINAL-TRY:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_SO_PIN_LOCKED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SO-PIN-LOCKED:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_USER_PIN_INITIALIZED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-USER-PIN-INITIALIZED:CAPS"/> + <keyword type="macro" name="GNUTLS_PKCS11_TOKEN_ERROR_STATE" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-ERROR-STATE:CAPS"/> + <keyword type="macro" name="gnutls_x509_crt_import_pkcs11_url" link="gnutls-pkcs11.html#gnutls-x509-crt-import-pkcs11-url"/> + <keyword type="struct" name="struct gnutls_pkcs11_obj_st" link="gnutls-pkcs11.html#gnutls-pkcs11-obj-st"/> + <keyword type="function" name="gnutls_pkcs12_init ()" link="gnutls-pkcs12.html#gnutls-pkcs12-init"/> + <keyword type="function" name="gnutls_pkcs12_deinit ()" link="gnutls-pkcs12.html#gnutls-pkcs12-deinit"/> + <keyword type="function" name="gnutls_pkcs12_import ()" link="gnutls-pkcs12.html#gnutls-pkcs12-import"/> + <keyword type="function" name="gnutls_pkcs12_export ()" link="gnutls-pkcs12.html#gnutls-pkcs12-export"/> + <keyword type="function" name="gnutls_pkcs12_export2 ()" link="gnutls-pkcs12.html#gnutls-pkcs12-export2" since="3.1.3"/> + <keyword type="function" name="gnutls_pkcs12_get_bag ()" link="gnutls-pkcs12.html#gnutls-pkcs12-get-bag"/> + <keyword type="function" name="gnutls_pkcs12_set_bag ()" link="gnutls-pkcs12.html#gnutls-pkcs12-set-bag"/> + <keyword type="function" name="gnutls_pkcs12_generate_mac ()" link="gnutls-pkcs12.html#gnutls-pkcs12-generate-mac"/> + <keyword type="function" name="gnutls_pkcs12_generate_mac2 ()" link="gnutls-pkcs12.html#gnutls-pkcs12-generate-mac2"/> + <keyword type="function" name="gnutls_pkcs12_verify_mac ()" link="gnutls-pkcs12.html#gnutls-pkcs12-verify-mac"/> + <keyword type="function" name="gnutls_pkcs12_bag_decrypt ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-decrypt"/> + <keyword type="function" name="gnutls_pkcs12_bag_encrypt ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-encrypt"/> + <keyword type="function" name="gnutls_pkcs12_bag_enc_info ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-enc-info"/> + <keyword type="function" name="gnutls_pkcs12_mac_info ()" link="gnutls-pkcs12.html#gnutls-pkcs12-mac-info"/> + <keyword type="function" name="gnutls_pkcs12_simple_parse ()" link="gnutls-pkcs12.html#gnutls-pkcs12-simple-parse" since="3.1.0"/> + <keyword type="function" name="gnutls_pkcs12_bag_get_data ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-data"/> + <keyword type="function" name="gnutls_pkcs12_bag_set_data ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-data"/> + <keyword type="function" name="gnutls_pkcs12_bag_set_crl ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-crl"/> + <keyword type="function" name="gnutls_pkcs12_bag_set_crt ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-crt"/> + <keyword type="function" name="gnutls_pkcs12_bag_set_privkey ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-privkey"/> + <keyword type="function" name="gnutls_pkcs12_bag_init ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-init"/> + <keyword type="function" name="gnutls_pkcs12_bag_deinit ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-deinit"/> + <keyword type="function" name="gnutls_pkcs12_bag_get_count ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-count"/> + <keyword type="function" name="gnutls_pkcs12_bag_get_key_id ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-key-id"/> + <keyword type="function" name="gnutls_pkcs12_bag_set_key_id ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-key-id"/> + <keyword type="function" name="gnutls_pkcs12_bag_get_friendly_name ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-friendly-name"/> + <keyword type="function" name="gnutls_pkcs12_bag_set_friendly_name ()" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-friendly-name"/> + <keyword type="typedef" name="gnutls_pkcs12_t" link="gnutls-pkcs12.html#gnutls-pkcs12-t"/> + <keyword type="typedef" name="gnutls_pkcs12_bag_t" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-t"/> + <keyword type="macro" name="GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED" link="gnutls-pkcs12.html#GNUTLS-PKCS12-SP-INCLUDE-SELF-SIGNED:CAPS"/> + <keyword type="enum" name="enum gnutls_pkcs12_bag_type_t" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t"/> + <keyword type="struct" name="gnutls_pkcs12_bag_int" link="gnutls-pkcs12.html#gnutls-pkcs12-bag-int"/> + <keyword type="struct" name="gnutls_pkcs12_int" link="gnutls-pkcs12.html#gnutls-pkcs12-int"/> + <keyword type="macro" name="MAX_OCSP_VALIDITY_SECS" link="gnutls-ocsp.html#MAX-OCSP-VALIDITY-SECS:CAPS"/> + <keyword type="macro" name="MAX_OCSP_MSG_SIZE" link="gnutls-ocsp.html#MAX-OCSP-MSG-SIZE:CAPS"/> + <keyword type="function" name="gnutls_dtls_set_timeouts ()" link="gnutls-dtls.html#gnutls-dtls-set-timeouts" since="3.0"/> + <keyword type="function" name="gnutls_dtls_get_mtu ()" link="gnutls-dtls.html#gnutls-dtls-get-mtu" since="3.0"/> + <keyword type="function" name="gnutls_dtls_get_data_mtu ()" link="gnutls-dtls.html#gnutls-dtls-get-data-mtu" since="3.0"/> + <keyword type="function" name="gnutls_dtls_set_mtu ()" link="gnutls-dtls.html#gnutls-dtls-set-mtu" since="3.0"/> + <keyword type="function" name="gnutls_dtls_set_data_mtu ()" link="gnutls-dtls.html#gnutls-dtls-set-data-mtu" since="3.1"/> + <keyword type="function" name="gnutls_dtls_get_timeout ()" link="gnutls-dtls.html#gnutls-dtls-get-timeout" since="3.0"/> + <keyword type="function" name="gnutls_dtls_cookie_send ()" link="gnutls-dtls.html#gnutls-dtls-cookie-send" since="3.0"/> + <keyword type="function" name="gnutls_dtls_cookie_verify ()" link="gnutls-dtls.html#gnutls-dtls-cookie-verify" since="3.0"/> + <keyword type="function" name="gnutls_dtls_prestate_set ()" link="gnutls-dtls.html#gnutls-dtls-prestate-set" since="3.0"/> + <keyword type="function" name="gnutls_record_get_discarded ()" link="gnutls-dtls.html#gnutls-record-get-discarded" since="3.0"/> + <keyword type="macro" name="GNUTLS_COOKIE_KEY_SIZE" link="gnutls-dtls.html#GNUTLS-COOKIE-KEY-SIZE:CAPS"/> + <keyword type="struct" name="gnutls_dtls_prestate_st" link="gnutls-dtls.html#gnutls-dtls-prestate-st"/> + <keyword type="function" name="gnutls_tpm_privkey_generate ()" link="gnutls-tpm.html#gnutls-tpm-privkey-generate" since="3.1.0"/> + <keyword type="function" name="gnutls_tpm_key_list_deinit ()" link="gnutls-tpm.html#gnutls-tpm-key-list-deinit" since="3.1.0"/> + <keyword type="function" name="gnutls_tpm_key_list_get_url ()" link="gnutls-tpm.html#gnutls-tpm-key-list-get-url" since="3.1.0"/> + <keyword type="function" name="gnutls_tpm_get_registered ()" link="gnutls-tpm.html#gnutls-tpm-get-registered" since="3.1.0"/> + <keyword type="function" name="gnutls_tpm_privkey_delete ()" link="gnutls-tpm.html#gnutls-tpm-privkey-delete" since="3.1.0"/> + <keyword type="typedef" name="gnutls_tpm_key_list_t" link="gnutls-tpm.html#gnutls-tpm-key-list-t"/> + <keyword type="macro" name="GNUTLS_TPM_KEY_SIGNING" link="gnutls-tpm.html#GNUTLS-TPM-KEY-SIGNING:CAPS"/> + <keyword type="macro" name="GNUTLS_TPM_REGISTER_KEY" link="gnutls-tpm.html#GNUTLS-TPM-REGISTER-KEY:CAPS"/> + <keyword type="macro" name="GNUTLS_TPM_KEY_USER" link="gnutls-tpm.html#GNUTLS-TPM-KEY-USER:CAPS"/> + <keyword type="enum" name="enum gnutls_tpmkey_fmt_t" link="gnutls-tpm.html#gnutls-tpmkey-fmt-t"/> + <keyword type="struct" name="struct tpm_key_list_st" link="gnutls-tpm.html#tpm-key-list-st"/> + <keyword type="constant" name="GNUTLS_CIPHER_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-CIPHER-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_NULL" link="gnutls-gnutls.html#GNUTLS-CIPHER-NULL:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_ARCFOUR_128" link="gnutls-gnutls.html#GNUTLS-CIPHER-ARCFOUR-128:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_3DES_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-3DES-CBC:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_128_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-128-CBC:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_256_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-256-CBC:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_ARCFOUR_40" link="gnutls-gnutls.html#GNUTLS-CIPHER-ARCFOUR-40:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_CAMELLIA_128_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-CAMELLIA-128-CBC:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_CAMELLIA_256_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-CAMELLIA-256-CBC:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_192_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-192-CBC:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_128_GCM" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-128-GCM:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_256_GCM" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-256-GCM:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_CAMELLIA_192_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-CAMELLIA-192-CBC:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_SALSA20_256" link="gnutls-gnutls.html#GNUTLS-CIPHER-SALSA20-256:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_ESTREAM_SALSA20_256" link="gnutls-gnutls.html#GNUTLS-CIPHER-ESTREAM-SALSA20-256:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_CAMELLIA_128_GCM" link="gnutls-gnutls.html#GNUTLS-CIPHER-CAMELLIA-128-GCM:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_CAMELLIA_256_GCM" link="gnutls-gnutls.html#GNUTLS-CIPHER-CAMELLIA-256-GCM:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_RC2_40_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-RC2-40-CBC:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_DES_CBC" link="gnutls-gnutls.html#GNUTLS-CIPHER-DES-CBC:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_128_CCM" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-128-CCM:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_256_CCM" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-256-CCM:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_128_CCM_8" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-128-CCM-8:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_256_CCM_8" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-256-CCM-8:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_CHACHA20_POLY1305" link="gnutls-gnutls.html#GNUTLS-CIPHER-CHACHA20-POLY1305:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_GOST28147_TC26Z_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-GOST28147-TC26Z-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_GOST28147_CPA_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-GOST28147-CPA-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_GOST28147_CPB_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-GOST28147-CPB-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_GOST28147_CPC_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-GOST28147-CPC-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_GOST28147_CPD_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-GOST28147-CPD-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_128_CFB8" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-128-CFB8:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_192_CFB8" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-192-CFB8:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_256_CFB8" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-256-CFB8:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_128_XTS" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-128-XTS:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_256_XTS" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-256-XTS:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_GOST28147_TC26Z_CNT" link="gnutls-gnutls.html#GNUTLS-CIPHER-GOST28147-TC26Z-CNT:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_CHACHA20_64" link="gnutls-gnutls.html#GNUTLS-CIPHER-CHACHA20-64:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_CHACHA20_32" link="gnutls-gnutls.html#GNUTLS-CIPHER-CHACHA20-32:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_128_SIV" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-128-SIV:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_256_SIV" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-256-SIV:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES_192_GCM" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES-192-GCM:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_MAGMA_CTR_ACPKM" link="gnutls-gnutls.html#GNUTLS-CIPHER-MAGMA-CTR-ACPKM:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_KUZNYECHIK_CTR_ACPKM" link="gnutls-gnutls.html#GNUTLS-CIPHER-KUZNYECHIK-CTR-ACPKM:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_IDEA_PGP_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-IDEA-PGP-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_3DES_PGP_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-3DES-PGP-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_CAST5_PGP_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-CAST5-PGP-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_BLOWFISH_PGP_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-BLOWFISH-PGP-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_SAFER_SK128_PGP_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-SAFER-SK128-PGP-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES128_PGP_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES128-PGP-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES192_PGP_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES192-PGP-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_AES256_PGP_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-AES256-PGP-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_TWOFISH_PGP_CFB" link="gnutls-gnutls.html#GNUTLS-CIPHER-TWOFISH-PGP-CFB:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-KX-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_RSA" link="gnutls-gnutls.html#GNUTLS-KX-RSA:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_DHE_DSS" link="gnutls-gnutls.html#GNUTLS-KX-DHE-DSS:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_DHE_RSA" link="gnutls-gnutls.html#GNUTLS-KX-DHE-RSA:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_ANON_DH" link="gnutls-gnutls.html#GNUTLS-KX-ANON-DH:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_SRP" link="gnutls-gnutls.html#GNUTLS-KX-SRP:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_RSA_EXPORT" link="gnutls-gnutls.html#GNUTLS-KX-RSA-EXPORT:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_SRP_RSA" link="gnutls-gnutls.html#GNUTLS-KX-SRP-RSA:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_SRP_DSS" link="gnutls-gnutls.html#GNUTLS-KX-SRP-DSS:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_PSK" link="gnutls-gnutls.html#GNUTLS-KX-PSK:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_DHE_PSK" link="gnutls-gnutls.html#GNUTLS-KX-DHE-PSK:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_ANON_ECDH" link="gnutls-gnutls.html#GNUTLS-KX-ANON-ECDH:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_ECDHE_RSA" link="gnutls-gnutls.html#GNUTLS-KX-ECDHE-RSA:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_ECDHE_ECDSA" link="gnutls-gnutls.html#GNUTLS-KX-ECDHE-ECDSA:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_ECDHE_PSK" link="gnutls-gnutls.html#GNUTLS-KX-ECDHE-PSK:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_RSA_PSK" link="gnutls-gnutls.html#GNUTLS-KX-RSA-PSK:CAPS"/> + <keyword type="constant" name="GNUTLS_KX_VKO_GOST_12" link="gnutls-gnutls.html#GNUTLS-KX-VKO-GOST-12:CAPS"/> + <keyword type="constant" name="GNUTLS_PARAMS_RSA_EXPORT" link="gnutls-gnutls.html#GNUTLS-PARAMS-RSA-EXPORT:CAPS"/> + <keyword type="constant" name="GNUTLS_PARAMS_DH" link="gnutls-gnutls.html#GNUTLS-PARAMS-DH:CAPS"/> + <keyword type="constant" name="GNUTLS_PARAMS_ECDH" link="gnutls-gnutls.html#GNUTLS-PARAMS-ECDH:CAPS"/> + <keyword type="constant" name="GNUTLS_CRD_CERTIFICATE" link="gnutls-gnutls.html#GNUTLS-CRD-CERTIFICATE:CAPS"/> + <keyword type="constant" name="GNUTLS_CRD_ANON" link="gnutls-gnutls.html#GNUTLS-CRD-ANON:CAPS"/> + <keyword type="constant" name="GNUTLS_CRD_SRP" link="gnutls-gnutls.html#GNUTLS-CRD-SRP:CAPS"/> + <keyword type="constant" name="GNUTLS_CRD_PSK" link="gnutls-gnutls.html#GNUTLS-CRD-PSK:CAPS"/> + <keyword type="constant" name="GNUTLS_CRD_IA" link="gnutls-gnutls.html#GNUTLS-CRD-IA:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-MAC-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_NULL" link="gnutls-gnutls.html#GNUTLS-MAC-NULL:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_MD5" link="gnutls-gnutls.html#GNUTLS-MAC-MD5:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHA1" link="gnutls-gnutls.html#GNUTLS-MAC-SHA1:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_RMD160" link="gnutls-gnutls.html#GNUTLS-MAC-RMD160:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_MD2" link="gnutls-gnutls.html#GNUTLS-MAC-MD2:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHA256" link="gnutls-gnutls.html#GNUTLS-MAC-SHA256:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHA384" link="gnutls-gnutls.html#GNUTLS-MAC-SHA384:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHA512" link="gnutls-gnutls.html#GNUTLS-MAC-SHA512:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHA224" link="gnutls-gnutls.html#GNUTLS-MAC-SHA224:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHA3_224" link="gnutls-gnutls.html#GNUTLS-MAC-SHA3-224:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHA3_256" link="gnutls-gnutls.html#GNUTLS-MAC-SHA3-256:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHA3_384" link="gnutls-gnutls.html#GNUTLS-MAC-SHA3-384:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHA3_512" link="gnutls-gnutls.html#GNUTLS-MAC-SHA3-512:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_MD5_SHA1" link="gnutls-gnutls.html#GNUTLS-MAC-MD5-SHA1:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_GOSTR_94" link="gnutls-gnutls.html#GNUTLS-MAC-GOSTR-94:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_STREEBOG_256" link="gnutls-gnutls.html#GNUTLS-MAC-STREEBOG-256:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_STREEBOG_512" link="gnutls-gnutls.html#GNUTLS-MAC-STREEBOG-512:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_AEAD" link="gnutls-gnutls.html#GNUTLS-MAC-AEAD:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_UMAC_96" link="gnutls-gnutls.html#GNUTLS-MAC-UMAC-96:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_UMAC_128" link="gnutls-gnutls.html#GNUTLS-MAC-UMAC-128:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_AES_CMAC_128" link="gnutls-gnutls.html#GNUTLS-MAC-AES-CMAC-128:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_AES_CMAC_256" link="gnutls-gnutls.html#GNUTLS-MAC-AES-CMAC-256:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_AES_GMAC_128" link="gnutls-gnutls.html#GNUTLS-MAC-AES-GMAC-128:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_AES_GMAC_192" link="gnutls-gnutls.html#GNUTLS-MAC-AES-GMAC-192:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_AES_GMAC_256" link="gnutls-gnutls.html#GNUTLS-MAC-AES-GMAC-256:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_GOST28147_TC26Z_IMIT" link="gnutls-gnutls.html#GNUTLS-MAC-GOST28147-TC26Z-IMIT:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHAKE_128" link="gnutls-gnutls.html#GNUTLS-MAC-SHAKE-128:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_SHAKE_256" link="gnutls-gnutls.html#GNUTLS-MAC-SHAKE-256:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_MAGMA_OMAC" link="gnutls-gnutls.html#GNUTLS-MAC-MAGMA-OMAC:CAPS"/> + <keyword type="constant" name="GNUTLS_MAC_KUZNYECHIK_OMAC" link="gnutls-gnutls.html#GNUTLS-MAC-KUZNYECHIK-OMAC:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-DIG-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_NULL" link="gnutls-gnutls.html#GNUTLS-DIG-NULL:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_MD5" link="gnutls-gnutls.html#GNUTLS-DIG-MD5:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHA1" link="gnutls-gnutls.html#GNUTLS-DIG-SHA1:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_RMD160" link="gnutls-gnutls.html#GNUTLS-DIG-RMD160:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_MD2" link="gnutls-gnutls.html#GNUTLS-DIG-MD2:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHA256" link="gnutls-gnutls.html#GNUTLS-DIG-SHA256:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHA384" link="gnutls-gnutls.html#GNUTLS-DIG-SHA384:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHA512" link="gnutls-gnutls.html#GNUTLS-DIG-SHA512:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHA224" link="gnutls-gnutls.html#GNUTLS-DIG-SHA224:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHA3_224" link="gnutls-gnutls.html#GNUTLS-DIG-SHA3-224:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHA3_256" link="gnutls-gnutls.html#GNUTLS-DIG-SHA3-256:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHA3_384" link="gnutls-gnutls.html#GNUTLS-DIG-SHA3-384:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHA3_512" link="gnutls-gnutls.html#GNUTLS-DIG-SHA3-512:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_MD5_SHA1" link="gnutls-gnutls.html#GNUTLS-DIG-MD5-SHA1:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_GOSTR_94" link="gnutls-gnutls.html#GNUTLS-DIG-GOSTR-94:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_STREEBOG_256" link="gnutls-gnutls.html#GNUTLS-DIG-STREEBOG-256:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_STREEBOG_512" link="gnutls-gnutls.html#GNUTLS-DIG-STREEBOG-512:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHAKE_128" link="gnutls-gnutls.html#GNUTLS-DIG-SHAKE-128:CAPS"/> + <keyword type="constant" name="GNUTLS_DIG_SHAKE_256" link="gnutls-gnutls.html#GNUTLS-DIG-SHAKE-256:CAPS"/> + <keyword type="constant" name="GNUTLS_COMP_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-COMP-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_COMP_NULL" link="gnutls-gnutls.html#GNUTLS-COMP-NULL:CAPS"/> + <keyword type="constant" name="GNUTLS_COMP_DEFLATE" link="gnutls-gnutls.html#GNUTLS-COMP-DEFLATE:CAPS"/> + <keyword type="constant" name="GNUTLS_COMP_ZLIB" link="gnutls-gnutls.html#GNUTLS-COMP-ZLIB:CAPS"/> + <keyword type="constant" name="GNUTLS_COMP_BROTLI" link="gnutls-gnutls.html#GNUTLS-COMP-BROTLI:CAPS"/> + <keyword type="constant" name="GNUTLS_COMP_ZSTD" link="gnutls-gnutls.html#GNUTLS-COMP-ZSTD:CAPS"/> + <keyword type="constant" name="GNUTLS_SERVER" link="gnutls-gnutls.html#GNUTLS-SERVER:CAPS"/> + <keyword type="constant" name="GNUTLS_CLIENT" link="gnutls-gnutls.html#GNUTLS-CLIENT:CAPS"/> + <keyword type="constant" name="GNUTLS_DATAGRAM" link="gnutls-gnutls.html#GNUTLS-DATAGRAM:CAPS"/> + <keyword type="constant" name="GNUTLS_NONBLOCK" link="gnutls-gnutls.html#GNUTLS-NONBLOCK:CAPS"/> + <keyword type="constant" name="GNUTLS_NO_EXTENSIONS" link="gnutls-gnutls.html#GNUTLS-NO-EXTENSIONS:CAPS"/> + <keyword type="constant" name="GNUTLS_NO_REPLAY_PROTECTION" link="gnutls-gnutls.html#GNUTLS-NO-REPLAY-PROTECTION:CAPS"/> + <keyword type="constant" name="GNUTLS_NO_SIGNAL" link="gnutls-gnutls.html#GNUTLS-NO-SIGNAL:CAPS"/> + <keyword type="constant" name="GNUTLS_ALLOW_ID_CHANGE" link="gnutls-gnutls.html#GNUTLS-ALLOW-ID-CHANGE:CAPS"/> + <keyword type="constant" name="GNUTLS_ENABLE_FALSE_START" link="gnutls-gnutls.html#GNUTLS-ENABLE-FALSE-START:CAPS"/> + <keyword type="constant" name="GNUTLS_FORCE_CLIENT_CERT" link="gnutls-gnutls.html#GNUTLS-FORCE-CLIENT-CERT:CAPS"/> + <keyword type="constant" name="GNUTLS_NO_TICKETS" link="gnutls-gnutls.html#GNUTLS-NO-TICKETS:CAPS"/> + <keyword type="constant" name="GNUTLS_KEY_SHARE_TOP" link="gnutls-gnutls.html#GNUTLS-KEY-SHARE-TOP:CAPS"/> + <keyword type="constant" name="GNUTLS_KEY_SHARE_TOP2" link="gnutls-gnutls.html#GNUTLS-KEY-SHARE-TOP2:CAPS"/> + <keyword type="constant" name="GNUTLS_KEY_SHARE_TOP3" link="gnutls-gnutls.html#GNUTLS-KEY-SHARE-TOP3:CAPS"/> + <keyword type="constant" name="GNUTLS_POST_HANDSHAKE_AUTH" link="gnutls-gnutls.html#GNUTLS-POST-HANDSHAKE-AUTH:CAPS"/> + <keyword type="constant" name="GNUTLS_NO_AUTO_REKEY" link="gnutls-gnutls.html#GNUTLS-NO-AUTO-REKEY:CAPS"/> + <keyword type="constant" name="GNUTLS_SAFE_PADDING_CHECK" link="gnutls-gnutls.html#GNUTLS-SAFE-PADDING-CHECK:CAPS"/> + <keyword type="constant" name="GNUTLS_ENABLE_EARLY_START" link="gnutls-gnutls.html#GNUTLS-ENABLE-EARLY-START:CAPS"/> + <keyword type="constant" name="GNUTLS_ENABLE_RAWPK" link="gnutls-gnutls.html#GNUTLS-ENABLE-RAWPK:CAPS"/> + <keyword type="constant" name="GNUTLS_AUTO_REAUTH" link="gnutls-gnutls.html#GNUTLS-AUTO-REAUTH:CAPS"/> + <keyword type="constant" name="GNUTLS_ENABLE_EARLY_DATA" link="gnutls-gnutls.html#GNUTLS-ENABLE-EARLY-DATA:CAPS"/> + <keyword type="constant" name="GNUTLS_NO_AUTO_SEND_TICKET" link="gnutls-gnutls.html#GNUTLS-NO-AUTO-SEND-TICKET:CAPS"/> + <keyword type="constant" name="GNUTLS_NO_END_OF_EARLY_DATA" link="gnutls-gnutls.html#GNUTLS-NO-END-OF-EARLY-DATA:CAPS"/> + <keyword type="constant" name="GNUTLS_NO_TICKETS_TLS12" link="gnutls-gnutls.html#GNUTLS-NO-TICKETS-TLS12:CAPS"/> + <keyword type="constant" name="GNUTLS_AL_WARNING" link="gnutls-gnutls.html#GNUTLS-AL-WARNING:CAPS"/> + <keyword type="constant" name="GNUTLS_AL_FATAL" link="gnutls-gnutls.html#GNUTLS-AL-FATAL:CAPS"/> + <keyword type="constant" name="GNUTLS_A_CLOSE_NOTIFY" link="gnutls-gnutls.html#GNUTLS-A-CLOSE-NOTIFY:CAPS"/> + <keyword type="constant" name="GNUTLS_A_UNEXPECTED_MESSAGE" link="gnutls-gnutls.html#GNUTLS-A-UNEXPECTED-MESSAGE:CAPS"/> + <keyword type="constant" name="GNUTLS_A_BAD_RECORD_MAC" link="gnutls-gnutls.html#GNUTLS-A-BAD-RECORD-MAC:CAPS"/> + <keyword type="constant" name="GNUTLS_A_DECRYPTION_FAILED" link="gnutls-gnutls.html#GNUTLS-A-DECRYPTION-FAILED:CAPS"/> + <keyword type="constant" name="GNUTLS_A_RECORD_OVERFLOW" link="gnutls-gnutls.html#GNUTLS-A-RECORD-OVERFLOW:CAPS"/> + <keyword type="constant" name="GNUTLS_A_DECOMPRESSION_FAILURE" link="gnutls-gnutls.html#GNUTLS-A-DECOMPRESSION-FAILURE:CAPS"/> + <keyword type="constant" name="GNUTLS_A_HANDSHAKE_FAILURE" link="gnutls-gnutls.html#GNUTLS-A-HANDSHAKE-FAILURE:CAPS"/> + <keyword type="constant" name="GNUTLS_A_SSL3_NO_CERTIFICATE" link="gnutls-gnutls.html#GNUTLS-A-SSL3-NO-CERTIFICATE:CAPS"/> + <keyword type="constant" name="GNUTLS_A_BAD_CERTIFICATE" link="gnutls-gnutls.html#GNUTLS-A-BAD-CERTIFICATE:CAPS"/> + <keyword type="constant" name="GNUTLS_A_UNSUPPORTED_CERTIFICATE" link="gnutls-gnutls.html#GNUTLS-A-UNSUPPORTED-CERTIFICATE:CAPS"/> + <keyword type="constant" name="GNUTLS_A_CERTIFICATE_REVOKED" link="gnutls-gnutls.html#GNUTLS-A-CERTIFICATE-REVOKED:CAPS"/> + <keyword type="constant" name="GNUTLS_A_CERTIFICATE_EXPIRED" link="gnutls-gnutls.html#GNUTLS-A-CERTIFICATE-EXPIRED:CAPS"/> + <keyword type="constant" name="GNUTLS_A_CERTIFICATE_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-A-CERTIFICATE-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_A_ILLEGAL_PARAMETER" link="gnutls-gnutls.html#GNUTLS-A-ILLEGAL-PARAMETER:CAPS"/> + <keyword type="constant" name="GNUTLS_A_UNKNOWN_CA" link="gnutls-gnutls.html#GNUTLS-A-UNKNOWN-CA:CAPS"/> + <keyword type="constant" name="GNUTLS_A_ACCESS_DENIED" link="gnutls-gnutls.html#GNUTLS-A-ACCESS-DENIED:CAPS"/> + <keyword type="constant" name="GNUTLS_A_DECODE_ERROR" link="gnutls-gnutls.html#GNUTLS-A-DECODE-ERROR:CAPS"/> + <keyword type="constant" name="GNUTLS_A_DECRYPT_ERROR" link="gnutls-gnutls.html#GNUTLS-A-DECRYPT-ERROR:CAPS"/> + <keyword type="constant" name="GNUTLS_A_EXPORT_RESTRICTION" link="gnutls-gnutls.html#GNUTLS-A-EXPORT-RESTRICTION:CAPS"/> + <keyword type="constant" name="GNUTLS_A_PROTOCOL_VERSION" link="gnutls-gnutls.html#GNUTLS-A-PROTOCOL-VERSION:CAPS"/> + <keyword type="constant" name="GNUTLS_A_INSUFFICIENT_SECURITY" link="gnutls-gnutls.html#GNUTLS-A-INSUFFICIENT-SECURITY:CAPS"/> + <keyword type="constant" name="GNUTLS_A_INTERNAL_ERROR" link="gnutls-gnutls.html#GNUTLS-A-INTERNAL-ERROR:CAPS"/> + <keyword type="constant" name="GNUTLS_A_INAPPROPRIATE_FALLBACK" link="gnutls-gnutls.html#GNUTLS-A-INAPPROPRIATE-FALLBACK:CAPS"/> + <keyword type="constant" name="GNUTLS_A_USER_CANCELED" link="gnutls-gnutls.html#GNUTLS-A-USER-CANCELED:CAPS"/> + <keyword type="constant" name="GNUTLS_A_NO_RENEGOTIATION" link="gnutls-gnutls.html#GNUTLS-A-NO-RENEGOTIATION:CAPS"/> + <keyword type="constant" name="GNUTLS_A_MISSING_EXTENSION" link="gnutls-gnutls.html#GNUTLS-A-MISSING-EXTENSION:CAPS"/> + <keyword type="constant" name="GNUTLS_A_UNSUPPORTED_EXTENSION" link="gnutls-gnutls.html#GNUTLS-A-UNSUPPORTED-EXTENSION:CAPS"/> + <keyword type="constant" name="GNUTLS_A_CERTIFICATE_UNOBTAINABLE" link="gnutls-gnutls.html#GNUTLS-A-CERTIFICATE-UNOBTAINABLE:CAPS"/> + <keyword type="constant" name="GNUTLS_A_UNRECOGNIZED_NAME" link="gnutls-gnutls.html#GNUTLS-A-UNRECOGNIZED-NAME:CAPS"/> + <keyword type="constant" name="GNUTLS_A_UNKNOWN_PSK_IDENTITY" link="gnutls-gnutls.html#GNUTLS-A-UNKNOWN-PSK-IDENTITY:CAPS"/> + <keyword type="constant" name="GNUTLS_A_CERTIFICATE_REQUIRED" link="gnutls-gnutls.html#GNUTLS-A-CERTIFICATE-REQUIRED:CAPS"/> + <keyword type="constant" name="GNUTLS_A_NO_APPLICATION_PROTOCOL" link="gnutls-gnutls.html#GNUTLS-A-NO-APPLICATION-PROTOCOL:CAPS"/> + <keyword type="constant" name="GNUTLS_A_MAX" link="gnutls-gnutls.html#GNUTLS-A-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_HELLO_REQUEST" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-HELLO-REQUEST:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_CLIENT_HELLO" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-CLIENT-HELLO:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_SERVER_HELLO" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-SERVER-HELLO:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_HELLO_VERIFY_REQUEST" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-HELLO-VERIFY-REQUEST:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_NEW_SESSION_TICKET" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-NEW-SESSION-TICKET:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_END_OF_EARLY_DATA" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-END-OF-EARLY-DATA:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_ENCRYPTED_EXTENSIONS" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-ENCRYPTED-EXTENSIONS:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_CERTIFICATE_PKT" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-CERTIFICATE-PKT:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-SERVER-KEY-EXCHANGE:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-CERTIFICATE-REQUEST:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_SERVER_HELLO_DONE" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-SERVER-HELLO-DONE:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-CERTIFICATE-VERIFY:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-CLIENT-KEY-EXCHANGE:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_FINISHED" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-FINISHED:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_CERTIFICATE_STATUS" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-CERTIFICATE-STATUS:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_SUPPLEMENTAL" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-SUPPLEMENTAL:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_KEY_UPDATE" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-KEY-UPDATE:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-COMPRESSED-CERTIFICATE-PKT:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-CHANGE-CIPHER-SPEC:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_CLIENT_HELLO_V2" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-CLIENT-HELLO-V2:CAPS"/> + <keyword type="constant" name="GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST" link="gnutls-gnutls.html#GNUTLS-HANDSHAKE-HELLO-RETRY-REQUEST:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_INVALID" link="gnutls-gnutls.html#GNUTLS-CERT-INVALID:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_REVOKED" link="gnutls-gnutls.html#GNUTLS-CERT-REVOKED:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_SIGNER_NOT_FOUND" link="gnutls-gnutls.html#GNUTLS-CERT-SIGNER-NOT-FOUND:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_SIGNER_NOT_CA" link="gnutls-gnutls.html#GNUTLS-CERT-SIGNER-NOT-CA:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_INSECURE_ALGORITHM" link="gnutls-gnutls.html#GNUTLS-CERT-INSECURE-ALGORITHM:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_NOT_ACTIVATED" link="gnutls-gnutls.html#GNUTLS-CERT-NOT-ACTIVATED:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_EXPIRED" link="gnutls-gnutls.html#GNUTLS-CERT-EXPIRED:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_SIGNATURE_FAILURE" link="gnutls-gnutls.html#GNUTLS-CERT-SIGNATURE-FAILURE:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_REVOCATION_DATA_SUPERSEDED" link="gnutls-gnutls.html#GNUTLS-CERT-REVOCATION-DATA-SUPERSEDED:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_UNEXPECTED_OWNER" link="gnutls-gnutls.html#GNUTLS-CERT-UNEXPECTED-OWNER:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_REVOCATION_DATA_ISSUED_IN_FUTURE" link="gnutls-gnutls.html#GNUTLS-CERT-REVOCATION-DATA-ISSUED-IN-FUTURE:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE" link="gnutls-gnutls.html#GNUTLS-CERT-SIGNER-CONSTRAINTS-FAILURE:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_MISMATCH" link="gnutls-gnutls.html#GNUTLS-CERT-MISMATCH:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_PURPOSE_MISMATCH" link="gnutls-gnutls.html#GNUTLS-CERT-PURPOSE-MISMATCH:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_MISSING_OCSP_STATUS" link="gnutls-gnutls.html#GNUTLS-CERT-MISSING-OCSP-STATUS:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_INVALID_OCSP_STATUS" link="gnutls-gnutls.html#GNUTLS-CERT-INVALID-OCSP-STATUS:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS" link="gnutls-gnutls.html#GNUTLS-CERT-UNKNOWN-CRIT-EXTENSIONS:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_IGNORE" link="gnutls-gnutls.html#GNUTLS-CERT-IGNORE:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_REQUEST" link="gnutls-gnutls.html#GNUTLS-CERT-REQUEST:CAPS"/> + <keyword type="constant" name="GNUTLS_CERT_REQUIRE" link="gnutls-gnutls.html#GNUTLS-CERT-REQUIRE:CAPS"/> + <keyword type="constant" name="GNUTLS_OPENPGP_CERT" link="gnutls-gnutls.html#GNUTLS-OPENPGP-CERT:CAPS"/> + <keyword type="constant" name="GNUTLS_OPENPGP_CERT_FINGERPRINT" link="gnutls-gnutls.html#GNUTLS-OPENPGP-CERT-FINGERPRINT:CAPS"/> + <keyword type="constant" name="GNUTLS_SHUT_RDWR" link="gnutls-gnutls.html#GNUTLS-SHUT-RDWR:CAPS"/> + <keyword type="constant" name="GNUTLS_SHUT_WR" link="gnutls-gnutls.html#GNUTLS-SHUT-WR:CAPS"/> + <keyword type="constant" name="GNUTLS_SSL3" link="gnutls-gnutls.html#GNUTLS-SSL3:CAPS"/> + <keyword type="constant" name="GNUTLS_TLS1_0" link="gnutls-gnutls.html#GNUTLS-TLS1-0:CAPS"/> + <keyword type="constant" name="GNUTLS_TLS1" link="gnutls-gnutls.html#GNUTLS-TLS1:CAPS"/> + <keyword type="constant" name="GNUTLS_TLS1_1" link="gnutls-gnutls.html#GNUTLS-TLS1-1:CAPS"/> + <keyword type="constant" name="GNUTLS_TLS1_2" link="gnutls-gnutls.html#GNUTLS-TLS1-2:CAPS"/> + <keyword type="constant" name="GNUTLS_TLS1_3" link="gnutls-gnutls.html#GNUTLS-TLS1-3:CAPS"/> + <keyword type="constant" name="GNUTLS_DTLS0_9" link="gnutls-gnutls.html#GNUTLS-DTLS0-9:CAPS"/> + <keyword type="constant" name="GNUTLS_DTLS1_0" link="gnutls-gnutls.html#GNUTLS-DTLS1-0:CAPS"/> + <keyword type="constant" name="GNUTLS_DTLS1_2" link="gnutls-gnutls.html#GNUTLS-DTLS1-2:CAPS"/> + <keyword type="constant" name="GNUTLS_DTLS_VERSION_MIN" link="gnutls-gnutls.html#GNUTLS-DTLS-VERSION-MIN:CAPS"/> + <keyword type="constant" name="GNUTLS_DTLS_VERSION_MAX" link="gnutls-gnutls.html#GNUTLS-DTLS-VERSION-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_TLS_VERSION_MAX" link="gnutls-gnutls.html#GNUTLS-TLS-VERSION-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_VERSION_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-VERSION-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-CRT-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_X509" link="gnutls-gnutls.html#GNUTLS-CRT-X509:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_OPENPGP" link="gnutls-gnutls.html#GNUTLS-CRT-OPENPGP:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_RAWPK" link="gnutls-gnutls.html#GNUTLS-CRT-RAWPK:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_MAX" link="gnutls-gnutls.html#GNUTLS-CRT-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_X509_FMT_DER" link="gnutls-gnutls.html#GNUTLS-X509-FMT-DER:CAPS"/> + <keyword type="constant" name="GNUTLS_X509_FMT_PEM" link="gnutls-gnutls.html#GNUTLS-X509-FMT-PEM:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_PRINT_FULL" link="gnutls-gnutls.html#GNUTLS-CRT-PRINT-FULL:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_PRINT_ONELINE" link="gnutls-gnutls.html#GNUTLS-CRT-PRINT-ONELINE:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_PRINT_UNSIGNED_FULL" link="gnutls-gnutls.html#GNUTLS-CRT-PRINT-UNSIGNED-FULL:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_PRINT_COMPACT" link="gnutls-gnutls.html#GNUTLS-CRT-PRINT-COMPACT:CAPS"/> + <keyword type="constant" name="GNUTLS_CRT_PRINT_FULL_NUMBERS" link="gnutls-gnutls.html#GNUTLS-CRT-PRINT-FULL-NUMBERS:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-PK-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_RSA" link="gnutls-gnutls.html#GNUTLS-PK-RSA:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_DSA" link="gnutls-gnutls.html#GNUTLS-PK-DSA:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_DH" link="gnutls-gnutls.html#GNUTLS-PK-DH:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_ECDSA" link="gnutls-gnutls.html#GNUTLS-PK-ECDSA:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_ECDH_X25519" link="gnutls-gnutls.html#GNUTLS-PK-ECDH-X25519:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_RSA_PSS" link="gnutls-gnutls.html#GNUTLS-PK-RSA-PSS:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_EDDSA_ED25519" link="gnutls-gnutls.html#GNUTLS-PK-EDDSA-ED25519:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_GOST_01" link="gnutls-gnutls.html#GNUTLS-PK-GOST-01:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_GOST_12_256" link="gnutls-gnutls.html#GNUTLS-PK-GOST-12-256:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_GOST_12_512" link="gnutls-gnutls.html#GNUTLS-PK-GOST-12-512:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_ECDH_X448" link="gnutls-gnutls.html#GNUTLS-PK-ECDH-X448:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_EDDSA_ED448" link="gnutls-gnutls.html#GNUTLS-PK-EDDSA-ED448:CAPS"/> + <keyword type="constant" name="GNUTLS_PK_MAX" link="gnutls-gnutls.html#GNUTLS-PK-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-SIGN-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA1" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA1:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA1" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA1:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_MD5" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-MD5:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_MD2" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-MD2:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_RMD160" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-RMD160:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA256" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA384" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA384:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA512" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA224" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA224:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA224" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA224:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA256" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SHA1" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SHA1:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SHA224" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SHA224:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SHA256" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SHA256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SHA384" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SHA384:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SHA512" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SHA512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA384" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA384:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA512" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SHA3_224" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SHA3-224:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SHA3_256" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SHA3-256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SHA3_384" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SHA3-384:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SHA3_512" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SHA3-512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA3_224" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA3-224:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA3_256" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA3-256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA3_384" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA3-384:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_DSA_SHA3_512" link="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA3-512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA3_224" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA3-224:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA3_256" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA3-256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA3_384" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA3-384:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_SHA3_512" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA3-512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_PSS_SHA256" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-PSS-SHA256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_PSS_SHA384" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-PSS-SHA384:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_PSS_SHA512" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-PSS-SHA512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_EDDSA_ED25519" link="gnutls-gnutls.html#GNUTLS-SIGN-EDDSA-ED25519:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_RAW" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-RAW:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SECP256R1_SHA256" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SECP256R1-SHA256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SECP384R1_SHA384" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SECP384R1-SHA384:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_ECDSA_SECP521R1_SHA512" link="gnutls-gnutls.html#GNUTLS-SIGN-ECDSA-SECP521R1-SHA512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_PSS_RSAE_SHA256" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-PSS-RSAE-SHA256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_PSS_RSAE_SHA384" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-PSS-RSAE-SHA384:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_RSA_PSS_RSAE_SHA512" link="gnutls-gnutls.html#GNUTLS-SIGN-RSA-PSS-RSAE-SHA512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_GOST_94" link="gnutls-gnutls.html#GNUTLS-SIGN-GOST-94:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_GOST_256" link="gnutls-gnutls.html#GNUTLS-SIGN-GOST-256:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_GOST_512" link="gnutls-gnutls.html#GNUTLS-SIGN-GOST-512:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_EDDSA_ED448" link="gnutls-gnutls.html#GNUTLS-SIGN-EDDSA-ED448:CAPS"/> + <keyword type="constant" name="GNUTLS_SIGN_MAX" link="gnutls-gnutls.html#GNUTLS-SIGN-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_INVALID" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-INVALID:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_SECP224R1" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-SECP224R1:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_SECP256R1" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-SECP256R1:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_SECP384R1" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-SECP384R1:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_SECP521R1" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-SECP521R1:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_SECP192R1" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-SECP192R1:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_X25519" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-X25519:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_ED25519" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-ED25519:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST256CPA" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST256CPA:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST256CPB" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST256CPB:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST256CPC" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST256CPC:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST256CPXA" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST256CPXA:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST256CPXB" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST256CPXB:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST512A" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST512A:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST512B" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST512B:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST512C" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST512C:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST256A" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST256A:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST256B" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST256B:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST256C" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST256C:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_GOST256D" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-GOST256D:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_X448" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-X448:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_ED448" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-ED448:CAPS"/> + <keyword type="constant" name="GNUTLS_ECC_CURVE_MAX" link="gnutls-gnutls.html#GNUTLS-ECC-CURVE-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_INVALID" link="gnutls-gnutls.html#GNUTLS-GROUP-INVALID:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_SECP192R1" link="gnutls-gnutls.html#GNUTLS-GROUP-SECP192R1:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_SECP224R1" link="gnutls-gnutls.html#GNUTLS-GROUP-SECP224R1:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_SECP256R1" link="gnutls-gnutls.html#GNUTLS-GROUP-SECP256R1:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_SECP384R1" link="gnutls-gnutls.html#GNUTLS-GROUP-SECP384R1:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_SECP521R1" link="gnutls-gnutls.html#GNUTLS-GROUP-SECP521R1:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_X25519" link="gnutls-gnutls.html#GNUTLS-GROUP-X25519:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_X448" link="gnutls-gnutls.html#GNUTLS-GROUP-X448:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_GC256A" link="gnutls-gnutls.html#GNUTLS-GROUP-GC256A:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_GC256B" link="gnutls-gnutls.html#GNUTLS-GROUP-GC256B:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_GC256C" link="gnutls-gnutls.html#GNUTLS-GROUP-GC256C:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_GC256D" link="gnutls-gnutls.html#GNUTLS-GROUP-GC256D:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_GC512A" link="gnutls-gnutls.html#GNUTLS-GROUP-GC512A:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_GC512B" link="gnutls-gnutls.html#GNUTLS-GROUP-GC512B:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_GC512C" link="gnutls-gnutls.html#GNUTLS-GROUP-GC512C:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_FFDHE2048" link="gnutls-gnutls.html#GNUTLS-GROUP-FFDHE2048:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_FFDHE3072" link="gnutls-gnutls.html#GNUTLS-GROUP-FFDHE3072:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_FFDHE4096" link="gnutls-gnutls.html#GNUTLS-GROUP-FFDHE4096:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_FFDHE8192" link="gnutls-gnutls.html#GNUTLS-GROUP-FFDHE8192:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_FFDHE6144" link="gnutls-gnutls.html#GNUTLS-GROUP-FFDHE6144:CAPS"/> + <keyword type="constant" name="GNUTLS_GROUP_MAX" link="gnutls-gnutls.html#GNUTLS-GROUP-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_INSECURE" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-INSECURE:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_EXPORT" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-EXPORT:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_VERY_WEAK" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-VERY-WEAK:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_WEAK" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-WEAK:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_LOW" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-LOW:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_LEGACY" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-LEGACY:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_MEDIUM" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-MEDIUM:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_HIGH" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-HIGH:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_ULTRA" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-ULTRA:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_FUTURE" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-FUTURE:CAPS"/> + <keyword type="constant" name="GNUTLS_SEC_PARAM_MAX" link="gnutls-gnutls.html#GNUTLS-SEC-PARAM-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_CB_TLS_UNIQUE" link="gnutls-gnutls.html#GNUTLS-CB-TLS-UNIQUE:CAPS"/> + <keyword type="constant" name="GNUTLS_CB_TLS_SERVER_END_POINT" link="gnutls-gnutls.html#GNUTLS-CB-TLS-SERVER-END-POINT:CAPS"/> + <keyword type="constant" name="GNUTLS_CB_TLS_EXPORTER" link="gnutls-gnutls.html#GNUTLS-CB-TLS-EXPORTER:CAPS"/> + <keyword type="constant" name="GNUTLS_GOST_PARAMSET_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-GOST-PARAMSET-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_GOST_PARAMSET_TC26_Z" link="gnutls-gnutls.html#GNUTLS-GOST-PARAMSET-TC26-Z:CAPS"/> + <keyword type="constant" name="GNUTLS_GOST_PARAMSET_CP_A" link="gnutls-gnutls.html#GNUTLS-GOST-PARAMSET-CP-A:CAPS"/> + <keyword type="constant" name="GNUTLS_GOST_PARAMSET_CP_B" link="gnutls-gnutls.html#GNUTLS-GOST-PARAMSET-CP-B:CAPS"/> + <keyword type="constant" name="GNUTLS_GOST_PARAMSET_CP_C" link="gnutls-gnutls.html#GNUTLS-GOST-PARAMSET-CP-C:CAPS"/> + <keyword type="constant" name="GNUTLS_GOST_PARAMSET_CP_D" link="gnutls-gnutls.html#GNUTLS-GOST-PARAMSET-CP-D:CAPS"/> + <keyword type="constant" name="GNUTLS_CTYPE_CLIENT" link="gnutls-gnutls.html#GNUTLS-CTYPE-CLIENT:CAPS"/> + <keyword type="constant" name="GNUTLS_CTYPE_SERVER" link="gnutls-gnutls.html#GNUTLS-CTYPE-SERVER:CAPS"/> + <keyword type="constant" name="GNUTLS_CTYPE_OURS" link="gnutls-gnutls.html#GNUTLS-CTYPE-OURS:CAPS"/> + <keyword type="constant" name="GNUTLS_CTYPE_PEERS" link="gnutls-gnutls.html#GNUTLS-CTYPE-PEERS:CAPS"/> + <keyword type="constant" name="GNUTLS_NAME_DNS" link="gnutls-gnutls.html#GNUTLS-NAME-DNS:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_SAFE_RENEGOTIATION" link="gnutls-gnutls.html#GNUTLS-SFLAGS-SAFE-RENEGOTIATION:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_EXT_MASTER_SECRET" link="gnutls-gnutls.html#GNUTLS-SFLAGS-EXT-MASTER-SECRET:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_ETM" link="gnutls-gnutls.html#GNUTLS-SFLAGS-ETM:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_HB_LOCAL_SEND" link="gnutls-gnutls.html#GNUTLS-SFLAGS-HB-LOCAL-SEND:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_HB_PEER_SEND" link="gnutls-gnutls.html#GNUTLS-SFLAGS-HB-PEER-SEND:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_FALSE_START" link="gnutls-gnutls.html#GNUTLS-SFLAGS-FALSE-START:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_RFC7919" link="gnutls-gnutls.html#GNUTLS-SFLAGS-RFC7919:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_SESSION_TICKET" link="gnutls-gnutls.html#GNUTLS-SFLAGS-SESSION-TICKET:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH" link="gnutls-gnutls.html#GNUTLS-SFLAGS-POST-HANDSHAKE-AUTH:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_EARLY_START" link="gnutls-gnutls.html#GNUTLS-SFLAGS-EARLY-START:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_EARLY_DATA" link="gnutls-gnutls.html#GNUTLS-SFLAGS-EARLY-DATA:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_CLI_REQUESTED_OCSP" link="gnutls-gnutls.html#GNUTLS-SFLAGS-CLI-REQUESTED-OCSP:CAPS"/> + <keyword type="constant" name="GNUTLS_SFLAGS_SERV_REQUESTED_OCSP" link="gnutls-gnutls.html#GNUTLS-SFLAGS-SERV-REQUESTED-OCSP:CAPS"/> + <keyword type="constant" name="GNUTLS_SUPPLEMENTAL_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-SUPPLEMENTAL-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_SRTP_AES128_CM_HMAC_SHA1_80" link="gnutls-gnutls.html#GNUTLS-SRTP-AES128-CM-HMAC-SHA1-80:CAPS"/> + <keyword type="constant" name="GNUTLS_SRTP_AES128_CM_HMAC_SHA1_32" link="gnutls-gnutls.html#GNUTLS-SRTP-AES128-CM-HMAC-SHA1-32:CAPS"/> + <keyword type="constant" name="GNUTLS_SRTP_NULL_HMAC_SHA1_80" link="gnutls-gnutls.html#GNUTLS-SRTP-NULL-HMAC-SHA1-80:CAPS"/> + <keyword type="constant" name="GNUTLS_SRTP_NULL_HMAC_SHA1_32" link="gnutls-gnutls.html#GNUTLS-SRTP-NULL-HMAC-SHA1-32:CAPS"/> + <keyword type="constant" name="GNUTLS_ALPN_MANDATORY" link="gnutls-gnutls.html#GNUTLS-ALPN-MANDATORY:CAPS"/> + <keyword type="constant" name="GNUTLS_ALPN_SERVER_PRECEDENCE" link="gnutls-gnutls.html#GNUTLS-ALPN-SERVER-PRECEDENCE:CAPS"/> + <keyword type="constant" name="GNUTLS_DT_UNKNOWN" link="gnutls-gnutls.html#GNUTLS-DT-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_DT_DNS_HOSTNAME" link="gnutls-gnutls.html#GNUTLS-DT-DNS-HOSTNAME:CAPS"/> + <keyword type="constant" name="GNUTLS_DT_KEY_PURPOSE_OID" link="gnutls-gnutls.html#GNUTLS-DT-KEY-PURPOSE-OID:CAPS"/> + <keyword type="constant" name="GNUTLS_DT_RFC822NAME" link="gnutls-gnutls.html#GNUTLS-DT-RFC822NAME:CAPS"/> + <keyword type="constant" name="GNUTLS_DT_IP_ADDRESS" link="gnutls-gnutls.html#GNUTLS-DT-IP-ADDRESS:CAPS"/> + <keyword type="constant" name="GNUTLS_CERTIFICATE_SKIP_KEY_CERT_MATCH" link="gnutls-gnutls.html#GNUTLS-CERTIFICATE-SKIP-KEY-CERT-MATCH:CAPS"/> + <keyword type="constant" name="GNUTLS_CERTIFICATE_API_V2" link="gnutls-gnutls.html#GNUTLS-CERTIFICATE-API-V2:CAPS"/> + <keyword type="constant" name="GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK" link="gnutls-gnutls.html#GNUTLS-CERTIFICATE-SKIP-OCSP-RESPONSE-CHECK:CAPS"/> + <keyword type="constant" name="GNUTLS_CERTIFICATE_VERIFY_CRLS" link="gnutls-gnutls.html#GNUTLS-CERTIFICATE-VERIFY-CRLS:CAPS"/> + <keyword type="constant" name="GNUTLS_RANDOM_ART_OPENSSH" link="gnutls-gnutls.html#GNUTLS-RANDOM-ART-OPENSSH:CAPS"/> + <keyword type="constant" name="GNUTLS_PSK_KEY_RAW" link="gnutls-gnutls.html#GNUTLS-PSK-KEY-RAW:CAPS"/> + <keyword type="constant" name="GNUTLS_PSK_KEY_HEX" link="gnutls-gnutls.html#GNUTLS-PSK-KEY-HEX:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_DNSNAME" link="gnutls-gnutls.html#GNUTLS-SAN-DNSNAME:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_RFC822NAME" link="gnutls-gnutls.html#GNUTLS-SAN-RFC822NAME:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_URI" link="gnutls-gnutls.html#GNUTLS-SAN-URI:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_IPADDRESS" link="gnutls-gnutls.html#GNUTLS-SAN-IPADDRESS:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_OTHERNAME" link="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_DN" link="gnutls-gnutls.html#GNUTLS-SAN-DN:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_REGISTERED_ID" link="gnutls-gnutls.html#GNUTLS-SAN-REGISTERED-ID:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_MAX" link="gnutls-gnutls.html#GNUTLS-SAN-MAX:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_OTHERNAME_XMPP" link="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-XMPP:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL" link="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-KRB5PRINCIPAL:CAPS"/> + <keyword type="constant" name="GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL" link="gnutls-gnutls.html#GNUTLS-SAN-OTHERNAME-MSUSERPRINCIPAL:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_X509" link="gnutls-gnutls.html#GNUTLS-PRIVKEY-X509:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_OPENPGP" link="gnutls-gnutls.html#GNUTLS-PRIVKEY-OPENPGP:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_PKCS11" link="gnutls-gnutls.html#GNUTLS-PRIVKEY-PKCS11:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_EXT" link="gnutls-gnutls.html#GNUTLS-PRIVKEY-EXT:CAPS"/> + <keyword type="constant" name="GNUTLS_PIN_USER" link="gnutls-gnutls.html#GNUTLS-PIN-USER:CAPS"/> + <keyword type="constant" name="GNUTLS_PIN_SO" link="gnutls-gnutls.html#GNUTLS-PIN-SO:CAPS"/> + <keyword type="constant" name="GNUTLS_PIN_FINAL_TRY" link="gnutls-gnutls.html#GNUTLS-PIN-FINAL-TRY:CAPS"/> + <keyword type="constant" name="GNUTLS_PIN_COUNT_LOW" link="gnutls-gnutls.html#GNUTLS-PIN-COUNT-LOW:CAPS"/> + <keyword type="constant" name="GNUTLS_PIN_CONTEXT_SPECIFIC" link="gnutls-gnutls.html#GNUTLS-PIN-CONTEXT-SPECIFIC:CAPS"/> + <keyword type="constant" name="GNUTLS_PIN_WRONG" link="gnutls-gnutls.html#GNUTLS-PIN-WRONG:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_ANY" link="gnutls-gnutls.html#GNUTLS-EXT-ANY:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_APPLICATION" link="gnutls-gnutls.html#GNUTLS-EXT-APPLICATION:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_TLS" link="gnutls-gnutls.html#GNUTLS-EXT-TLS:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_MANDATORY" link="gnutls-gnutls.html#GNUTLS-EXT-MANDATORY:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_NONE" link="gnutls-gnutls.html#GNUTLS-EXT-NONE:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_VERSION_NEG" link="gnutls-gnutls.html#GNUTLS-EXT-VERSION-NEG:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL" link="gnutls-gnutls.html#GNUTLS-EXT-FLAG-OVERRIDE-INTERNAL:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_FLAG_CLIENT_HELLO" link="gnutls-gnutls.html#GNUTLS-EXT-FLAG-CLIENT-HELLO:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO" link="gnutls-gnutls.html#GNUTLS-EXT-FLAG-TLS12-SERVER-HELLO:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO" link="gnutls-gnutls.html#GNUTLS-EXT-FLAG-TLS13-SERVER-HELLO:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_FLAG_EE" link="gnutls-gnutls.html#GNUTLS-EXT-FLAG-EE:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_FLAG_HRR" link="gnutls-gnutls.html#GNUTLS-EXT-FLAG-HRR:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST" link="gnutls-gnutls.html#GNUTLS-EXT-FLAG-IGNORE-CLIENT-REQUEST:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_FLAG_TLS" link="gnutls-gnutls.html#GNUTLS-EXT-FLAG-TLS:CAPS"/> + <keyword type="constant" name="GNUTLS_EXT_FLAG_DTLS" link="gnutls-gnutls.html#GNUTLS-EXT-FLAG-DTLS:CAPS"/> + <keyword type="constant" name="GNUTLS_ENCRYPTION_LEVEL_INITIAL" link="gnutls-gnutls.html#GNUTLS-ENCRYPTION-LEVEL-INITIAL:CAPS"/> + <keyword type="constant" name="GNUTLS_ENCRYPTION_LEVEL_EARLY" link="gnutls-gnutls.html#GNUTLS-ENCRYPTION-LEVEL-EARLY:CAPS"/> + <keyword type="constant" name="GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE" link="gnutls-gnutls.html#GNUTLS-ENCRYPTION-LEVEL-HANDSHAKE:CAPS"/> + <keyword type="constant" name="GNUTLS_ENCRYPTION_LEVEL_APPLICATION" link="gnutls-gnutls.html#GNUTLS-ENCRYPTION-LEVEL-APPLICATION:CAPS"/> + <keyword type="constant" name="GNUTLS_FIPS140_DISABLED" link="gnutls-gnutls.html#GNUTLS-FIPS140-DISABLED:CAPS"/> + <keyword type="constant" name="GNUTLS_FIPS140_STRICT" link="gnutls-gnutls.html#GNUTLS-FIPS140-STRICT:CAPS"/> + <keyword type="constant" name="GNUTLS_FIPS140_SELFTESTS" link="gnutls-gnutls.html#GNUTLS-FIPS140-SELFTESTS:CAPS"/> + <keyword type="constant" name="GNUTLS_FIPS140_LAX" link="gnutls-gnutls.html#GNUTLS-FIPS140-LAX:CAPS"/> + <keyword type="constant" name="GNUTLS_FIPS140_LOG" link="gnutls-gnutls.html#GNUTLS-FIPS140-LOG:CAPS"/> + <keyword type="constant" name="GNUTLS_FIPS140_OP_INITIAL" link="gnutls-gnutls.html#GNUTLS-FIPS140-OP-INITIAL:CAPS"/> + <keyword type="constant" name="GNUTLS_FIPS140_OP_APPROVED" link="gnutls-gnutls.html#GNUTLS-FIPS140-OP-APPROVED:CAPS"/> + <keyword type="constant" name="GNUTLS_FIPS140_OP_NOT_APPROVED" link="gnutls-gnutls.html#GNUTLS-FIPS140-OP-NOT-APPROVED:CAPS"/> + <keyword type="constant" name="GNUTLS_FIPS140_OP_ERROR" link="gnutls-gnutls.html#GNUTLS-FIPS140-OP-ERROR:CAPS"/> + <keyword type="constant" name="GNUTLS_PUBKEY_DISABLE_CALLBACKS" link="gnutls-abstract.html#GNUTLS-PUBKEY-DISABLE-CALLBACKS:CAPS"/> + <keyword type="constant" name="GNUTLS_PUBKEY_GET_OPENPGP_FINGERPRINT" link="gnutls-abstract.html#GNUTLS-PUBKEY-GET-OPENPGP-FINGERPRINT:CAPS"/> + <keyword type="constant" name="GNUTLS_EXPORT_FLAG_NO_LZ" link="gnutls-abstract.html#GNUTLS-EXPORT-FLAG-NO-LZ:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE" link="gnutls-abstract.html#GNUTLS-PRIVKEY-IMPORT-AUTO-RELEASE:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_IMPORT_COPY" link="gnutls-abstract.html#GNUTLS-PRIVKEY-IMPORT-COPY:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_DISABLE_CALLBACKS" link="gnutls-abstract.html#GNUTLS-PRIVKEY-DISABLE-CALLBACKS:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA" link="gnutls-abstract.html#GNUTLS-PRIVKEY-SIGN-FLAG-TLS1-RSA:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_FLAG_PROVABLE" link="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-PROVABLE:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_FLAG_EXPORT_COMPAT" link="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-EXPORT-COMPAT:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS" link="gnutls-abstract.html#GNUTLS-PRIVKEY-SIGN-FLAG-RSA-PSS:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE" link="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-REPRODUCIBLE:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_FLAG_CA" link="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-CA:CAPS"/> + <keyword type="constant" name="GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH" link="gnutls-abstract.html#GNUTLS-PRIVKEY-FLAG-RSA-PSS-FIXED-SALT-LENGTH:CAPS"/> + <keyword type="constant" name="GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED" link="gnutls-x509.html#GNUTLS-X509-CRT-LIST-IMPORT-FAIL-IF-EXCEED:CAPS"/> + <keyword type="constant" name="GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED" link="gnutls-x509.html#GNUTLS-X509-CRT-LIST-FAIL-IF-UNSORTED:CAPS"/> + <keyword type="constant" name="GNUTLS_X509_CRT_LIST_SORT" link="gnutls-x509.html#GNUTLS-X509-CRT-LIST-SORT:CAPS"/> + <keyword type="constant" name="GNUTLS_X509_CRT_FLAG_IGNORE_SANITY" link="gnutls-x509.html#GNUTLS-X509-CRT-FLAG-IGNORE-SANITY:CAPS"/> + <keyword type="constant" name="GNUTLS_KEYID_USE_SHA1" link="gnutls-x509.html#GNUTLS-KEYID-USE-SHA1:CAPS"/> + <keyword type="constant" name="GNUTLS_KEYID_USE_SHA256" link="gnutls-x509.html#GNUTLS-KEYID-USE-SHA256:CAPS"/> + <keyword type="constant" name="GNUTLS_KEYID_USE_SHA512" link="gnutls-x509.html#GNUTLS-KEYID-USE-SHA512:CAPS"/> + <keyword type="constant" name="GNUTLS_KEYID_USE_BEST_KNOWN" link="gnutls-x509.html#GNUTLS-KEYID-USE-BEST-KNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_IA_ACCESSMETHOD_OID" link="gnutls-x509.html#GNUTLS-IA-ACCESSMETHOD-OID:CAPS"/> + <keyword type="constant" name="GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE" link="gnutls-x509.html#GNUTLS-IA-ACCESSLOCATION-GENERALNAME-TYPE:CAPS"/> + <keyword type="constant" name="GNUTLS_IA_URI" link="gnutls-x509.html#GNUTLS-IA-URI:CAPS"/> + <keyword type="constant" name="GNUTLS_IA_UNKNOWN" link="gnutls-x509.html#GNUTLS-IA-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_IA_OCSP_URI" link="gnutls-x509.html#GNUTLS-IA-OCSP-URI:CAPS"/> + <keyword type="constant" name="GNUTLS_IA_CAISSUERS_URI" link="gnutls-x509.html#GNUTLS-IA-CAISSUERS-URI:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_UNSPECIFIED" link="gnutls-x509.html#GNUTLS-CRL-REASON-UNSPECIFIED:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN" link="gnutls-x509.html#GNUTLS-CRL-REASON-PRIVILEGE-WITHDRAWN:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_CERTIFICATE_HOLD" link="gnutls-x509.html#GNUTLS-CRL-REASON-CERTIFICATE-HOLD:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_CESSATION_OF_OPERATION" link="gnutls-x509.html#GNUTLS-CRL-REASON-CESSATION-OF-OPERATION:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_SUPERSEDED" link="gnutls-x509.html#GNUTLS-CRL-REASON-SUPERSEDED:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_AFFILIATION_CHANGED" link="gnutls-x509.html#GNUTLS-CRL-REASON-AFFILIATION-CHANGED:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_CA_COMPROMISE" link="gnutls-x509.html#GNUTLS-CRL-REASON-CA-COMPROMISE:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_KEY_COMPROMISE" link="gnutls-x509.html#GNUTLS-CRL-REASON-KEY-COMPROMISE:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_UNUSED" link="gnutls-x509.html#GNUTLS-CRL-REASON-UNUSED:CAPS"/> + <keyword type="constant" name="GNUTLS_CRL_REASON_AA_COMPROMISE" link="gnutls-x509.html#GNUTLS-CRL-REASON-AA-COMPROMISE:CAPS"/> + <keyword type="constant" name="GNUTLS_X509_QUALIFIER_UNKNOWN" link="gnutls-x509.html#GNUTLS-X509-QUALIFIER-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_X509_QUALIFIER_URI" link="gnutls-x509.html#GNUTLS-X509-QUALIFIER-URI:CAPS"/> + <keyword type="constant" name="GNUTLS_X509_QUALIFIER_NOTICE" link="gnutls-x509.html#GNUTLS-X509-QUALIFIER-NOTICE:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_DISABLE_CA_SIGN" link="gnutls-x509.html#GNUTLS-VERIFY-DISABLE-CA-SIGN:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES" link="gnutls-x509.html#GNUTLS-VERIFY-DO-NOT-ALLOW-IP-MATCHES:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_DO_NOT_ALLOW_SAME" link="gnutls-x509.html#GNUTLS-VERIFY-DO-NOT-ALLOW-SAME:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT" link="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-ANY-X509-V1-CA-CRT:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2" link="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-SIGN-RSA-MD2:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5" link="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-SIGN-RSA-MD5:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_DISABLE_TIME_CHECKS" link="gnutls-x509.html#GNUTLS-VERIFY-DISABLE-TIME-CHECKS:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS" link="gnutls-x509.html#GNUTLS-VERIFY-DISABLE-TRUSTED-TIME-CHECKS:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT" link="gnutls-x509.html#GNUTLS-VERIFY-DO-NOT-ALLOW-X509-V1-CA-CRT:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_DISABLE_CRL_CHECKS" link="gnutls-x509.html#GNUTLS-VERIFY-DISABLE-CRL-CHECKS:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN" link="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-UNSORTED-CHAIN:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN" link="gnutls-x509.html#GNUTLS-VERIFY-DO-NOT-ALLOW-UNSORTED-CHAIN:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS" link="gnutls-x509.html#GNUTLS-VERIFY-DO-NOT-ALLOW-WILDCARDS:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_USE_TLS1_RSA" link="gnutls-x509.html#GNUTLS-VERIFY-USE-TLS1-RSA:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS" link="gnutls-x509.html#GNUTLS-VERIFY-IGNORE-UNKNOWN-CRIT-EXTENSIONS:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1" link="gnutls-x509.html#GNUTLS-VERIFY-ALLOW-SIGN-WITH-SHA1:CAPS"/> + <keyword type="constant" name="GNUTLS_VERIFY_RSA_PSS_FIXED_SALT_LENGTH" link="gnutls-x509.html#GNUTLS-VERIFY-RSA-PSS-FIXED-SALT-LENGTH:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_UNKNOWN" link="gnutls-x509.html#GNUTLS-PROFILE-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_VERY_WEAK" link="gnutls-x509.html#GNUTLS-PROFILE-VERY-WEAK:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_LOW" link="gnutls-x509.html#GNUTLS-PROFILE-LOW:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_LEGACY" link="gnutls-x509.html#GNUTLS-PROFILE-LEGACY:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_MEDIUM" link="gnutls-x509.html#GNUTLS-PROFILE-MEDIUM:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_HIGH" link="gnutls-x509.html#GNUTLS-PROFILE-HIGH:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_ULTRA" link="gnutls-x509.html#GNUTLS-PROFILE-ULTRA:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_FUTURE" link="gnutls-x509.html#GNUTLS-PROFILE-FUTURE:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_SUITEB128" link="gnutls-x509.html#GNUTLS-PROFILE-SUITEB128:CAPS"/> + <keyword type="constant" name="GNUTLS_PROFILE_SUITEB192" link="gnutls-x509.html#GNUTLS-PROFILE-SUITEB192:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PLAIN" link="gnutls-x509.html#GNUTLS-PKCS-PLAIN:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PKCS12_3DES" link="gnutls-x509.html#GNUTLS-PKCS-PKCS12-3DES:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PKCS12_ARCFOUR" link="gnutls-x509.html#GNUTLS-PKCS-PKCS12-ARCFOUR:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PKCS12_RC2_40" link="gnutls-x509.html#GNUTLS-PKCS-PKCS12-RC2-40:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_3DES" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-3DES:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_AES_128" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-AES-128:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_AES_192" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-AES-192:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_AES_256" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-AES-256:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_NULL_PASSWORD" link="gnutls-x509.html#GNUTLS-PKCS-NULL-PASSWORD:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_DES" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-DES:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES1_DES_MD5" link="gnutls-x509.html#GNUTLS-PKCS-PBES1-DES-MD5:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_GOST_TC26Z" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-GOST-TC26Z:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_GOST_CPA" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-GOST-CPA:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_GOST_CPB" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-GOST-CPB:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_GOST_CPC" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-GOST-CPC:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS_PBES2_GOST_CPD" link="gnutls-x509.html#GNUTLS-PKCS-PBES2-GOST-CPD:CAPS"/> + <keyword type="constant" name="GNUTLS_KEYGEN_SEED" link="gnutls-x509.html#GNUTLS-KEYGEN-SEED:CAPS"/> + <keyword type="constant" name="GNUTLS_KEYGEN_DIGEST" link="gnutls-x509.html#GNUTLS-KEYGEN-DIGEST:CAPS"/> + <keyword type="constant" name="GNUTLS_KEYGEN_SPKI" link="gnutls-x509.html#GNUTLS-KEYGEN-SPKI:CAPS"/> + <keyword type="constant" name="GNUTLS_TL_VERIFY_CRL" link="gnutls-x509.html#GNUTLS-TL-VERIFY-CRL:CAPS"/> + <keyword type="constant" name="GNUTLS_TL_USE_IN_TLS" link="gnutls-x509.html#GNUTLS-TL-USE-IN-TLS:CAPS"/> + <keyword type="constant" name="GNUTLS_TL_NO_DUPLICATES" link="gnutls-x509.html#GNUTLS-TL-NO-DUPLICATES:CAPS"/> + <keyword type="constant" name="GNUTLS_TL_NO_DUPLICATE_KEY" link="gnutls-x509.html#GNUTLS-TL-NO-DUPLICATE-KEY:CAPS"/> + <keyword type="constant" name="GNUTLS_TL_GET_COPY" link="gnutls-x509.html#GNUTLS-TL-GET-COPY:CAPS"/> + <keyword type="constant" name="GNUTLS_TL_FAIL_ON_INVALID_CRL" link="gnutls-x509.html#GNUTLS-TL-FAIL-ON-INVALID-CRL:CAPS"/> + <keyword type="constant" name="GNUTLS_OPENPGP_FMT_RAW" link="gnutls-openpgp.html#GNUTLS-OPENPGP-FMT-RAW:CAPS"/> + <keyword type="constant" name="GNUTLS_OPENPGP_FMT_BASE64" link="gnutls-openpgp.html#GNUTLS-OPENPGP-FMT-BASE64:CAPS"/> + <keyword type="constant" name="GNUTLS_CIPHER_PADDING_PKCS7" link="gnutls-crypto.html#GNUTLS-CIPHER-PADDING-PKCS7:CAPS"/> + <keyword type="constant" name="GNUTLS_RND_NONCE" link="gnutls-crypto.html#GNUTLS-RND-NONCE:CAPS"/> + <keyword type="constant" name="GNUTLS_RND_RANDOM" link="gnutls-crypto.html#GNUTLS-RND-RANDOM:CAPS"/> + <keyword type="constant" name="GNUTLS_RND_KEY" link="gnutls-crypto.html#GNUTLS-RND-KEY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_LOGIN" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-LOGIN:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-TRUSTED:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-SENSITIVE:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-LOGIN-SO:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-PRIVATE:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-NOT-PRIVATE:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_ANY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-ANY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-TRUSTED:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_DISTRUSTED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-DISTRUSTED:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-RETRIEVE-DISTRUSTED:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_COMPARE" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-COMPARE:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PRESENT-IN-TRUSTED-MODULE:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_CA" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-CA:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_KEY_WRAP" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-KEY-WRAP:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-COMPARE-KEY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-OVERWRITE-TRUSTMOD-EXT:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_ALWAYS_AUTH" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-ALWAYS-AUTH:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_EXTRACTABLE" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-EXTRACTABLE:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_NEVER_EXTRACTABLE" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-NEVER-EXTRACTABLE:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_CRT" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-CRT:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-WITH-PRIVKEY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_PUBKEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PUBKEY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_NO_STORE_PUBKEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-NO-STORE-PUBKEY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-PRIVKEY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-FLAG-MARK-NOT-SENSITIVE:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_URL_GENERIC" link="gnutls-pkcs11.html#GNUTLS-PKCS11-URL-GENERIC:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_URL_LIB" link="gnutls-pkcs11.html#GNUTLS-PKCS11-URL-LIB:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_URL_LIB_VERSION" link="gnutls-pkcs11.html#GNUTLS-PKCS11-URL-LIB-VERSION:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_ID_HEX" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ID-HEX:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_LABEL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-LABEL:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_TOKEN_LABEL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-TOKEN-LABEL:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_TOKEN_SERIAL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-TOKEN-SERIAL:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_TOKEN_MANUFACTURER" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-TOKEN-MANUFACTURER:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_TOKEN_MODEL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-TOKEN-MODEL:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_ID" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-ID:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_LIBRARY_VERSION" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-LIBRARY-VERSION:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_LIBRARY_DESCRIPTION" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-LIBRARY-DESCRIPTION:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_LIBRARY_MANUFACTURER" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-LIBRARY-MANUFACTURER:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_TOKEN_LABEL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-LABEL:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_TOKEN_SERIAL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-SERIAL:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_TOKEN_MANUFACTURER" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-MANUFACTURER:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_TOKEN_MODEL" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-MODEL:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_TOKEN_MODNAME" link="gnutls-pkcs11.html#GNUTLS-PKCS11-TOKEN-MODNAME:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_UNKNOWN" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_X509_CRT" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-X509-CRT:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_PUBKEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-PUBKEY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_PRIVKEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-PRIVKEY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_SECRET_KEY" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-SECRET-KEY:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_DATA" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-DATA:CAPS"/> + <keyword type="constant" name="GNUTLS_PKCS11_OBJ_X509_CRT_EXTENSION" link="gnutls-pkcs11.html#GNUTLS-PKCS11-OBJ-X509-CRT-EXTENSION:CAPS"/> + <keyword type="constant" name="GNUTLS_BAG_EMPTY" link="gnutls-pkcs12.html#GNUTLS-BAG-EMPTY:CAPS"/> + <keyword type="constant" name="GNUTLS_BAG_PKCS8_ENCRYPTED_KEY" link="gnutls-pkcs12.html#GNUTLS-BAG-PKCS8-ENCRYPTED-KEY:CAPS"/> + <keyword type="constant" name="GNUTLS_BAG_PKCS8_KEY" link="gnutls-pkcs12.html#GNUTLS-BAG-PKCS8-KEY:CAPS"/> + <keyword type="constant" name="GNUTLS_BAG_CERTIFICATE" link="gnutls-pkcs12.html#GNUTLS-BAG-CERTIFICATE:CAPS"/> + <keyword type="constant" name="GNUTLS_BAG_CRL" link="gnutls-pkcs12.html#GNUTLS-BAG-CRL:CAPS"/> + <keyword type="constant" name="GNUTLS_BAG_SECRET" link="gnutls-pkcs12.html#GNUTLS-BAG-SECRET:CAPS"/> + <keyword type="constant" name="GNUTLS_BAG_ENCRYPTED" link="gnutls-pkcs12.html#GNUTLS-BAG-ENCRYPTED:CAPS"/> + <keyword type="constant" name="GNUTLS_BAG_UNKNOWN" link="gnutls-pkcs12.html#GNUTLS-BAG-UNKNOWN:CAPS"/> + <keyword type="constant" name="GNUTLS_TPMKEY_FMT_RAW" link="gnutls-tpm.html#GNUTLS-TPMKEY-FMT-RAW:CAPS"/> + <keyword type="constant" name="GNUTLS_TPMKEY_FMT_DER" link="gnutls-tpm.html#GNUTLS-TPMKEY-FMT-DER:CAPS"/> + <keyword type="constant" name="GNUTLS_TPMKEY_FMT_CTK_PEM" link="gnutls-tpm.html#GNUTLS-TPMKEY-FMT-CTK-PEM:CAPS"/> + <keyword type="member" name="gnutls-pcert-st.pubkey" link="gnutls-abstract.html#gnutls-pcert-st.pubkey"/> + <keyword type="member" name="gnutls-pcert-st.cert" link="gnutls-abstract.html#gnutls-pcert-st.cert"/> + <keyword type="member" name="gnutls-pcert-st.type" link="gnutls-abstract.html#gnutls-pcert-st.type"/> + <keyword type="member" name="gnutls-dtls-prestate-st.record-seq" link="gnutls-dtls.html#gnutls-dtls-prestate-st.record-seq"/> + <keyword type="member" name="gnutls-dtls-prestate-st.hsk-read-seq" link="gnutls-dtls.html#gnutls-dtls-prestate-st.hsk-read-seq"/> + <keyword type="member" name="gnutls-dtls-prestate-st.hsk-write-seq" link="gnutls-dtls.html#gnutls-dtls-prestate-st.hsk-write-seq"/> + </functions> +</book> diff --git a/doc/reference/html/home.png b/doc/reference/html/home.png Binary files differnew file mode 100644 index 0000000..9346b33 --- /dev/null +++ b/doc/reference/html/home.png diff --git a/doc/reference/html/index.html b/doc/reference/html/index.html new file mode 100644 index 0000000..d9285d2 --- /dev/null +++ b/doc/reference/html/index.html @@ -0,0 +1,66 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>GnuTLS API Reference Manual: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="next" href="intro.html" title="GnuTLS API Reference Manual"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<div class="book"> +<div class="titlepage"> +<div> +<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GnuTLS API Reference Manual</p></th></tr></table></div> +<div><p class="releaseinfo"> + for GnuTLS 3.7.9 +. + The latest version of this documentation can be found on-line at + <a class="ulink" href="https://www.gnutls.org/reference/" target="_top">https://www.gnutls.org/reference/</a>. + </p></div> +</div> +<hr> +</div> +<div class="toc"><dl class="toc"> +<dt><span class="chapter"><a href="intro.html">GnuTLS API Reference Manual</a></span></dt> +<dd><dl> +<dt> +<span class="refentrytitle"><a href="gnutls-gnutls.html">gnutls</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-abstract.html">abstract</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-x509.html">x509</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-openpgp.html">openpgp</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-crypto.html">crypto</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-pkcs11.html">pkcs11</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-pkcs12.html">pkcs12</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-ocsp.html">ocsp</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-dtls.html">dtls</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-tpm.html">tpm</a></span><span class="refpurpose"></span> +</dt> +</dl></dd> +<dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt> +</dl></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/intro.html b/doc/reference/html/intro.html new file mode 100644 index 0000000..b03f9f1 --- /dev/null +++ b/doc/reference/html/intro.html @@ -0,0 +1,70 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>GnuTLS API Reference Manual: GnuTLS API Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="up" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="prev" href="index.html" title="GnuTLS API Reference Manual"> +<link rel="next" href="gnutls-gnutls.html" title="gnutls"> +<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="gnutls-gnutls.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="intro"></a>GnuTLS API Reference Manual</h1></div></div></div> +<div class="toc"><dl class="toc"> +<dt> +<span class="refentrytitle"><a href="gnutls-gnutls.html">gnutls</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-abstract.html">abstract</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-x509.html">x509</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-openpgp.html">openpgp</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-crypto.html">crypto</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-pkcs11.html">pkcs11</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-pkcs12.html">pkcs12</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-ocsp.html">ocsp</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-dtls.html">dtls</a></span><span class="refpurpose"></span> +</dt> +<dt> +<span class="refentrytitle"><a href="gnutls-tpm.html">tpm</a></span><span class="refpurpose"></span> +</dt> +</dl></div> +<p> + GnuTLS implements the Transport Layer Security (TLS) and Secure + Sockets Layer (SSL) protocols for the GNU project. + </p> +<p> + More up to date information can be found at + <a class="ulink" href="https://www.gnutls.org/" target="_top"> + https://www.gnutls.org/</a>. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.1</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/left-insensitive.png b/doc/reference/html/left-insensitive.png Binary files differnew file mode 100644 index 0000000..3269393 --- /dev/null +++ b/doc/reference/html/left-insensitive.png diff --git a/doc/reference/html/left.png b/doc/reference/html/left.png Binary files differnew file mode 100644 index 0000000..2abde03 --- /dev/null +++ b/doc/reference/html/left.png diff --git a/doc/reference/html/right-insensitive.png b/doc/reference/html/right-insensitive.png Binary files differnew file mode 100644 index 0000000..4c95785 --- /dev/null +++ b/doc/reference/html/right-insensitive.png diff --git a/doc/reference/html/right.png b/doc/reference/html/right.png Binary files differnew file mode 100644 index 0000000..76260ec --- /dev/null +++ b/doc/reference/html/right.png diff --git a/doc/reference/html/style.css b/doc/reference/html/style.css new file mode 100644 index 0000000..2eeda1f --- /dev/null +++ b/doc/reference/html/style.css @@ -0,0 +1,530 @@ +body +{ + font-family: cantarell, sans-serif; +} +.synopsis, .classsynopsis +{ + /* tango:aluminium 1/2 */ + background: #eeeeec; + background: rgba(238, 238, 236, 0.5); + border: solid 1px rgb(238, 238, 236); + padding: 0.5em; +} +.programlisting +{ + /* tango:sky blue 0/1 */ + /* fallback for no rgba support */ + background: #e6f3ff; + border: solid 1px #729fcf; + background: rgba(114, 159, 207, 0.1); + border: solid 1px rgba(114, 159, 207, 0.2); + padding: 0.5em; +} +.variablelist +{ + padding: 4px; + margin-left: 3em; +} +.variablelist td:first-child +{ + vertical-align: top; +} + +span.nowrap { + white-space: nowrap; +} + +div.gallery-float +{ + float: left; + padding: 10px; +} +div.gallery-float img +{ + border-style: none; +} +div.gallery-spacer +{ + clear: both; +} + +a, a:visited +{ + text-decoration: none; + /* tango:sky blue 2 */ + color: #3465a4; +} +a:hover +{ + text-decoration: underline; + /* tango:sky blue 1 */ + color: #729fcf; +} + +.function_type, +.variable_type, +.property_type, +.signal_type, +.parameter_name, +.struct_member_name, +.union_member_name, +.define_keyword, +.datatype_keyword, +.typedef_keyword +{ + text-align: right; +} + +/* dim non-primary columns */ +.c_punctuation, +.function_type, +.variable_type, +.property_type, +.signal_type, +.define_keyword, +.datatype_keyword, +.typedef_keyword, +.property_flags, +.signal_flags, +.parameter_annotations, +.enum_member_annotations, +.struct_member_annotations, +.union_member_annotations +{ + color: #888a85; +} + +.function_type a, +.function_type a:visited, +.function_type a:hover, +.property_type a, +.property_type a:visited, +.property_type a:hover, +.signal_type a, +.signal_type a:visited, +.signal_type a:hover, +.signal_flags a, +.signal_flags a:visited, +.signal_flags a:hover +{ + color: #729fcf; +} + +td p +{ + margin: 0.25em; +} + +div.informaltable table[border="1"], +div.table table +{ + border-collapse: collapse; + border-spacing: 0px; + /* tango:aluminium 3 */ + border: solid 1px #babdb6; +} + +div.informaltable table[border="1"] td, +div.informaltable table th, +div.table table td, div.table table th +{ + /* tango:aluminium 3 */ + border: solid 1px #babdb6; + padding: 3px; + vertical-align: top; +} + +div.informaltable table[border="1"] th, +div.table table th +{ + /* tango:aluminium 2 */ + background-color: #d3d7cf; +} + +h4 +{ + color: #555753; + margin-top: 1em; + margin-bottom: 1em; +} + +hr +{ + /* tango:aluminium 1 */ + color: #d3d7cf; + background: #d3d7cf; + border: none 0px; + height: 1px; + clear: both; + margin: 2.0em 0em 2.0em 0em; +} + +dl.toc dt +{ + padding-bottom: 0.25em; +} + +dl.toc > dt +{ + padding-top: 0.25em; + padding-bottom: 0.25em; + font-weight: bold; +} + +dl.toc > dl +{ + padding-bottom: 0.5em; +} + +.parameter +{ + font-style: normal; +} + +.footer +{ + padding-top: 3.5em; + /* tango:aluminium 3 */ + color: #babdb6; + text-align: center; + font-size: 80%; +} + +.informalfigure, +.figure +{ + margin: 1em; +} + +.informalexample, +.example +{ + margin-top: 1em; + margin-bottom: 1em; +} + +.warning +{ + /* tango:orange 0/1 */ + background: #ffeed9; + background: rgba(252, 175, 62, 0.1); + border-color: #ffb04f; + border-color: rgba(252, 175, 62, 0.2); +} +.note +{ + /* tango:chameleon 0/0.5 */ + background: #d8ffb2; + background: rgba(138, 226, 52, 0.1); + border-color: #abf562; + border-color: rgba(138, 226, 52, 0.2); +} +div.blockquote +{ + border-color: #eeeeec; +} +.note, .warning, div.blockquote +{ + padding: 0.5em; + border-width: 1px; + border-style: solid; + margin: 2em; +} +.note p, .warning p +{ + margin: 0; +} + +div.warning h3.title, +div.note h3.title +{ + display: none; +} + +p + div.section +{ + margin-top: 1em; +} + +div.refnamediv, +div.refsynopsisdiv, +div.refsect1, +div.refsect2, +div.toc, +div.section +{ + margin-bottom: 1em; +} + +/* blob links */ +h2 .extralinks, h3 .extralinks +{ + float: right; + /* tango:aluminium 3 */ + color: #babdb6; + font-size: 80%; + font-weight: normal; +} + +.lineart +{ + color: #d3d7cf; + font-weight: normal; +} + +.annotation +{ + /* tango:aluminium 5 */ + color: #555753; + font-weight: normal; +} + +.structfield +{ + font-style: normal; + font-weight: normal; +} + +acronym,abbr +{ + border-bottom: 1px dotted gray; +} + +.listing_frame { + /* tango:sky blue 1 */ + border: solid 1px #729fcf; + border: solid 1px rgba(114, 159, 207, 0.2); + padding: 0px; +} + +.listing_lines, .listing_code { + margin-top: 0px; + margin-bottom: 0px; + padding: 0.5em; +} +.listing_lines { + /* tango:sky blue 0.5 */ + background: #a6c5e3; + background: rgba(114, 159, 207, 0.2); + /* tango:aluminium 6 */ + color: #2e3436; +} +.listing_code { + /* tango:sky blue 0 */ + background: #e6f3ff; + background: rgba(114, 159, 207, 0.1); +} +.listing_code .programlisting { + /* override from previous */ + border: none 0px; + padding: 0px; + background: none; +} +.listing_lines pre, .listing_code pre { + margin: 0px; +} + +@media screen { + /* these have a <sup> as a first child, but since there are no parent selectors + * we can't use that. */ + a.footnote + { + position: relative; + top: 0em ! important; + } + /* this is needed so that the local anchors are displayed below the naviagtion */ + div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name] + { + display: inline-block; + position: relative; + top:-5em; + } + /* this seems to be a bug in the xsl style sheets when generating indexes */ + div.index div.index + { + top: 0em; + } + /* make space for the fixed navigation bar and add space at the bottom so that + * link targets appear somewhat close to top + */ + body + { + padding-top: 2.5em; + padding-bottom: 500px; + max-width: 60em; + } + p + { + max-width: 60em; + } + /* style and size the navigation bar */ + table.navigation#top + { + position: fixed; + background: #e2e2e2; + border-bottom: solid 1px #babdb6; + border-spacing: 5px; + margin-top: 0; + margin-bottom: 0; + top: 0; + left: 0; + z-index: 10; + } + table.navigation#top td + { + padding-left: 6px; + padding-right: 6px; + } + .navigation a, .navigation a:visited + { + /* tango:sky blue 3 */ + color: #204a87; + } + .navigation a:hover + { + /* tango:sky blue 2 */ + color: #3465a4; + } + td.shortcuts + { + /* tango:sky blue 2 */ + color: #3465a4; + font-size: 80%; + white-space: nowrap; + } + td.shortcuts .dim + { + color: #babdb6; + } + .navigation .title + { + font-size: 80%; + max-width: none; + margin: 0px; + font-weight: normal; + } +} +@media screen and (min-width: 60em) { + /* screen larger than 60em */ + body { margin: auto; } +} +@media screen and (max-width: 60em) { + /* screen less than 60em */ + #nav_hierarchy { display: none; } + #nav_interfaces { display: none; } + #nav_prerequisites { display: none; } + #nav_derived_interfaces { display: none; } + #nav_implementations { display: none; } + #nav_child_properties { display: none; } + #nav_style_properties { display: none; } + #nav_index { display: none; } + #nav_glossary { display: none; } + .gallery_image { display: none; } + .property_flags { display: none; } + .signal_flags { display: none; } + .parameter_annotations { display: none; } + .enum_member_annotations { display: none; } + .struct_member_annotations { display: none; } + .union_member_annotations { display: none; } + /* now that a column is hidden, optimize space */ + col.parameters_name { width: auto; } + col.parameters_description { width: auto; } + col.struct_members_name { width: auto; } + col.struct_members_description { width: auto; } + col.enum_members_name { width: auto; } + col.enum_members_description { width: auto; } + col.union_members_name { width: auto; } + col.union_members_description { width: auto; } + .listing_lines { display: none; } +} +@media print { + table.navigation { + visibility: collapse; + display: none; + } + div.titlepage table.navigation { + visibility: visible; + display: table; + background: #e2e2e2; + border: solid 1px #babdb6; + margin-top: 0; + margin-bottom: 0; + top: 0; + left: 0; + height: 3em; + } +} + +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.hll { background-color: #ffffcc } +.c { color: #3D7B7B; font-style: italic } /* Comment */ +.err { border: 1px solid #FF0000 } /* Error */ +.k { color: #008000; font-weight: bold } /* Keyword */ +.o { color: #666666 } /* Operator */ +.ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */ +.cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */ +.cp { color: #9C6500 } /* Comment.Preproc */ +.cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */ +.c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */ +.cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ +.gd { color: #A00000 } /* Generic.Deleted */ +.ge { font-style: italic } /* Generic.Emph */ +.gr { color: #E40000 } /* Generic.Error */ +.gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.gi { color: #008400 } /* Generic.Inserted */ +.go { color: #717171 } /* Generic.Output */ +.gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.gs { font-weight: bold } /* Generic.Strong */ +.gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.gt { color: #0044DD } /* Generic.Traceback */ +.kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.kp { color: #008000 } /* Keyword.Pseudo */ +.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.kt { color: #B00040 } /* Keyword.Type */ +.m { color: #666666 } /* Literal.Number */ +.s { color: #BA2121 } /* Literal.String */ +.na { color: #687822 } /* Name.Attribute */ +.nb { color: #008000 } /* Name.Builtin */ +.nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.no { color: #880000 } /* Name.Constant */ +.nd { color: #AA22FF } /* Name.Decorator */ +.ni { color: #717171; font-weight: bold } /* Name.Entity */ +.ne { color: #CB3F38; font-weight: bold } /* Name.Exception */ +.nf { color: #0000FF } /* Name.Function */ +.nl { color: #767600 } /* Name.Label */ +.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.nt { color: #008000; font-weight: bold } /* Name.Tag */ +.nv { color: #19177C } /* Name.Variable */ +.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.w { color: #bbbbbb } /* Text.Whitespace */ +.mb { color: #666666 } /* Literal.Number.Bin */ +.mf { color: #666666 } /* Literal.Number.Float */ +.mh { color: #666666 } /* Literal.Number.Hex */ +.mi { color: #666666 } /* Literal.Number.Integer */ +.mo { color: #666666 } /* Literal.Number.Oct */ +.sa { color: #BA2121 } /* Literal.String.Affix */ +.sb { color: #BA2121 } /* Literal.String.Backtick */ +.sc { color: #BA2121 } /* Literal.String.Char */ +.dl { color: #BA2121 } /* Literal.String.Delimiter */ +.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.s2 { color: #BA2121 } /* Literal.String.Double */ +.se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */ +.sh { color: #BA2121 } /* Literal.String.Heredoc */ +.si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */ +.sx { color: #008000 } /* Literal.String.Other */ +.sr { color: #A45A77 } /* Literal.String.Regex */ +.s1 { color: #BA2121 } /* Literal.String.Single */ +.ss { color: #19177C } /* Literal.String.Symbol */ +.bp { color: #008000 } /* Name.Builtin.Pseudo */ +.fm { color: #0000FF } /* Name.Function.Magic */ +.vc { color: #19177C } /* Name.Variable.Class */ +.vg { color: #19177C } /* Name.Variable.Global */ +.vi { color: #19177C } /* Name.Variable.Instance */ +.vm { color: #19177C } /* Name.Variable.Magic */ +.il { color: #666666 } /* Literal.Number.Integer.Long */
\ No newline at end of file diff --git a/doc/reference/html/up-insensitive.png b/doc/reference/html/up-insensitive.png Binary files differnew file mode 100644 index 0000000..f404986 --- /dev/null +++ b/doc/reference/html/up-insensitive.png diff --git a/doc/reference/html/up.png b/doc/reference/html/up.png Binary files differnew file mode 100644 index 0000000..80b4b37 --- /dev/null +++ b/doc/reference/html/up.png |