Blame doc/enums.texi

Packit aea12f
Packit aea12f
Packit aea12f
@c gnutls_cipher_algorithm_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-CIPHER_@-UNKNOWN
Packit aea12f
Value to identify an unknown/unsupported algorithm.
Packit aea12f
@item GNUTLS_@-CIPHER_@-NULL
Packit aea12f
The NULL (identity) encryption algorithm.
Packit aea12f
@item GNUTLS_@-CIPHER_@-ARCFOUR_@-128
Packit aea12f
ARCFOUR stream cipher with 128-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-3DES_@-CBC
Packit aea12f
3DES in CBC mode.
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-128_@-CBC
Packit aea12f
AES in CBC mode with 128-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-256_@-CBC
Packit aea12f
AES in CBC mode with 256-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-ARCFOUR_@-40
Packit aea12f
ARCFOUR stream cipher with 40-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-CAMELLIA_@-128_@-CBC
Packit aea12f
Camellia in CBC mode with 128-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-CAMELLIA_@-256_@-CBC
Packit aea12f
Camellia in CBC mode with 256-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-192_@-CBC
Packit aea12f
AES in CBC mode with 192-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-128_@-GCM
Packit Service 991b93
AES in GCM mode with 128-bit keys (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-256_@-GCM
Packit Service 991b93
AES in GCM mode with 256-bit keys (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-CAMELLIA_@-192_@-CBC
Packit aea12f
Camellia in CBC mode with 192-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-SALSA20_@-256
Packit aea12f
Salsa20 with 256-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-ESTREAM_@-SALSA20_@-256
Packit aea12f
Estream's Salsa20 variant with 256-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-CAMELLIA_@-128_@-GCM
Packit Service 991b93
CAMELLIA in GCM mode with 128-bit keys (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-CAMELLIA_@-256_@-GCM
Packit Service 991b93
CAMELLIA in GCM mode with 256-bit keys (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-RC2_@-40_@-CBC
Packit aea12f
RC2 in CBC mode with 40-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-DES_@-CBC
Packit aea12f
DES in CBC mode (56-bit keys).
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-128_@-CCM
Packit Service 991b93
AES in CCM mode with 128-bit keys (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-256_@-CCM
Packit Service 991b93
AES in CCM mode with 256-bit keys (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-128_@-CCM_@-8
Packit Service 991b93
AES in CCM mode with 64-bit tag and 128-bit keys (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-256_@-CCM_@-8
Packit Service 991b93
AES in CCM mode with 64-bit tag and 256-bit keys (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-CHACHA20_@-POLY1305
Packit aea12f
The Chacha20 cipher with the Poly1305 authenticator (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-GOST28147_@-TC26Z_@-CFB
Packit aea12f
GOST 28147-89 (Magma) cipher in CFB mode with TC26 Z S-box.
Packit aea12f
@item GNUTLS_@-CIPHER_@-GOST28147_@-CPA_@-CFB
Packit aea12f
GOST 28147-89 (Magma) cipher in CFB mode with CryptoPro A S-box.
Packit aea12f
@item GNUTLS_@-CIPHER_@-GOST28147_@-CPB_@-CFB
Packit aea12f
GOST 28147-89 (Magma) cipher in CFB mode with CryptoPro B S-box.
Packit aea12f
@item GNUTLS_@-CIPHER_@-GOST28147_@-CPC_@-CFB
Packit aea12f
GOST 28147-89 (Magma) cipher in CFB mode with CryptoPro C S-box.
Packit aea12f
@item GNUTLS_@-CIPHER_@-GOST28147_@-CPD_@-CFB
Packit aea12f
GOST 28147-89 (Magma) cipher in CFB mode with CryptoPro D S-box.
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-128_@-CFB8
Packit aea12f
AES in CFB8 mode with 128-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-192_@-CFB8
Packit aea12f
AES in CFB8 mode with 192-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-256_@-CFB8
Packit aea12f
AES in CFB8 mode with 256-bit keys.
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-128_@-XTS
Packit aea12f
AES in XTS mode with 128-bit key + 128bit tweak key.
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES_@-256_@-XTS
Packit aea12f
AES in XTS mode with 256-bit key + 256bit tweak key.
Packit aea12f
Note that the XTS ciphers are message oriented.
Packit aea12f
The whole message needs to be provided with a single call, because
Packit aea12f
cipher-stealing requires to know where the message actually terminates
Packit aea12f
in order to be able to compute where the stealing occurs.
Packit Service 991b93
@item GNUTLS_@-CIPHER_@-GOST28147_@-TC26Z_@-CNT
Packit Service 991b93
GOST 28147-89 (Magma) cipher in CNT mode with TC26 Z S-box.
Packit Service 991b93
@item GNUTLS_@-CIPHER_@-CHACHA20_@-64
Packit Service 991b93
Chacha20 cipher with 64-bit nonces and 64-bit block counters.
Packit Service 991b93
@item GNUTLS_@-CIPHER_@-CHACHA20_@-32
Packit Service 991b93
Chacha20 cipher with 96-bit nonces and 32-bit block counters.
Packit Service 991b93
@item GNUTLS_@-CIPHER_@-AES_@-128_@-SIV
Packit Service 991b93
AES in SIV mode with 128-bit key.
Packit Service 991b93
@item GNUTLS_@-CIPHER_@-AES_@-256_@-SIV
Packit Service 991b93
AES in SIV mode with 256-bit key.
Packit Service 991b93
Note that the SIV ciphers can only be used with
Packit Service 991b93
the AEAD interface, and the IV plays a role as
Packit Service 991b93
the authentication tag while it is prepended to
Packit Service 991b93
the cipher text.
Packit Service 991b93
@item GNUTLS_@-CIPHER_@-AES_@-192_@-GCM
Packit Service 991b93
AES in GCM mode with 192-bit keys (AEAD).
Packit aea12f
@item GNUTLS_@-CIPHER_@-IDEA_@-PGP_@-CFB
Packit aea12f
IDEA in CFB mode (placeholder - unsupported).
Packit aea12f
@item GNUTLS_@-CIPHER_@-3DES_@-PGP_@-CFB
Packit aea12f
3DES in CFB mode (placeholder - unsupported).
Packit aea12f
@item GNUTLS_@-CIPHER_@-CAST5_@-PGP_@-CFB
Packit aea12f
CAST5 in CFB mode (placeholder - unsupported).
Packit aea12f
@item GNUTLS_@-CIPHER_@-BLOWFISH_@-PGP_@-CFB
Packit aea12f
Blowfish in CFB mode (placeholder - unsupported).
Packit aea12f
@item GNUTLS_@-CIPHER_@-SAFER_@-SK128_@-PGP_@-CFB
Packit aea12f
Safer-SK in CFB mode with 128-bit keys (placeholder - unsupported).
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES128_@-PGP_@-CFB
Packit aea12f
AES in CFB mode with 128-bit keys (placeholder - unsupported).
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES192_@-PGP_@-CFB
Packit aea12f
AES in CFB mode with 192-bit keys (placeholder - unsupported).
Packit aea12f
@item GNUTLS_@-CIPHER_@-AES256_@-PGP_@-CFB
Packit aea12f
AES in CFB mode with 256-bit keys (placeholder - unsupported).
Packit aea12f
@item GNUTLS_@-CIPHER_@-TWOFISH_@-PGP_@-CFB
Packit aea12f
Twofish in CFB mode (placeholder - unsupported).
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_kx_algorithm_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-KX_@-UNKNOWN
Packit aea12f
Unknown key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-RSA
Packit aea12f
RSA key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-DHE_@-DSS
Packit aea12f
DHE-DSS key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-DHE_@-RSA
Packit aea12f
DHE-RSA key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-ANON_@-DH
Packit aea12f
Anon-DH key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-SRP
Packit aea12f
SRP key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-RSA_@-EXPORT
Packit aea12f
RSA-EXPORT key-exchange algorithm (defunc).
Packit aea12f
@item GNUTLS_@-KX_@-SRP_@-RSA
Packit aea12f
SRP-RSA key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-SRP_@-DSS
Packit aea12f
SRP-DSS key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-PSK
Packit aea12f
PSK key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-DHE_@-PSK
Packit aea12f
DHE-PSK key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-ANON_@-ECDH
Packit aea12f
Anon-ECDH key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-ECDHE_@-RSA
Packit aea12f
ECDHE-RSA key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-ECDHE_@-ECDSA
Packit aea12f
ECDHE-ECDSA key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-ECDHE_@-PSK
Packit aea12f
ECDHE-PSK key-exchange algorithm.
Packit aea12f
@item GNUTLS_@-KX_@-RSA_@-PSK
Packit aea12f
RSA-PSK key-exchange algorithm.
Packit Service 991b93
@item GNUTLS_@-KX_@-VKO_@-GOST_@-12
Packit Service 991b93
VKO GOST R 34.10-2012 key-exchange algorithm.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_params_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PARAMS_@-RSA_@-EXPORT
Packit aea12f
Session RSA-EXPORT parameters (defunc).
Packit aea12f
@item GNUTLS_@-PARAMS_@-DH
Packit aea12f
Session Diffie-Hellman parameters.
Packit aea12f
@item GNUTLS_@-PARAMS_@-ECDH
Packit aea12f
Session Elliptic-Curve Diffie-Hellman parameters.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_credentials_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-CRD_@-CERTIFICATE
Packit aea12f
Certificate credential.
Packit aea12f
@item GNUTLS_@-CRD_@-ANON
Packit aea12f
Anonymous credential.
Packit aea12f
@item GNUTLS_@-CRD_@-SRP
Packit aea12f
SRP credential.
Packit aea12f
@item GNUTLS_@-CRD_@-PSK
Packit aea12f
PSK credential.
Packit aea12f
@item GNUTLS_@-CRD_@-IA
Packit aea12f
IA credential.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_mac_algorithm_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-MAC_@-UNKNOWN
Packit aea12f
Unknown MAC algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-NULL
Packit aea12f
NULL MAC algorithm (empty output).
Packit aea12f
@item GNUTLS_@-MAC_@-MD5
Packit aea12f
HMAC-MD5 algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-SHA1
Packit aea12f
HMAC-SHA-1 algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-RMD160
Packit aea12f
HMAC-RMD160 algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-MD2
Packit aea12f
HMAC-MD2 algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-SHA256
Packit aea12f
HMAC-SHA-256 algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-SHA384
Packit aea12f
HMAC-SHA-384 algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-SHA512
Packit aea12f
HMAC-SHA-512 algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-SHA224
Packit aea12f
HMAC-SHA-224 algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-SHA3_@-224
Packit aea12f
Reserved; unimplemented.
Packit aea12f
@item GNUTLS_@-MAC_@-SHA3_@-256
Packit aea12f
Reserved; unimplemented.
Packit aea12f
@item GNUTLS_@-MAC_@-SHA3_@-384
Packit aea12f
Reserved; unimplemented.
Packit aea12f
@item GNUTLS_@-MAC_@-SHA3_@-512
Packit aea12f
Reserved; unimplemented.
Packit aea12f
@item GNUTLS_@-MAC_@-MD5_@-SHA1
Packit aea12f
Combined MD5+SHA1 MAC placeholder.
Packit aea12f
@item GNUTLS_@-MAC_@-GOSTR_@-94
Packit aea12f
HMAC GOST R 34.11-94 algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-STREEBOG_@-256
Packit aea12f
HMAC GOST R 34.11-2001 (Streebog) algorithm, 256 bit.
Packit aea12f
@item GNUTLS_@-MAC_@-STREEBOG_@-512
Packit aea12f
HMAC GOST R 34.11-2001 (Streebog) algorithm, 512 bit.
Packit aea12f
@item GNUTLS_@-MAC_@-AEAD
Packit aea12f
MAC implicit through AEAD cipher.
Packit aea12f
@item GNUTLS_@-MAC_@-UMAC_@-96
Packit Service 991b93
The UMAC-96 MAC algorithm (requires nonce).
Packit aea12f
@item GNUTLS_@-MAC_@-UMAC_@-128
Packit Service 991b93
The UMAC-128 MAC algorithm (requires nonce).
Packit aea12f
@item GNUTLS_@-MAC_@-AES_@-CMAC_@-128
Packit aea12f
The AES-CMAC-128 MAC algorithm.
Packit aea12f
@item GNUTLS_@-MAC_@-AES_@-CMAC_@-256
Packit aea12f
The AES-CMAC-256 MAC algorithm.
Packit Service 991b93
@item GNUTLS_@-MAC_@-AES_@-GMAC_@-128
Packit Service 991b93
The AES-GMAC-128 MAC algorithm (requires nonce).
Packit Service 991b93
@item GNUTLS_@-MAC_@-AES_@-GMAC_@-192
Packit Service 991b93
The AES-GMAC-192 MAC algorithm (requires nonce).
Packit Service 991b93
@item GNUTLS_@-MAC_@-AES_@-GMAC_@-256
Packit Service 991b93
The AES-GMAC-256 MAC algorithm (requires nonce).
Packit Service 991b93
@item GNUTLS_@-MAC_@-GOST28147_@-TC26Z_@-IMIT
Packit Service 991b93
The GOST 28147-89 working in IMIT mode with TC26 Z S-box.
Packit Service 991b93
@item GNUTLS_@-MAC_@-SHAKE_@-128
Packit Service 991b93
Reserved; unimplemented.
Packit Service 991b93
@item GNUTLS_@-MAC_@-SHAKE_@-256
Packit Service 991b93
Reserved; unimplemented.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_digest_algorithm_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-DIG_@-UNKNOWN
Packit aea12f
Unknown hash algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-NULL
Packit aea12f
NULL hash algorithm (empty output).
Packit aea12f
@item GNUTLS_@-DIG_@-MD5
Packit aea12f
MD5 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-SHA1
Packit aea12f
SHA-1 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-RMD160
Packit aea12f
RMD160 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-MD2
Packit aea12f
MD2 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-SHA256
Packit aea12f
SHA-256 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-SHA384
Packit aea12f
SHA-384 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-SHA512
Packit aea12f
SHA-512 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-SHA224
Packit aea12f
SHA-224 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-SHA3_@-224
Packit aea12f
SHA3-224 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-SHA3_@-256
Packit aea12f
SHA3-256 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-SHA3_@-384
Packit aea12f
SHA3-384 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-SHA3_@-512
Packit aea12f
SHA3-512 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-MD5_@-SHA1
Packit aea12f
Combined MD5+SHA1 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-GOSTR_@-94
Packit aea12f
GOST R 34.11-94 algorithm.
Packit aea12f
@item GNUTLS_@-DIG_@-STREEBOG_@-256
Packit aea12f
GOST R 34.11-2001 (Streebog) algorithm, 256 bit.
Packit aea12f
@item GNUTLS_@-DIG_@-STREEBOG_@-512
Packit aea12f
GOST R 34.11-2001 (Streebog) algorithm, 512 bit.
Packit Service 991b93
@item GNUTLS_@-DIG_@-SHAKE_@-128
Packit Service 991b93
Reserved; unimplemented.
Packit Service 991b93
@item GNUTLS_@-DIG_@-SHAKE_@-256
Packit Service 991b93
Reserved; unimplemented.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_compression_method_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-COMP_@-UNKNOWN
Packit aea12f
Unknown compression method.
Packit aea12f
@item GNUTLS_@-COMP_@-NULL
Packit aea12f
The NULL compression method (no compression).
Packit aea12f
@item GNUTLS_@-COMP_@-DEFLATE
Packit aea12f
The DEFLATE compression method from zlib.
Packit aea12f
@item GNUTLS_@-COMP_@-ZLIB
Packit aea12f
Same as @code{GNUTLS_COMP_DEFLATE} .
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_init_flags_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-SERVER
Packit aea12f
Connection end is a server.
Packit aea12f
@item GNUTLS_@-CLIENT
Packit aea12f
Connection end is a client.
Packit aea12f
@item GNUTLS_@-DATAGRAM
Packit aea12f
Connection is datagram oriented (DTLS). Since 3.0.0.
Packit aea12f
@item GNUTLS_@-NONBLOCK
Packit aea12f
Connection should not block. Since 3.0.0.
Packit aea12f
@item GNUTLS_@-NO_@-EXTENSIONS
Packit aea12f
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.
Packit aea12f
@item GNUTLS_@-NO_@-REPLAY_@-PROTECTION
Packit aea12f
Disable any replay protection in DTLS. This must only be used if  replay protection is achieved using other means. Since 3.2.2.
Packit aea12f
@item GNUTLS_@-NO_@-SIGNAL
Packit aea12f
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).
Packit aea12f
@item GNUTLS_@-ALLOW_@-ID_@-CHANGE
Packit aea12f
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.
Packit aea12f
@item GNUTLS_@-ENABLE_@-FALSE_@-START
Packit aea12f
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.
Packit aea12f
@item GNUTLS_@-FORCE_@-CLIENT_@-CERT
Packit aea12f
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.
Packit aea12f
@item GNUTLS_@-NO_@-TICKETS
Packit aea12f
Flag to indicate that the session should not use resumption with session tickets.
Packit aea12f
@item GNUTLS_@-KEY_@-SHARE_@-TOP
Packit aea12f
Generate key share for the first group which is enabled.
Packit aea12f
For example x25519. This option is the most performant for client (less CPU spent
Packit aea12f
generating keys), but if the server doesn't support the advertized option it may
Packit aea12f
result to more roundtrips needed to discover the server's choice.
Packit aea12f
@item GNUTLS_@-KEY_@-SHARE_@-TOP2
Packit aea12f
Generate key shares for the top-2 different groups which are enabled.
Packit aea12f
For example (ECDH + x25519). This is the default.
Packit aea12f
@item GNUTLS_@-KEY_@-SHARE_@-TOP3
Packit aea12f
Generate key shares for the top-3 different groups which are enabled.
Packit aea12f
That is, as each group is associated with a key type (EC, finite field, x25519), generate
Packit aea12f
three keys using @code{GNUTLS_PK_DH} , @code{GNUTLS_PK_EC} , @code{GNUTLS_PK_ECDH_X25519}  if all of them are enabled.
Packit aea12f
@item GNUTLS_@-POST_@-HANDSHAKE_@-AUTH
Packit aea12f
Enable post handshake authentication for server and client. When set and
Packit aea12f
a server requests authentication after handshake @code{GNUTLS_E_REAUTH_REQUEST}  will be returned
Packit aea12f
by @code{gnutls_record_recv()} . A client should then call @code{gnutls_reauth()}  to re-authenticate.
Packit aea12f
@item GNUTLS_@-NO_@-AUTO_@-REKEY
Packit aea12f
Disable auto-rekeying under TLS1.3. If this option is not specified
Packit aea12f
gnutls will force a rekey after 2^24 records have been sent.
Packit aea12f
@item GNUTLS_@-SAFE_@-PADDING_@-CHECK
Packit aea12f
Flag to indicate that the TLS 1.3 padding check will be done in a
Packit aea12f
safe way which doesn't leak the pad size based on GnuTLS processing time. This is of use to
Packit aea12f
applications which hide the length of transferred data via the TLS1.3 padding mechanism and
Packit aea12f
are already taking steps to hide the data processing time. This comes at a performance
Packit aea12f
penalty.
Packit aea12f
@item GNUTLS_@-ENABLE_@-EARLY_@-START
Packit aea12f
Under TLS1.3 allow the server to return earlier than the full handshake
Packit aea12f
finish; similarly to false start the handshake will be completed once data are received by the
Packit aea12f
client, while the server is able to transmit sooner. This is not enabled by default as it could
Packit aea12f
break certain existing server assumptions and use-cases. Since 3.6.4.
Packit aea12f
@item GNUTLS_@-ENABLE_@-RAWPK
Packit aea12f
Allows raw public-keys to be negotiated during the handshake. Since 3.6.6.
Packit aea12f
@item GNUTLS_@-AUTO_@-REAUTH
Packit aea12f
Enable transparent re-authentication in client side when the server
Packit aea12f
requests to. That is, reauthentication is handled within @code{gnutls_record_recv()} , and
Packit aea12f
the @code{GNUTLS_E_REHANDSHAKE}  or @code{GNUTLS_E_REAUTH_REQUEST}  are not returned. This must be
Packit aea12f
enabled with @code{GNUTLS_POST_HANDSHAKE_AUTH}  for TLS1.3. Enabling this flag requires to restore
Packit aea12f
interrupted calls to @code{gnutls_record_recv()}  based on the output of @code{gnutls_record_get_direction()} ,
Packit aea12f
since @code{gnutls_record_recv()}  could be interrupted when sending when this flag is enabled.
Packit aea12f
Note this flag may not be used if you are using the same session for sending and receiving
Packit aea12f
in different threads.
Packit aea12f
@item GNUTLS_@-ENABLE_@-EARLY_@-DATA
Packit aea12f
Under TLS1.3 allow the server to receive early data sent as part of the initial ClientHello (0-RTT). 
Packit aea12f
This is not enabled by default as early data has weaker security properties than other data. Since 3.6.5.
Packit Service 991b93
@item GNUTLS_@-NO_@-AUTO_@-SEND_@-TICKET
Packit Service 991b93
Under TLS1.3 disable auto-sending of
Packit Service 991b93
session tickets during the handshake.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_alert_level_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-AL_@-WARNING
Packit aea12f
Alert of warning severity.
Packit aea12f
@item GNUTLS_@-AL_@-FATAL
Packit aea12f
Alert of fatal severity.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_alert_description_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-A_@-CLOSE_@-NOTIFY
Packit aea12f
Close notify.
Packit aea12f
@item GNUTLS_@-A_@-UNEXPECTED_@-MESSAGE
Packit aea12f
Unexpected message.
Packit aea12f
@item GNUTLS_@-A_@-BAD_@-RECORD_@-MAC
Packit aea12f
Bad record MAC.
Packit aea12f
@item GNUTLS_@-A_@-DECRYPTION_@-FAILED
Packit aea12f
Decryption failed.
Packit aea12f
@item GNUTLS_@-A_@-RECORD_@-OVERFLOW
Packit aea12f
Record overflow.
Packit aea12f
@item GNUTLS_@-A_@-DECOMPRESSION_@-FAILURE
Packit aea12f
Decompression failed.
Packit aea12f
@item GNUTLS_@-A_@-HANDSHAKE_@-FAILURE
Packit aea12f
Handshake failed.
Packit aea12f
@item GNUTLS_@-A_@-SSL3_@-NO_@-CERTIFICATE
Packit aea12f
No certificate.
Packit aea12f
@item GNUTLS_@-A_@-BAD_@-CERTIFICATE
Packit aea12f
Certificate is bad.
Packit aea12f
@item GNUTLS_@-A_@-UNSUPPORTED_@-CERTIFICATE
Packit aea12f
Certificate is not supported.
Packit aea12f
@item GNUTLS_@-A_@-CERTIFICATE_@-REVOKED
Packit aea12f
Certificate was revoked.
Packit aea12f
@item GNUTLS_@-A_@-CERTIFICATE_@-EXPIRED
Packit aea12f
Certificate is expired.
Packit aea12f
@item GNUTLS_@-A_@-CERTIFICATE_@-UNKNOWN
Packit aea12f
Unknown certificate.
Packit aea12f
@item GNUTLS_@-A_@-ILLEGAL_@-PARAMETER
Packit aea12f
Illegal parameter.
Packit aea12f
@item GNUTLS_@-A_@-UNKNOWN_@-CA
Packit aea12f
CA is unknown.
Packit aea12f
@item GNUTLS_@-A_@-ACCESS_@-DENIED
Packit aea12f
Access was denied.
Packit aea12f
@item GNUTLS_@-A_@-DECODE_@-ERROR
Packit aea12f
Decode error.
Packit aea12f
@item GNUTLS_@-A_@-DECRYPT_@-ERROR
Packit aea12f
Decrypt error.
Packit aea12f
@item GNUTLS_@-A_@-EXPORT_@-RESTRICTION
Packit aea12f
Export restriction.
Packit aea12f
@item GNUTLS_@-A_@-PROTOCOL_@-VERSION
Packit aea12f
Error in protocol version.
Packit aea12f
@item GNUTLS_@-A_@-INSUFFICIENT_@-SECURITY
Packit aea12f
Insufficient security.
Packit aea12f
@item GNUTLS_@-A_@-INTERNAL_@-ERROR
Packit aea12f
Internal error.
Packit aea12f
@item GNUTLS_@-A_@-INAPPROPRIATE_@-FALLBACK
Packit aea12f
Inappropriate fallback,
Packit aea12f
@item GNUTLS_@-A_@-USER_@-CANCELED
Packit aea12f
User canceled.
Packit aea12f
@item GNUTLS_@-A_@-NO_@-RENEGOTIATION
Packit aea12f
No renegotiation is allowed.
Packit aea12f
@item GNUTLS_@-A_@-MISSING_@-EXTENSION
Packit aea12f
An extension was expected but was not seen
Packit aea12f
@item GNUTLS_@-A_@-UNSUPPORTED_@-EXTENSION
Packit aea12f
An unsupported extension was
Packit aea12f
sent.
Packit aea12f
@item GNUTLS_@-A_@-CERTIFICATE_@-UNOBTAINABLE
Packit aea12f
Could not retrieve the
Packit aea12f
specified certificate.
Packit aea12f
@item GNUTLS_@-A_@-UNRECOGNIZED_@-NAME
Packit aea12f
The server name sent was not
Packit aea12f
recognized.
Packit aea12f
@item GNUTLS_@-A_@-UNKNOWN_@-PSK_@-IDENTITY
Packit aea12f
The SRP/PSK username is missing
Packit aea12f
or not known.
Packit aea12f
@item GNUTLS_@-A_@-CERTIFICATE_@-REQUIRED
Packit aea12f
Certificate is required.
Packit aea12f
@item GNUTLS_@-A_@-NO_@-APPLICATION_@-PROTOCOL
Packit aea12f
The ALPN protocol requested is
Packit aea12f
not supported by the peer.
Packit aea12f
@item GNUTLS_@-A_@-MAX
Packit aea12f
-- undescribed --
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_handshake_description_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-HELLO_@-REQUEST
Packit aea12f
Hello request.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-CLIENT_@-HELLO
Packit aea12f
Client hello.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-SERVER_@-HELLO
Packit aea12f
Server hello.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-HELLO_@-VERIFY_@-REQUEST
Packit aea12f
DTLS Hello verify request.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-NEW_@-SESSION_@-TICKET
Packit aea12f
New session ticket.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-END_@-OF_@-EARLY_@-DATA
Packit aea12f
End of early data.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-ENCRYPTED_@-EXTENSIONS
Packit aea12f
Encrypted extensions message.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-CERTIFICATE_@-PKT
Packit aea12f
Certificate packet.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-SERVER_@-KEY_@-EXCHANGE
Packit aea12f
Server key exchange.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-CERTIFICATE_@-REQUEST
Packit aea12f
Certificate request.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-SERVER_@-HELLO_@-DONE
Packit aea12f
Server hello done.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-CERTIFICATE_@-VERIFY
Packit aea12f
Certificate verify.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-CLIENT_@-KEY_@-EXCHANGE
Packit aea12f
Client key exchange.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-FINISHED
Packit aea12f
Finished.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-CERTIFICATE_@-STATUS
Packit aea12f
Certificate status (OCSP).
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-SUPPLEMENTAL
Packit aea12f
Supplemental.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-KEY_@-UPDATE
Packit aea12f
TLS1.3 key update message.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-CHANGE_@-CIPHER_@-SPEC
Packit aea12f
Change Cipher Spec.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-CLIENT_@-HELLO_@-V2
Packit aea12f
SSLv2 Client Hello.
Packit aea12f
@item GNUTLS_@-HANDSHAKE_@-HELLO_@-RETRY_@-REQUEST
Packit aea12f
Hello retry request.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_certificate_status_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-CERT_@-INVALID
Packit aea12f
The certificate is not signed by one of the
Packit aea12f
known authorities or the signature is invalid (deprecated by the flags 
Packit aea12f
@code{GNUTLS_CERT_SIGNATURE_FAILURE}  and @code{GNUTLS_CERT_SIGNER_NOT_FOUND} ).
Packit aea12f
@item GNUTLS_@-CERT_@-REVOKED
Packit aea12f
Certificate is revoked by its authority.  In X.509 this will be
Packit aea12f
set only if CRLs are checked.
Packit aea12f
@item GNUTLS_@-CERT_@-SIGNER_@-NOT_@-FOUND
Packit aea12f
The certificate's issuer is not known. 
Packit aea12f
This is the case if the issuer is not included in the trusted certificate list.
Packit aea12f
@item GNUTLS_@-CERT_@-SIGNER_@-NOT_@-CA
Packit aea12f
The certificate's signer was not a CA. This
Packit aea12f
may happen if this was a version 1 certificate, which is common with
Packit aea12f
some CAs, or a version 3 certificate without the basic constrains extension.
Packit aea12f
@item GNUTLS_@-CERT_@-INSECURE_@-ALGORITHM
Packit aea12f
The certificate was signed using an insecure
Packit aea12f
algorithm such as MD2 or MD5. These algorithms have been broken and
Packit aea12f
should not be trusted.
Packit aea12f
@item GNUTLS_@-CERT_@-NOT_@-ACTIVATED
Packit aea12f
The certificate is not yet activated.
Packit aea12f
@item GNUTLS_@-CERT_@-EXPIRED
Packit aea12f
The certificate has expired.
Packit aea12f
@item GNUTLS_@-CERT_@-SIGNATURE_@-FAILURE
Packit aea12f
The signature verification failed.
Packit aea12f
@item GNUTLS_@-CERT_@-REVOCATION_@-DATA_@-SUPERSEDED
Packit aea12f
The revocation data are old and have been superseded.
Packit aea12f
@item GNUTLS_@-CERT_@-UNEXPECTED_@-OWNER
Packit aea12f
The owner is not the expected one.
Packit aea12f
@item GNUTLS_@-CERT_@-REVOCATION_@-DATA_@-ISSUED_@-IN_@-FUTURE
Packit aea12f
The revocation data have a future issue date.
Packit aea12f
@item GNUTLS_@-CERT_@-SIGNER_@-CONSTRAINTS_@-FAILURE
Packit aea12f
The certificate's signer constraints were
Packit aea12f
violated.
Packit aea12f
@item GNUTLS_@-CERT_@-MISMATCH
Packit aea12f
The certificate presented isn't the expected one (TOFU)
Packit aea12f
@item GNUTLS_@-CERT_@-PURPOSE_@-MISMATCH
Packit aea12f
The certificate or an intermediate does not match the intended purpose (extended key usage).
Packit aea12f
@item GNUTLS_@-CERT_@-MISSING_@-OCSP_@-STATUS
Packit aea12f
The certificate requires the server to send the certifiate status, but no status was received.
Packit aea12f
@item GNUTLS_@-CERT_@-INVALID_@-OCSP_@-STATUS
Packit aea12f
The received OCSP status response is invalid.
Packit aea12f
@item GNUTLS_@-CERT_@-UNKNOWN_@-CRIT_@-EXTENSIONS
Packit aea12f
The certificate has extensions marked as critical which are not supported.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_certificate_request_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-CERT_@-IGNORE
Packit aea12f
Ignore certificate.
Packit aea12f
@item GNUTLS_@-CERT_@-REQUEST
Packit aea12f
Request certificate.
Packit aea12f
@item GNUTLS_@-CERT_@-REQUIRE
Packit aea12f
Require certificate.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_openpgp_crt_status_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-OPENPGP_@-CERT
Packit aea12f
Send entire certificate.
Packit aea12f
@item GNUTLS_@-OPENPGP_@-CERT_@-FINGERPRINT
Packit aea12f
Send only certificate fingerprint.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_close_request_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-SHUT_@-RDWR
Packit aea12f
Disallow further receives/sends.
Packit aea12f
@item GNUTLS_@-SHUT_@-WR
Packit aea12f
Disallow further sends.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_protocol_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-SSL3
Packit aea12f
SSL version 3.0.
Packit aea12f
@item GNUTLS_@-TLS1_@-0
Packit aea12f
TLS version 1.0.
Packit aea12f
@item GNUTLS_@-TLS1
Packit aea12f
Same as @code{GNUTLS_TLS1_0} .
Packit aea12f
@item GNUTLS_@-TLS1_@-1
Packit aea12f
TLS version 1.1.
Packit aea12f
@item GNUTLS_@-TLS1_@-2
Packit aea12f
TLS version 1.2.
Packit aea12f
@item GNUTLS_@-TLS1_@-3
Packit aea12f
TLS version 1.3.
Packit aea12f
@item GNUTLS_@-DTLS0_@-9
Packit aea12f
DTLS version 0.9 (Cisco AnyConnect / OpenSSL 0.9.8e).
Packit aea12f
@item GNUTLS_@-DTLS1_@-0
Packit aea12f
DTLS version 1.0.
Packit aea12f
@item GNUTLS_@-DTLS1_@-2
Packit aea12f
DTLS version 1.2.
Packit aea12f
@item GNUTLS_@-DTLS_@-VERSION_@-MIN
Packit aea12f
-- undescribed --
Packit aea12f
@item GNUTLS_@-DTLS_@-VERSION_@-MAX
Packit aea12f
Maps to the highest supported DTLS version.
Packit aea12f
@item GNUTLS_@-TLS_@-VERSION_@-MAX
Packit aea12f
Maps to the highest supported TLS version.
Packit aea12f
@item GNUTLS_@-VERSION_@-UNKNOWN
Packit aea12f
Unknown SSL/TLS version.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_certificate_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-CRT_@-UNKNOWN
Packit aea12f
Unknown certificate type.
Packit aea12f
@item GNUTLS_@-CRT_@-X509
Packit aea12f
X.509 Certificate.
Packit aea12f
@item GNUTLS_@-CRT_@-OPENPGP
Packit aea12f
OpenPGP certificate.
Packit aea12f
@item GNUTLS_@-CRT_@-RAWPK
Packit aea12f
Raw public-key (SubjectPublicKeyInfo)
Packit aea12f
@item GNUTLS_@-CRT_@-MAX
Packit aea12f
-- undescribed --
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_x509_crt_fmt_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-X509_@-FMT_@-DER
Packit aea12f
X.509 certificate in DER format (binary).
Packit aea12f
@item GNUTLS_@-X509_@-FMT_@-PEM
Packit aea12f
X.509 certificate in PEM format (text).
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_certificate_print_formats_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-CRT_@-PRINT_@-FULL
Packit aea12f
Full information about certificate.
Packit aea12f
@item GNUTLS_@-CRT_@-PRINT_@-ONELINE
Packit aea12f
Information about certificate in one line.
Packit aea12f
@item GNUTLS_@-CRT_@-PRINT_@-UNSIGNED_@-FULL
Packit aea12f
All info for an unsigned certificate.
Packit aea12f
@item GNUTLS_@-CRT_@-PRINT_@-COMPACT
Packit aea12f
Information about certificate name in one line, plus identification of the public key.
Packit aea12f
@item GNUTLS_@-CRT_@-PRINT_@-FULL_@-NUMBERS
Packit aea12f
Full information about certificate and include easy to parse public key parameters.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pk_algorithm_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PK_@-UNKNOWN
Packit aea12f
Unknown public-key algorithm.
Packit aea12f
@item GNUTLS_@-PK_@-RSA
Packit aea12f
RSA public-key algorithm.
Packit aea12f
@item GNUTLS_@-PK_@-DSA
Packit aea12f
DSA public-key algorithm.
Packit aea12f
@item GNUTLS_@-PK_@-DH
Packit aea12f
Diffie-Hellman algorithm. Used to generate parameters.
Packit aea12f
@item GNUTLS_@-PK_@-ECDSA
Packit aea12f
Elliptic curve algorithm. These parameters are compatible with the ECDSA and ECDH algorithm.
Packit aea12f
@item GNUTLS_@-PK_@-ECDH_@-X25519
Packit aea12f
Elliptic curve algorithm, restricted to ECDH as per rfc7748.
Packit aea12f
@item GNUTLS_@-PK_@-RSA_@-PSS
Packit aea12f
RSA public-key algorithm, with PSS padding.
Packit aea12f
@item GNUTLS_@-PK_@-EDDSA_@-ED25519
Packit aea12f
Edwards curve Digital signature algorithm. Used with SHA512 on signatures.
Packit aea12f
@item GNUTLS_@-PK_@-GOST_@-01
Packit aea12f
GOST R 34.10-2001 algorithm per rfc5832.
Packit aea12f
@item GNUTLS_@-PK_@-GOST_@-12_@-256
Packit aea12f
GOST R 34.10-2012 algorithm, 256-bit key per rfc7091.
Packit aea12f
@item GNUTLS_@-PK_@-GOST_@-12_@-512
Packit aea12f
GOST R 34.10-2012 algorithm, 512-bit key per rfc7091.
Packit Service 991b93
@item GNUTLS_@-PK_@-ECDH_@-X448
Packit Service 991b93
Elliptic curve algorithm, restricted to ECDH as per rfc7748.
Packit Service 991b93
@item GNUTLS_@-PK_@-EDDSA_@-ED448
Packit Service 991b93
Edwards curve Digital signature algorithm. Used with SHAKE256 on signatures.
Packit aea12f
@item GNUTLS_@-PK_@-MAX
Packit aea12f
-- undescribed --
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_sign_algorithm_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-SIGN_@-UNKNOWN
Packit aea12f
Unknown signature algorithm.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA1
Packit aea12f
Digital signature algorithm RSA with SHA-1
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA
Packit aea12f
Same as @code{GNUTLS_SIGN_RSA_SHA1} .
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA1
Packit aea12f
Digital signature algorithm DSA with SHA-1
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA
Packit aea12f
Same as @code{GNUTLS_SIGN_DSA_SHA1} .
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-MD5
Packit aea12f
Digital signature algorithm RSA with MD5.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-MD2
Packit aea12f
Digital signature algorithm RSA with MD2.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-RMD160
Packit aea12f
Digital signature algorithm RSA with RMD-160.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA256
Packit aea12f
Digital signature algorithm RSA with SHA-256.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA384
Packit aea12f
Digital signature algorithm RSA with SHA-384.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA512
Packit aea12f
Digital signature algorithm RSA with SHA-512.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA224
Packit aea12f
Digital signature algorithm RSA with SHA-224.
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA224
Packit aea12f
Digital signature algorithm DSA with SHA-224
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA256
Packit aea12f
Digital signature algorithm DSA with SHA-256
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SHA1
Packit aea12f
ECDSA with SHA1.
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SHA224
Packit aea12f
Digital signature algorithm ECDSA with SHA-224.
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SHA256
Packit aea12f
Digital signature algorithm ECDSA with SHA-256.
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SHA384
Packit aea12f
Digital signature algorithm ECDSA with SHA-384.
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SHA512
Packit aea12f
Digital signature algorithm ECDSA with SHA-512.
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA384
Packit aea12f
Digital signature algorithm DSA with SHA-384
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA512
Packit aea12f
Digital signature algorithm DSA with SHA-512
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SHA3_@-224
Packit aea12f
Digital signature algorithm ECDSA with SHA3-224.
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SHA3_@-256
Packit aea12f
Digital signature algorithm ECDSA with SHA3-256.
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SHA3_@-384
Packit aea12f
Digital signature algorithm ECDSA with SHA3-384.
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SHA3_@-512
Packit aea12f
Digital signature algorithm ECDSA with SHA3-512.
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA3_@-224
Packit aea12f
Digital signature algorithm DSA with SHA3-224.
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA3_@-256
Packit aea12f
Digital signature algorithm DSA with SHA3-256.
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA3_@-384
Packit aea12f
Digital signature algorithm DSA with SHA3-384.
Packit aea12f
@item GNUTLS_@-SIGN_@-DSA_@-SHA3_@-512
Packit aea12f
Digital signature algorithm DSA with SHA3-512.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA3_@-224
Packit aea12f
Digital signature algorithm RSA with SHA3-224.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA3_@-256
Packit aea12f
Digital signature algorithm RSA with SHA3-256.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA3_@-384
Packit aea12f
Digital signature algorithm RSA with SHA3-384.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-SHA3_@-512
Packit aea12f
Digital signature algorithm RSA with SHA3-512.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-PSS_@-SHA256
Packit aea12f
Digital signature algorithm RSA with SHA-256, with PSS padding (RSA-PSS certificate).
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-PSS_@-SHA384
Packit aea12f
Digital signature algorithm RSA with SHA-384, with PSS padding (RSA-PSS certificate).
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-PSS_@-SHA512
Packit aea12f
Digital signature algorithm RSA with SHA-512, with PSS padding (RSA-PSS certificate).
Packit aea12f
@item GNUTLS_@-SIGN_@-EDDSA_@-ED25519
Packit aea12f
Digital signature algorithm EdDSA with Ed25519 curve.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-RAW
Packit aea12f
Digital signature algorithm RSA with DigestInfo formatted data
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SECP256R1_@-SHA256
Packit aea12f
Digital signature algorithm ECDSA-SECP256R1 with SHA-256 (used in TLS 1.3 but not PKIX).
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SECP384R1_@-SHA384
Packit aea12f
Digital signature algorithm ECDSA-SECP384R1 with SHA-384 (used in TLS 1.3 but not PKIX).
Packit aea12f
@item GNUTLS_@-SIGN_@-ECDSA_@-SECP521R1_@-SHA512
Packit aea12f
Digital signature algorithm ECDSA-SECP521R1 with SHA-512 (used in TLS 1.3 but not PKIX).
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-PSS_@-RSAE_@-SHA256
Packit aea12f
Digital signature algorithm RSA with SHA-256,
Packit aea12f
with PSS padding (RSA PKCS@code{1}  1.5 certificate). This signature is identical
Packit aea12f
to @code{GNUTLS_SIGN_RSA_PSS_SHA256} , but they are distinct as the TLS1.3 protocol
Packit aea12f
treats them differently.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-PSS_@-RSAE_@-SHA384
Packit aea12f
Digital signature algorithm RSA with SHA-384,
Packit aea12f
with PSS padding (RSA PKCS@code{1}  1.5 certificate). This signature is identical
Packit aea12f
to @code{GNUTLS_SIGN_RSA_PSS_SHA384} , but they are distinct as the TLS1.3 protocol
Packit aea12f
treats them differently.
Packit aea12f
@item GNUTLS_@-SIGN_@-RSA_@-PSS_@-RSAE_@-SHA512
Packit aea12f
Digital signature algorithm RSA with SHA-512,
Packit aea12f
with PSS padding (RSA PKCS@code{1}  1.5 certificate). This signature is identical
Packit aea12f
to @code{GNUTLS_SIGN_RSA_PSS_SHA512} , but they are distinct as the TLS1.3 protocol
Packit aea12f
treats them differently.
Packit aea12f
@item GNUTLS_@-SIGN_@-GOST_@-94
Packit aea12f
Digital signature algorithm GOST R 34.10-2001 with GOST R 34.11-94
Packit aea12f
@item GNUTLS_@-SIGN_@-GOST_@-256
Packit aea12f
Digital signature algorithm GOST R 34.10-2012 with GOST R 34.11-2012 256 bit
Packit aea12f
@item GNUTLS_@-SIGN_@-GOST_@-512
Packit aea12f
Digital signature algorithm GOST R 34.10-2012 with GOST R 34.11-2012 512 bit
Packit Service 991b93
@item GNUTLS_@-SIGN_@-EDDSA_@-ED448
Packit Service 991b93
Digital signature algorithm EdDSA with Ed448 curve.
Packit aea12f
@item GNUTLS_@-SIGN_@-MAX
Packit aea12f
-- undescribed --
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_ecc_curve_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-INVALID
Packit aea12f
Cannot be known
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-SECP224R1
Packit aea12f
the SECP224R1 curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-SECP256R1
Packit aea12f
the SECP256R1 curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-SECP384R1
Packit aea12f
the SECP384R1 curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-SECP521R1
Packit aea12f
the SECP521R1 curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-SECP192R1
Packit aea12f
the SECP192R1 curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-X25519
Packit aea12f
the X25519 curve (ECDH only)
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-ED25519
Packit aea12f
the Ed25519 curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-GOST256CPA
Packit aea12f
GOST R 34.10 CryptoPro 256 A curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-GOST256CPB
Packit aea12f
GOST R 34.10 CryptoPro 256 B curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-GOST256CPC
Packit aea12f
GOST R 34.10 CryptoPro 256 C curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-GOST256CPXA
Packit aea12f
GOST R 34.10 CryptoPro 256 XchA curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-GOST256CPXB
Packit aea12f
GOST R 34.10 CryptoPro 256 XchB curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-GOST512A
Packit aea12f
GOST R 34.10 TC26 512 A curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-GOST512B
Packit aea12f
GOST R 34.10 TC26 512 B curve
Packit Service 991b93
@item GNUTLS_@-ECC_@-CURVE_@-GOST512C
Packit Service 991b93
GOST R 34.10 TC26 512 C curve
Packit Service 991b93
@item GNUTLS_@-ECC_@-CURVE_@-GOST256A
Packit Service 991b93
GOST R 34.10 TC26 256 A curve
Packit Service 991b93
@item GNUTLS_@-ECC_@-CURVE_@-GOST256B
Packit Service 991b93
GOST R 34.10 TC26 256 B curve
Packit Service 991b93
@item GNUTLS_@-ECC_@-CURVE_@-GOST256C
Packit Service 991b93
GOST R 34.10 TC26 256 C curve
Packit Service 991b93
@item GNUTLS_@-ECC_@-CURVE_@-GOST256D
Packit Service 991b93
GOST R 34.10 TC26 256 D curve
Packit Service 991b93
@item GNUTLS_@-ECC_@-CURVE_@-X448
Packit Service 991b93
the X448 curve (ECDH only)
Packit Service 991b93
@item GNUTLS_@-ECC_@-CURVE_@-ED448
Packit Service 991b93
the Ed448 curve
Packit aea12f
@item GNUTLS_@-ECC_@-CURVE_@-MAX
Packit aea12f
-- undescribed --
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_group_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-GROUP_@-INVALID
Packit aea12f
Indicates unknown/invalid group
Packit aea12f
@item GNUTLS_@-GROUP_@-SECP192R1
Packit aea12f
the SECP192R1 curve group (legacy, only for TLS 1.2 compatibility)
Packit aea12f
@item GNUTLS_@-GROUP_@-SECP224R1
Packit aea12f
the SECP224R1 curve group (legacy, only for TLS 1.2 compatibility)
Packit aea12f
@item GNUTLS_@-GROUP_@-SECP256R1
Packit aea12f
the SECP256R1 curve group
Packit aea12f
@item GNUTLS_@-GROUP_@-SECP384R1
Packit aea12f
the SECP384R1 curve group
Packit aea12f
@item GNUTLS_@-GROUP_@-SECP521R1
Packit aea12f
the SECP521R1 curve group
Packit aea12f
@item GNUTLS_@-GROUP_@-X25519
Packit aea12f
the X25519 curve group
Packit Service 991b93
@item GNUTLS_@-GROUP_@-X448
Packit Service 991b93
the X448 curve group
Packit Service 991b93
@item GNUTLS_@-GROUP_@-GC256A
Packit Service 991b93
the GOST R 34.10 TC26 256 A curve group
Packit Service 991b93
@item GNUTLS_@-GROUP_@-GC256B
Packit Service 991b93
the GOST R 34.10 TC26 256 B curve group
Packit Service 991b93
@item GNUTLS_@-GROUP_@-GC256C
Packit Service 991b93
the GOST R 34.10 TC26 256 C curve group
Packit Service 991b93
@item GNUTLS_@-GROUP_@-GC256D
Packit Service 991b93
the GOST R 34.10 TC26 256 D curve group
Packit Service 991b93
@item GNUTLS_@-GROUP_@-GC512A
Packit Service 991b93
the GOST R 34.10 TC26 512 A curve group
Packit Service 991b93
@item GNUTLS_@-GROUP_@-GC512B
Packit Service 991b93
the GOST R 34.10 TC26 512 B curve group
Packit Service 991b93
@item GNUTLS_@-GROUP_@-GC512C
Packit Service 991b93
the GOST R 34.10 TC26 512 C curve group
Packit aea12f
@item GNUTLS_@-GROUP_@-FFDHE2048
Packit aea12f
the FFDHE2048 group
Packit aea12f
@item GNUTLS_@-GROUP_@-FFDHE3072
Packit aea12f
the FFDHE3072 group
Packit aea12f
@item GNUTLS_@-GROUP_@-FFDHE4096
Packit aea12f
the FFDHE4096 group
Packit aea12f
@item GNUTLS_@-GROUP_@-FFDHE8192
Packit aea12f
the FFDHE8192 group
Packit aea12f
@item GNUTLS_@-GROUP_@-FFDHE6144
Packit aea12f
the FFDHE6144 group
Packit aea12f
@item GNUTLS_@-GROUP_@-MAX
Packit aea12f
-- undescribed --
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_sec_param_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-UNKNOWN
Packit aea12f
Cannot be known
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-INSECURE
Packit aea12f
Less than 42 bits of security
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-EXPORT
Packit aea12f
42 bits of security
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-VERY_@-WEAK
Packit aea12f
64 bits of security
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-WEAK
Packit aea12f
72 bits of security
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-LOW
Packit aea12f
80 bits of security
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-LEGACY
Packit aea12f
96 bits of security
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-MEDIUM
Packit aea12f
112 bits of security (used to be @code{GNUTLS_SEC_PARAM_NORMAL} )
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-HIGH
Packit aea12f
128 bits of security
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-ULTRA
Packit aea12f
192 bits of security
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-FUTURE
Packit aea12f
256 bits of security
Packit aea12f
@item GNUTLS_@-SEC_@-PARAM_@-MAX
Packit aea12f
-- undescribed --
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_channel_binding_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-CB_@-TLS_@-UNIQUE
Packit aea12f
"tls-unique" (RFC 5929) channel binding
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_gost_paramset_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-GOST_@-PARAMSET_@-UNKNOWN
Packit aea12f
Unknown/default parameter set
Packit aea12f
@item GNUTLS_@-GOST_@-PARAMSET_@-TC26_@-Z
Packit aea12f
Specified by TC26, see rfc7836
Packit aea12f
@item GNUTLS_@-GOST_@-PARAMSET_@-CP_@-A
Packit aea12f
CryptoPro-A, see rfc4357
Packit aea12f
@item GNUTLS_@-GOST_@-PARAMSET_@-CP_@-B
Packit aea12f
CryptoPro-B, see rfc4357
Packit aea12f
@item GNUTLS_@-GOST_@-PARAMSET_@-CP_@-C
Packit aea12f
CryptoPro-C, see rfc4357
Packit aea12f
@item GNUTLS_@-GOST_@-PARAMSET_@-CP_@-D
Packit aea12f
CryptoPro-D, see rfc4357
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_ctype_target_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-CTYPE_@-CLIENT
Packit aea12f
for requesting client certificate type values.
Packit aea12f
@item GNUTLS_@-CTYPE_@-SERVER
Packit aea12f
for requesting server certificate type values.
Packit aea12f
@item GNUTLS_@-CTYPE_@-OURS
Packit aea12f
for requesting our certificate type values.
Packit aea12f
@item GNUTLS_@-CTYPE_@-PEERS
Packit aea12f
for requesting the peers' certificate type values.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_server_name_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-NAME_@-DNS
Packit aea12f
Domain Name System name type.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_session_flags_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-SFLAGS_@-SAFE_@-RENEGOTIATION
Packit aea12f
Safe renegotiation (RFC5746) was used
Packit aea12f
@item GNUTLS_@-SFLAGS_@-EXT_@-MASTER_@-SECRET
Packit aea12f
The extended master secret (RFC7627) extension was used
Packit aea12f
@item GNUTLS_@-SFLAGS_@-ETM
Packit aea12f
The encrypt then MAC (RFC7366) extension was used
Packit aea12f
@item GNUTLS_@-SFLAGS_@-HB_@-LOCAL_@-SEND
Packit aea12f
The heartbeat negotiation allows the local side to send heartbeat messages
Packit aea12f
@item GNUTLS_@-SFLAGS_@-HB_@-PEER_@-SEND
Packit aea12f
The heartbeat negotiation allows the peer to send heartbeat messages
Packit aea12f
@item GNUTLS_@-SFLAGS_@-FALSE_@-START
Packit aea12f
False start was used in this client session.
Packit aea12f
@item GNUTLS_@-SFLAGS_@-RFC7919
Packit aea12f
The RFC7919 Diffie-Hellman parameters were negotiated
Packit aea12f
@item GNUTLS_@-SFLAGS_@-SESSION_@-TICKET
Packit aea12f
A session ticket has been received by the server.
Packit aea12f
@item GNUTLS_@-SFLAGS_@-POST_@-HANDSHAKE_@-AUTH
Packit aea12f
Indicates client capability for post-handshake auth; set only on server side.
Packit aea12f
@item GNUTLS_@-SFLAGS_@-EARLY_@-START
Packit aea12f
The TLS1.3 server session returned early.
Packit aea12f
@item GNUTLS_@-SFLAGS_@-EARLY_@-DATA
Packit aea12f
The TLS1.3 early data has been received by the server.
Packit Service 991b93
@item GNUTLS_@-SFLAGS_@-CLI_@-REQUESTED_@-OCSP
Packit Service 991b93
Set when the client has requested OCSP staple during handshake.
Packit Service 991b93
@item GNUTLS_@-SFLAGS_@-SERV_@-REQUESTED_@-OCSP
Packit Service 991b93
Set when the server has requested OCSP staple during handshake.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_supplemental_data_format_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-SUPPLEMENTAL_@-UNKNOWN
Packit aea12f
Unknown data format
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_srtp_profile_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-SRTP_@-AES128_@-CM_@-HMAC_@-SHA1_@-80
Packit aea12f
128 bit AES with a 80 bit HMAC-SHA1
Packit aea12f
@item GNUTLS_@-SRTP_@-AES128_@-CM_@-HMAC_@-SHA1_@-32
Packit aea12f
128 bit AES with a 32 bit HMAC-SHA1
Packit aea12f
@item GNUTLS_@-SRTP_@-NULL_@-HMAC_@-SHA1_@-80
Packit aea12f
NULL cipher with a 80 bit HMAC-SHA1
Packit aea12f
@item GNUTLS_@-SRTP_@-NULL_@-HMAC_@-SHA1_@-32
Packit aea12f
NULL cipher with a 32 bit HMAC-SHA1
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_alpn_flags_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-ALPN_@-MANDATORY
Packit aea12f
Require ALPN negotiation. The connection will be
Packit aea12f
aborted if no matching ALPN protocol is found.
Packit aea12f
@item GNUTLS_@-ALPN_@-SERVER_@-PRECEDENCE
Packit aea12f
The choices set by the server
Packit aea12f
will take precedence over the client's.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_vdata_types_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-DT_@-UNKNOWN
Packit aea12f
Unknown data type.
Packit aea12f
@item GNUTLS_@-DT_@-DNS_@-HOSTNAME
Packit aea12f
The data contain a null-terminated DNS hostname; the hostname will be 
Packit aea12f
matched using the RFC6125 rules. If the data contain a textual IP (v4 or v6) address it will
Packit aea12f
be marched against the IPAddress Alternative name, unless the verification flag @code{GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES} 
Packit aea12f
is specified.
Packit aea12f
@item GNUTLS_@-DT_@-KEY_@-PURPOSE_@-OID
Packit aea12f
The data contain a null-terminated key purpose OID. It will be matched
Packit aea12f
against the certificate's Extended Key Usage extension.
Packit aea12f
@item GNUTLS_@-DT_@-RFC822NAME
Packit aea12f
The data contain a null-terminated email address; the email will be
Packit aea12f
matched against the RFC822Name Alternative name of the certificate, or the EMAIL DN component if the
Packit aea12f
former isn't available. Prior to matching the email address will be converted to ACE
Packit aea12f
(ASCII-compatible-encoding).
Packit aea12f
@item GNUTLS_@-DT_@-IP_@-ADDRESS
Packit aea12f
The data contain a raw IP address (4 or 16 bytes). If will be matched
Packit aea12f
against the IPAddress Alternative name; option available since 3.6.0.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_certificate_flags
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-CERTIFICATE_@-SKIP_@-KEY_@-CERT_@-MATCH
Packit aea12f
Skip the key and certificate matching check.
Packit aea12f
@item GNUTLS_@-CERTIFICATE_@-API_@-V2
Packit aea12f
If set the gnutls_certificate_set_*key* functions will return an index of the added key pair instead of zero.
Packit aea12f
@item GNUTLS_@-CERTIFICATE_@-SKIP_@-OCSP_@-RESPONSE_@-CHECK
Packit aea12f
If set, the gnutls_certificate_set_ocsp_status_request_file
Packit aea12f
function, will not check whether the response set matches any of the certificates.
Packit aea12f
@item GNUTLS_@-CERTIFICATE_@-VERIFY_@-CRLS
Packit aea12f
This will enable CRL verification when added in the certificate structure.
Packit aea12f
When used, it requires CAs to be added before CRLs.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_psk_key_flags
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PSK_@-KEY_@-RAW
Packit aea12f
PSK-key in raw format.
Packit aea12f
@item GNUTLS_@-PSK_@-KEY_@-HEX
Packit aea12f
PSK-key in hex format.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_x509_subject_alt_name_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-SAN_@-DNSNAME
Packit aea12f
DNS-name SAN.
Packit aea12f
@item GNUTLS_@-SAN_@-RFC822NAME
Packit aea12f
E-mail address SAN.
Packit aea12f
@item GNUTLS_@-SAN_@-URI
Packit aea12f
URI SAN.
Packit aea12f
@item GNUTLS_@-SAN_@-IPADDRESS
Packit aea12f
IP address SAN.
Packit aea12f
@item GNUTLS_@-SAN_@-OTHERNAME
Packit aea12f
OtherName SAN.
Packit aea12f
@item GNUTLS_@-SAN_@-DN
Packit aea12f
DN SAN.
Packit Service 991b93
@item GNUTLS_@-SAN_@-REGISTERED_@-ID
Packit Service 991b93
RegisteredID.
Packit aea12f
@item GNUTLS_@-SAN_@-MAX
Packit aea12f
-- undescribed --
Packit aea12f
@item GNUTLS_@-SAN_@-OTHERNAME_@-XMPP
Packit aea12f
Virtual SAN, used by certain functions for convenience.
Packit aea12f
@item GNUTLS_@-SAN_@-OTHERNAME_@-KRB5PRINCIPAL
Packit aea12f
Virtual SAN, used by certain functions for convenience.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_privkey_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-X509
Packit aea12f
X.509 private key, @code{gnutls_x509_privkey_t} .
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-OPENPGP
Packit aea12f
OpenPGP private key, @code{gnutls_openpgp_privkey_t} .
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-PKCS11
Packit aea12f
PKCS11 private key, @code{gnutls_pkcs11_privkey_t} .
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-EXT
Packit aea12f
External private key, operating using callbacks.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pin_flag_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PIN_@-USER
Packit aea12f
The PIN for the user.
Packit aea12f
@item GNUTLS_@-PIN_@-SO
Packit aea12f
The PIN for the security officer (admin).
Packit aea12f
@item GNUTLS_@-PIN_@-FINAL_@-TRY
Packit aea12f
This is the final try before blocking.
Packit aea12f
@item GNUTLS_@-PIN_@-COUNT_@-LOW
Packit aea12f
Few tries remain before token blocks.
Packit aea12f
@item GNUTLS_@-PIN_@-CONTEXT_@-SPECIFIC
Packit aea12f
The PIN is for a specific action and key like signing.
Packit aea12f
@item GNUTLS_@-PIN_@-WRONG
Packit aea12f
Last given PIN was not correct.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_ext_parse_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-EXT_@-ANY
Packit aea12f
Any extension type (should not be used as it is used only internally).
Packit aea12f
@item GNUTLS_@-EXT_@-APPLICATION
Packit aea12f
Parsed after  @code{GNUTLS_EXT_MANDATORY} 
Packit aea12f
@item GNUTLS_@-EXT_@-TLS
Packit aea12f
TLS-internal extensions, parsed after  @code{GNUTLS_EXT_APPLICATION} .
Packit aea12f
@item GNUTLS_@-EXT_@-MANDATORY
Packit aea12f
Parsed after  @code{GNUTLS_EXT_VERSION_NEG} and even when resuming.
Packit aea12f
@item GNUTLS_@-EXT_@-NONE
Packit aea12f
Never to be parsed
Packit aea12f
@item GNUTLS_@-EXT_@-VERSION_@-NEG
Packit aea12f
Extensions to be parsed first for TLS version negotiation.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_ext_flags_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-EXT_@-FLAG_@-OVERRIDE_@-INTERNAL
Packit aea12f
If specified the extension registered will override the internal; this does not work with extensions existing prior to 3.6.0.
Packit aea12f
@item GNUTLS_@-EXT_@-FLAG_@-CLIENT_@-HELLO
Packit aea12f
This extension can be present in a client hello
Packit aea12f
@item GNUTLS_@-EXT_@-FLAG_@-TLS12_@-SERVER_@-HELLO
Packit aea12f
This extension can be present in a TLS1.2 or earlier server hello
Packit aea12f
@item GNUTLS_@-EXT_@-FLAG_@-TLS13_@-SERVER_@-HELLO
Packit aea12f
This extension can be present in a TLS1.3 server hello
Packit aea12f
@item GNUTLS_@-EXT_@-FLAG_@-EE
Packit aea12f
This extension can be present in encrypted extensions message
Packit aea12f
@item GNUTLS_@-EXT_@-FLAG_@-HRR
Packit aea12f
This extension can be present in hello retry request message
Packit aea12f
@item GNUTLS_@-EXT_@-FLAG_@-IGNORE_@-CLIENT_@-REQUEST
Packit aea12f
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.
Packit aea12f
@item GNUTLS_@-EXT_@-FLAG_@-TLS
Packit aea12f
This extension can be present under TLS; otherwise ignored.
Packit aea12f
@item GNUTLS_@-EXT_@-FLAG_@-DTLS
Packit aea12f
This extension can be present under DTLS; otherwise ignored.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_fips_mode_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-FIPS140_@-DISABLED
Packit aea12f
The FIPS140-2 mode is disabled.
Packit aea12f
@item GNUTLS_@-FIPS140_@-STRICT
Packit aea12f
The default mode; all forbidden operations will cause an
Packit aea12f
operation failure via error code.
Packit aea12f
@item GNUTLS_@-FIPS140_@-SELFTESTS
Packit aea12f
A transient state during library initialization. That state
Packit aea12f
cannot be set or seen by applications.
Packit aea12f
@item GNUTLS_@-FIPS140_@-LAX
Packit aea12f
The library still uses the FIPS140-2 relevant algorithms but all
Packit aea12f
forbidden by FIPS140-2 operations are allowed; this is useful when the
Packit aea12f
application is aware of the followed security policy, and needs
Packit aea12f
to utilize disallowed operations for other reasons (e.g., compatibility).
Packit aea12f
@item GNUTLS_@-FIPS140_@-LOG
Packit aea12f
Similarly to @code{GNUTLS_FIPS140_LAX} , it allows forbidden operations; any use of them results
Packit aea12f
to a message to the audit callback functions.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_certificate_import_flags
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-X509_@-CRT_@-LIST_@-IMPORT_@-FAIL_@-IF_@-EXCEED
Packit aea12f
Fail if the
Packit aea12f
certificates in the buffer are more than the space allocated for
Packit aea12f
certificates. The error code will be @code{GNUTLS_E_SHORT_MEMORY_BUFFER} .
Packit aea12f
@item GNUTLS_@-X509_@-CRT_@-LIST_@-FAIL_@-IF_@-UNSORTED
Packit aea12f
Fail if the certificates
Packit aea12f
in the buffer are not ordered starting from subject to issuer.
Packit aea12f
The error code will be @code{GNUTLS_E_CERTIFICATE_LIST_UNSORTED} .
Packit aea12f
@item GNUTLS_@-X509_@-CRT_@-LIST_@-SORT
Packit aea12f
Sort the certificate chain if unsorted.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_x509_crt_flags
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-X509_@-CRT_@-FLAG_@-IGNORE_@-SANITY
Packit aea12f
Ignore any sanity checks at the
Packit aea12f
import of the certificate; i.e., ignore checks such as version/field
Packit aea12f
matching and strict time field checks. Intended to be used for debugging.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_keyid_flags_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-KEYID_@-USE_@-SHA1
Packit aea12f
Use SHA1 as the key ID algorithm (default).
Packit aea12f
@item GNUTLS_@-KEYID_@-USE_@-SHA256
Packit aea12f
Use SHA256 as the key ID algorithm.
Packit aea12f
@item GNUTLS_@-KEYID_@-USE_@-SHA512
Packit aea12f
Use SHA512 as the key ID algorithm.
Packit aea12f
@item GNUTLS_@-KEYID_@-USE_@-BEST_@-KNOWN
Packit aea12f
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.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_certificate_verify_flags
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-VERIFY_@-DISABLE_@-CA_@-SIGN
Packit aea12f
If set a signer does not have to be
Packit aea12f
a certificate authority. This flag should normally be disabled,
Packit aea12f
unless you know what this means.
Packit aea12f
@item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-IP_@-MATCHES
Packit aea12f
When verifying a hostname
Packit aea12f
prevent textual IP addresses from matching IP addresses in the
Packit aea12f
certificate. Treat the input only as a DNS name.
Packit aea12f
@item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-SAME
Packit aea12f
If a certificate is not signed by
Packit aea12f
anyone trusted but exists in the trusted CA list do not treat it
Packit aea12f
as trusted.
Packit aea12f
@item GNUTLS_@-VERIFY_@-ALLOW_@-ANY_@-X509_@-V1_@-CA_@-CRT
Packit aea12f
Allow CA certificates that
Packit aea12f
have version 1 (both root and intermediate). This might be
Packit aea12f
dangerous since those haven't the basicConstraints
Packit aea12f
extension. 
Packit aea12f
@item GNUTLS_@-VERIFY_@-ALLOW_@-SIGN_@-RSA_@-MD2
Packit aea12f
Allow certificates to be signed
Packit aea12f
using the broken MD2 algorithm.
Packit aea12f
@item GNUTLS_@-VERIFY_@-ALLOW_@-SIGN_@-RSA_@-MD5
Packit aea12f
Allow certificates to be signed
Packit aea12f
using the broken MD5 algorithm.
Packit aea12f
@item GNUTLS_@-VERIFY_@-DISABLE_@-TIME_@-CHECKS
Packit aea12f
Disable checking of activation
Packit aea12f
and expiration validity periods of certificate chains. Don't set
Packit aea12f
this unless you understand the security implications.
Packit aea12f
@item GNUTLS_@-VERIFY_@-DISABLE_@-TRUSTED_@-TIME_@-CHECKS
Packit aea12f
If set a signer in the trusted
Packit aea12f
list is never checked for expiration or activation.
Packit aea12f
@item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-X509_@-V1_@-CA_@-CRT
Packit aea12f
Do not allow trusted CA
Packit aea12f
certificates that have version 1.  This option is to be used
Packit aea12f
to deprecate all certificates of version 1.
Packit aea12f
@item GNUTLS_@-VERIFY_@-DISABLE_@-CRL_@-CHECKS
Packit aea12f
Disable checking for validity
Packit aea12f
using certificate revocation lists or the available OCSP data.
Packit aea12f
@item GNUTLS_@-VERIFY_@-ALLOW_@-UNSORTED_@-CHAIN
Packit aea12f
A certificate chain is tolerated
Packit aea12f
if unsorted (the case with many TLS servers out there). This is the
Packit aea12f
default since GnuTLS 3.1.4.
Packit aea12f
@item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-UNSORTED_@-CHAIN
Packit aea12f
Do not tolerate an unsorted
Packit aea12f
certificate chain.
Packit aea12f
@item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-WILDCARDS
Packit aea12f
When including a hostname
Packit aea12f
check in the verification, do not consider any wildcards.
Packit aea12f
@item GNUTLS_@-VERIFY_@-USE_@-TLS1_@-RSA
Packit aea12f
This indicates that a (raw) RSA signature is provided
Packit aea12f
as in the TLS 1.0 protocol. Not all functions accept this flag.
Packit aea12f
@item GNUTLS_@-VERIFY_@-IGNORE_@-UNKNOWN_@-CRIT_@-EXTENSIONS
Packit aea12f
This signals the verification
Packit aea12f
process, not to fail on unknown critical extensions.
Packit aea12f
@item GNUTLS_@-VERIFY_@-ALLOW_@-SIGN_@-WITH_@-SHA1
Packit aea12f
Allow certificates to be signed
Packit aea12f
using the broken SHA1 hash algorithm.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_certificate_verification_profiles_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PROFILE_@-UNKNOWN
Packit aea12f
An invalid/unknown profile.
Packit aea12f
@item GNUTLS_@-PROFILE_@-VERY_@-WEAK
Packit aea12f
A verification profile that
Packit aea12f
corresponds to  @code{GNUTLS_SEC_PARAM_VERY_WEAK} (64 bits)
Packit aea12f
@item GNUTLS_@-PROFILE_@-LOW
Packit aea12f
A verification profile that
Packit aea12f
corresponds to  @code{GNUTLS_SEC_PARAM_LOW} (80 bits)
Packit aea12f
@item GNUTLS_@-PROFILE_@-LEGACY
Packit aea12f
A verification profile that
Packit aea12f
corresponds to  @code{GNUTLS_SEC_PARAM_LEGACY} (96 bits)
Packit aea12f
@item GNUTLS_@-PROFILE_@-MEDIUM
Packit aea12f
A verification profile that
Packit aea12f
corresponds to  @code{GNUTLS_SEC_PARAM_MEDIUM} (112 bits)
Packit aea12f
@item GNUTLS_@-PROFILE_@-HIGH
Packit aea12f
A verification profile that
Packit aea12f
corresponds to  @code{GNUTLS_SEC_PARAM_HIGH} (128 bits)
Packit aea12f
@item GNUTLS_@-PROFILE_@-ULTRA
Packit aea12f
A verification profile that
Packit aea12f
corresponds to  @code{GNUTLS_SEC_PARAM_ULTRA} (192 bits)
Packit aea12f
@item GNUTLS_@-PROFILE_@-FUTURE
Packit aea12f
A verification profile that
Packit aea12f
corresponds to  @code{GNUTLS_SEC_PARAM_FUTURE} (256 bits)
Packit aea12f
@item GNUTLS_@-PROFILE_@-SUITEB128
Packit aea12f
A verification profile that
Packit aea12f
applies the SUITEB128 rules
Packit aea12f
@item GNUTLS_@-PROFILE_@-SUITEB192
Packit aea12f
A verification profile that
Packit aea12f
applies the SUITEB192 rules
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pkcs_encrypt_flags_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PKCS_@-PLAIN
Packit aea12f
Unencrypted private key.
Packit aea12f
@item GNUTLS_@-PKCS_@-PKCS12_@-3DES
Packit aea12f
PKCS-12 3DES.
Packit aea12f
@item GNUTLS_@-PKCS_@-PKCS12_@-ARCFOUR
Packit aea12f
PKCS-12 ARCFOUR.
Packit aea12f
@item GNUTLS_@-PKCS_@-PKCS12_@-RC2_@-40
Packit aea12f
PKCS-12 RC2-40.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-3DES
Packit aea12f
PBES2 3DES.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-AES_@-128
Packit aea12f
PBES2 AES-128.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-AES_@-192
Packit aea12f
PBES2 AES-192.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-AES_@-256
Packit aea12f
PBES2 AES-256.
Packit aea12f
@item GNUTLS_@-PKCS_@-NULL_@-PASSWORD
Packit aea12f
Some schemas distinguish between an empty and a NULL password.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-DES
Packit aea12f
PBES2 single DES.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES1_@-DES_@-MD5
Packit aea12f
PBES1 with single DES; for compatibility with openssl only.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-GOST_@-TC26Z
Packit aea12f
PBES2 GOST 28147-89 CFB with TC26-Z S-box.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-GOST_@-CPA
Packit aea12f
PBES2 GOST 28147-89 CFB with CryptoPro-A S-box.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-GOST_@-CPB
Packit aea12f
PBES2 GOST 28147-89 CFB with CryptoPro-B S-box.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-GOST_@-CPC
Packit aea12f
PBES2 GOST 28147-89 CFB with CryptoPro-C S-box.
Packit aea12f
@item GNUTLS_@-PKCS_@-PBES2_@-GOST_@-CPD
Packit aea12f
PBES2 GOST 28147-89 CFB with CryptoPro-D S-box.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_keygen_types_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-KEYGEN_@-SEED
Packit aea12f
Specifies the seed to be used in key generation.
Packit aea12f
@item GNUTLS_@-KEYGEN_@-DIGEST
Packit aea12f
The size field specifies the hash algorithm to be used in key generation.
Packit aea12f
@item GNUTLS_@-KEYGEN_@-SPKI
Packit aea12f
data points to a @code{gnutls_x509_spki_t}  structure; it is not used after the key generation call.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pkcs12_bag_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-BAG_@-EMPTY
Packit aea12f
Empty PKCS-12 bag.
Packit aea12f
@item GNUTLS_@-BAG_@-PKCS8_@-ENCRYPTED_@-KEY
Packit aea12f
PKCS-12 bag with PKCS-8 encrypted key.
Packit aea12f
@item GNUTLS_@-BAG_@-PKCS8_@-KEY
Packit aea12f
PKCS-12 bag with PKCS-8 key.
Packit aea12f
@item GNUTLS_@-BAG_@-CERTIFICATE
Packit aea12f
PKCS-12 bag with certificate.
Packit aea12f
@item GNUTLS_@-BAG_@-CRL
Packit aea12f
PKCS-12 bag with CRL.
Packit aea12f
@item GNUTLS_@-BAG_@-SECRET
Packit aea12f
PKCS-12 bag with secret PKCS-9 keys.
Packit aea12f
@item GNUTLS_@-BAG_@-ENCRYPTED
Packit aea12f
Encrypted PKCS-12 bag.
Packit aea12f
@item GNUTLS_@-BAG_@-UNKNOWN
Packit aea12f
Unknown PKCS-12 bag.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pkcs11_obj_flags
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-LOGIN
Packit aea12f
Force login in the token for the operation (seek+store). 
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-TRUSTED
Packit aea12f
object marked as trusted (seek+store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-SENSITIVE
Packit aea12f
object is explicitly marked as sensitive -unexportable (store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-LOGIN_@-SO
Packit aea12f
force login as a security officer in the token for the operation (seek+store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-PRIVATE
Packit aea12f
marked as private -requires PIN to access (store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-NOT_@-PRIVATE
Packit aea12f
marked as not private (store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-RETRIEVE_@-ANY
Packit aea12f
When retrieving an object, do not set any requirements (store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-RETRIEVE_@-TRUSTED
Packit aea12f
When retrieving an object, only retrieve the marked as trusted (alias to @code{GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED} ).
Packit aea12f
In @code{gnutls_pkcs11_crt_is_known()}  it implies @code{GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_COMPARE}  if @code{GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY}  is not given.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-DISTRUSTED
Packit aea12f
When writing an object, mark it as distrusted (store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-RETRIEVE_@-DISTRUSTED
Packit aea12f
When retrieving an object, only retrieve the marked as distrusted (seek).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-COMPARE
Packit aea12f
When checking an object's presence, fully compare it before returning any result (seek).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-PRESENT_@-IN_@-TRUSTED_@-MODULE
Packit aea12f
The object must be present in a marked as trusted module (seek).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-CA
Packit aea12f
Mark the object as a CA (seek+store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-KEY_@-WRAP
Packit aea12f
Mark the generated key pair as wrapping and unwrapping keys (store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-COMPARE_@-KEY
Packit aea12f
When checking an object's presence, compare the key before returning any result (seek).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-OVERWRITE_@-TRUSTMOD_@-EXT
Packit aea12f
When an issuer is requested, override its extensions with the ones present in the trust module (seek).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-ALWAYS_@-AUTH
Packit aea12f
Mark the key pair as requiring authentication (pin entry) before every operation (seek+store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-EXTRACTABLE
Packit aea12f
Mark the key pair as being extractable (store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-NEVER_@-EXTRACTABLE
Packit aea12f
If set, the object was never marked as extractable (store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-CRT
Packit aea12f
When searching, restrict to certificates only (seek).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-WITH_@-PRIVKEY
Packit aea12f
-- undescribed --
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-PUBKEY
Packit aea12f
When searching, restrict to public key objects only (seek).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-NO_@-STORE_@-PUBKEY
Packit aea12f
When generating a keypair don't store the public key (store).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-PRIVKEY
Packit aea12f
When searching, restrict to private key objects only (seek).
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-FLAG_@-MARK_@-NOT_@-SENSITIVE
Packit aea12f
object marked as not sensitive -exportable (store).
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pkcs11_url_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PKCS11_@-URL_@-GENERIC
Packit aea12f
A generic-purpose URL.
Packit aea12f
@item GNUTLS_@-PKCS11_@-URL_@-LIB
Packit aea12f
A URL that specifies the library used as well.
Packit aea12f
@item GNUTLS_@-PKCS11_@-URL_@-LIB_@-VERSION
Packit aea12f
A URL that specifies the library and its version.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pkcs11_obj_info_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-ID_@-HEX
Packit aea12f
The object ID in hex. Null-terminated text.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-LABEL
Packit aea12f
The object label. Null-terminated text.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-TOKEN_@-LABEL
Packit aea12f
The token's label. Null-terminated text.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-TOKEN_@-SERIAL
Packit aea12f
The token's serial number. Null-terminated text.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-TOKEN_@-MANUFACTURER
Packit aea12f
The token's manufacturer. Null-terminated text.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-TOKEN_@-MODEL
Packit aea12f
The token's model. Null-terminated text.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-ID
Packit aea12f
The object ID. Raw bytes.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-LIBRARY_@-VERSION
Packit aea12f
The library's version. Null-terminated text.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-LIBRARY_@-DESCRIPTION
Packit aea12f
The library's description. Null-terminated text.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-LIBRARY_@-MANUFACTURER
Packit aea12f
The library's manufacturer name. Null-terminated text.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pkcs11_token_info_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PKCS11_@-TOKEN_@-LABEL
Packit aea12f
The token's label (string)
Packit aea12f
@item GNUTLS_@-PKCS11_@-TOKEN_@-SERIAL
Packit aea12f
The token's serial number (string)
Packit aea12f
@item GNUTLS_@-PKCS11_@-TOKEN_@-MANUFACTURER
Packit aea12f
The token's manufacturer (string)
Packit aea12f
@item GNUTLS_@-PKCS11_@-TOKEN_@-MODEL
Packit aea12f
The token's model (string)
Packit aea12f
@item GNUTLS_@-PKCS11_@-TOKEN_@-MODNAME
Packit aea12f
The token's module name (string - since 3.4.3). This value is
Packit aea12f
unavailable for providers which were manually loaded.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pkcs11_obj_type_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-UNKNOWN
Packit aea12f
Unknown PKCS11 object.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-X509_@-CRT
Packit aea12f
X.509 certificate.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-PUBKEY
Packit aea12f
Public key.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-PRIVKEY
Packit aea12f
Private key.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-SECRET_@-KEY
Packit aea12f
Secret key.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-DATA
Packit aea12f
Data object.
Packit aea12f
@item GNUTLS_@-PKCS11_@-OBJ_@-X509_@-CRT_@-EXTENSION
Packit aea12f
X.509 certificate extension (supported by p11-kit trust module only).
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pubkey_flags_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PUBKEY_@-DISABLE_@-CALLBACKS
Packit aea12f
The following flag disables call to PIN callbacks. Only
Packit aea12f
relevant to TPM keys.
Packit aea12f
@item GNUTLS_@-PUBKEY_@-GET_@-OPENPGP_@-FINGERPRINT
Packit aea12f
request an OPENPGP fingerprint instead of the default.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_abstract_export_flags_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-EXPORT_@-FLAG_@-NO_@-LZ
Packit aea12f
do not prepend a leading zero to exported values
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_privkey_flags_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-IMPORT_@-AUTO_@-RELEASE
Packit aea12f
When importing a private key, automatically
Packit aea12f
release it when the structure it was imported is released.
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-IMPORT_@-COPY
Packit aea12f
Copy required values during import.
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-DISABLE_@-CALLBACKS
Packit aea12f
The following flag disables call to PIN callbacks etc.
Packit aea12f
Only relevant to TPM keys.
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-SIGN_@-FLAG_@-TLS1_@-RSA
Packit aea12f
Make an RSA signature on the hashed data as in the TLS protocol.
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-FLAG_@-PROVABLE
Packit aea12f
When generating a key involving prime numbers, use provable primes; a seed may be required.
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-FLAG_@-EXPORT_@-COMPAT
Packit aea12f
Keys generated or imported as provable require an extended format which cannot be read by previous versions
Packit aea12f
of gnutls or other applications. By setting this flag the key will be exported in a backwards compatible way,
Packit aea12f
even if the information about the seed used will be lost.
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-SIGN_@-FLAG_@-RSA_@-PSS
Packit aea12f
Make an RSA signature on the hashed data with the PSS padding.
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-FLAG_@-REPRODUCIBLE
Packit Service 991b93
Make a signature on the hashed data with reproducible parameters.
Packit Service 991b93
For RSA-PSS, that means to use empty salt instead of random value. To
Packit Service 991b93
verify a signature created using this flag, the corresponding SPKI needs
Packit Service 991b93
to be set on the public key. Use @code{gnutls_pubkey_set_spki()}  for that.
Packit Service 991b93
For ECDSA/DSA, it uses the deterministic construction of random parameter
Packit Service 991b93
according to RFC 6979. Note that this only supports the NIST curves and DSA
Packit Service 991b93
subgroup bits up to 512.
Packit aea12f
@item GNUTLS_@-PRIVKEY_@-FLAG_@-CA
Packit aea12f
The generated private key is going to be used as a CA (relevant for RSA-PSS keys).
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_rnd_level_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-RND_@-NONCE
Packit aea12f
Non-predictable random number.  Fatal in parts
Packit aea12f
of session if broken, i.e., vulnerable to statistical analysis.
Packit aea12f
@item GNUTLS_@-RND_@-RANDOM
Packit aea12f
Pseudo-random cryptographic random number.
Packit aea12f
Fatal in session if broken. Example use: temporal keys.
Packit aea12f
@item GNUTLS_@-RND_@-KEY
Packit aea12f
Fatal in many sessions if broken. Example use:
Packit aea12f
Long-term keys.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_ocsp_print_formats_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-OCSP_@-PRINT_@-FULL
Packit aea12f
Full information about OCSP request/response.
Packit aea12f
@item GNUTLS_@-OCSP_@-PRINT_@-COMPACT
Packit aea12f
More compact information about OCSP request/response.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_ocsp_resp_status_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-OCSP_@-RESP_@-SUCCESSFUL
Packit aea12f
Response has valid confirmations.
Packit aea12f
@item GNUTLS_@-OCSP_@-RESP_@-MALFORMEDREQUEST
Packit aea12f
Illegal confirmation request
Packit aea12f
@item GNUTLS_@-OCSP_@-RESP_@-INTERNALERROR
Packit aea12f
Internal error in issuer
Packit aea12f
@item GNUTLS_@-OCSP_@-RESP_@-TRYLATER
Packit aea12f
Try again later
Packit aea12f
@item GNUTLS_@-OCSP_@-RESP_@-SIGREQUIRED
Packit aea12f
Must sign the request
Packit aea12f
@item GNUTLS_@-OCSP_@-RESP_@-UNAUTHORIZED
Packit aea12f
Request unauthorized
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_ocsp_cert_status_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-OCSP_@-CERT_@-GOOD
Packit aea12f
Positive response to status inquiry.
Packit aea12f
@item GNUTLS_@-OCSP_@-CERT_@-REVOKED
Packit aea12f
Certificate has been revoked.
Packit aea12f
@item GNUTLS_@-OCSP_@-CERT_@-UNKNOWN
Packit aea12f
The responder doesn't know about the
Packit aea12f
certificate.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_x509_crl_reason_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-UNSPECIFIED
Packit aea12f
Unspecified reason.
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-KEYCOMPROMISE
Packit aea12f
Private key compromised.
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-CACOMPROMISE
Packit aea12f
CA compromised.
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-AFFILIATIONCHANGED
Packit aea12f
Affiliation has changed.
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-SUPERSEDED
Packit aea12f
Certificate superseded.
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-CESSATIONOFOPERATION
Packit aea12f
Operation has ceased.
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-CERTIFICATEHOLD
Packit aea12f
Certificate is on hold.
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-REMOVEFROMCRL
Packit aea12f
Will be removed from delta CRL.
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-PRIVILEGEWITHDRAWN
Packit aea12f
Privilege withdrawn.
Packit aea12f
@item GNUTLS_@-X509_@-CRLREASON_@-AACOMPROMISE
Packit aea12f
AA compromised.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_ocsp_verify_reason_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-OCSP_@-VERIFY_@-SIGNER_@-NOT_@-FOUND
Packit aea12f
Signer cert not found.
Packit aea12f
@item GNUTLS_@-OCSP_@-VERIFY_@-SIGNER_@-KEYUSAGE_@-ERROR
Packit aea12f
Signer keyusage bits incorrect.
Packit aea12f
@item GNUTLS_@-OCSP_@-VERIFY_@-UNTRUSTED_@-SIGNER
Packit aea12f
Signer is not trusted.
Packit aea12f
@item GNUTLS_@-OCSP_@-VERIFY_@-INSECURE_@-ALGORITHM
Packit aea12f
Signature using insecure algorithm.
Packit aea12f
@item GNUTLS_@-OCSP_@-VERIFY_@-SIGNATURE_@-FAILURE
Packit aea12f
Signature mismatch.
Packit aea12f
@item GNUTLS_@-OCSP_@-VERIFY_@-CERT_@-NOT_@-ACTIVATED
Packit aea12f
Signer cert is not yet activated.
Packit aea12f
@item GNUTLS_@-OCSP_@-VERIFY_@-CERT_@-EXPIRED
Packit aea12f
Signer cert has expired.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_tpmkey_fmt_t
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-TPMKEY_@-FMT_@-RAW
Packit aea12f
The portable data format.
Packit aea12f
@item GNUTLS_@-TPMKEY_@-FMT_@-DER
Packit aea12f
An alias for the raw format.
Packit aea12f
@item GNUTLS_@-TPMKEY_@-FMT_@-CTK_@-PEM
Packit aea12f
A custom data format used by some TPM tools.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c dane_cert_usage_t
Packit aea12f
@table @code
Packit aea12f
@item DANE_@-CERT_@-USAGE_@-CA
Packit aea12f
CA constraint. The certificate/key
Packit aea12f
presented must have signed the verified key.
Packit aea12f
@item DANE_@-CERT_@-USAGE_@-EE
Packit aea12f
The key or the certificate of the end
Packit aea12f
entity.
Packit aea12f
@item DANE_@-CERT_@-USAGE_@-LOCAL_@-CA
Packit aea12f
The remote CA is local and possibly
Packit aea12f
untrusted by the verifier.
Packit aea12f
@item DANE_@-CERT_@-USAGE_@-LOCAL_@-EE
Packit aea12f
The remote end-entity key is local
Packit aea12f
and possibly untrusted by the verifier (not signed by a CA).
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c dane_cert_type_t
Packit aea12f
@table @code
Packit aea12f
@item DANE_@-CERT_@-X509
Packit aea12f
An X.509 certificate.
Packit aea12f
@item DANE_@-CERT_@-PK
Packit aea12f
A public key.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c dane_match_type_t
Packit aea12f
@table @code
Packit aea12f
@item DANE_@-MATCH_@-EXACT
Packit aea12f
The full content.
Packit aea12f
@item DANE_@-MATCH_@-SHA2_@-256
Packit aea12f
A SHA-256 hash of the content.
Packit aea12f
@item DANE_@-MATCH_@-SHA2_@-512
Packit aea12f
A SHA-512 hash of the content.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c dane_query_status_t
Packit aea12f
@table @code
Packit aea12f
@item DANE_@-QUERY_@-UNKNOWN
Packit aea12f
There was no query.
Packit aea12f
@item DANE_@-QUERY_@-DNSSEC_@-VERIFIED
Packit aea12f
The query was verified using DNSSEC.
Packit aea12f
@item DANE_@-QUERY_@-BOGUS
Packit aea12f
The query has wrong DNSSEC signature.
Packit aea12f
@item DANE_@-QUERY_@-NO_@-DNSSEC
Packit aea12f
The query has no DNSSEC data.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c dane_state_flags_t
Packit aea12f
@table @code
Packit aea12f
@item DANE_@-F_@-IGNORE_@-LOCAL_@-RESOLVER
Packit aea12f
Many systems are not DNSSEC-ready. In that case the local resolver is ignored, and a direct recursive resolve occurs.
Packit aea12f
@item DANE_@-F_@-INSECURE
Packit aea12f
Ignore any DNSSEC signature verification errors.
Packit aea12f
@item DANE_@-F_@-IGNORE_@-DNSSEC
Packit aea12f
Do not try to initialize DNSSEC as we will not use it (will then not try to load the DNSSEC root certificate).  Useful if the TLSA data does not come from DNS.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c dane_verify_flags_t
Packit aea12f
@table @code
Packit aea12f
@item DANE_@-VFLAG_@-FAIL_@-IF_@-NOT_@-CHECKED
Packit aea12f
If irrelevant to this certificate DANE entries are received fail instead of succeeding.
Packit aea12f
@item DANE_@-VFLAG_@-ONLY_@-CHECK_@-EE_@-USAGE
Packit aea12f
The provided certificates will be verified only against any EE field. Combine with @code{DANE_VFLAG_FAIL_IF_NOT_CHECKED}  to fail if EE entries are not present.
Packit aea12f
@item DANE_@-VFLAG_@-ONLY_@-CHECK_@-CA_@-USAGE
Packit aea12f
The provided certificates will be verified only against any CA field. Combine with @code{DANE_VFLAG_FAIL_IF_NOT_CHECKED}  to fail if CA entries are not present.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c dane_verify_status_t
Packit aea12f
@table @code
Packit aea12f
@item DANE_@-VERIFY_@-CA_@-CONSTRAINTS_@-VIOLATED
Packit aea12f
The CA constraints were violated.
Packit aea12f
@item DANE_@-VERIFY_@-CERT_@-DIFFERS
Packit aea12f
The certificate obtained via DNS differs.
Packit aea12f
@item DANE_@-VERIFY_@-UNKNOWN_@-DANE_@-INFO
Packit aea12f
No known DANE data was found in the DNS record.
Packit aea12f
@end table
Packit aea12f
Packit aea12f
@c gnutls_pkcs7_sign_flags
Packit aea12f
@table @code
Packit aea12f
@item GNUTLS_@-PKCS7_@-EMBED_@-DATA
Packit aea12f
The signed data will be embedded in the structure.
Packit aea12f
@item GNUTLS_@-PKCS7_@-INCLUDE_@-TIME
Packit aea12f
The signing time will be included in the structure.
Packit aea12f
@item GNUTLS_@-PKCS7_@-INCLUDE_@-CERT
Packit aea12f
The signer's certificate will be included in the cert list.
Packit aea12f
@item GNUTLS_@-PKCS7_@-WRITE_@-SPKI
Packit aea12f
Use the signer's key identifier instead of name.
Packit aea12f
@end table