Top | ![]() |
![]() |
![]() |
![]() |
gnutls_alert_description_t
gnutls_alert_get (gnutls_session_t session
);
This function will return the last alert number received. This
function should be called when GNUTLS_E_WARNING_ALERT_RECEIVED
or
GNUTLS_E_FATAL_ALERT_RECEIVED
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.
const char *
gnutls_alert_get_name (gnutls_alert_description_t alert
);
This function will return a string that describes the given alert
number, or NULL
. See gnutls_alert_get()
.
const char *
gnutls_alert_get_strname (gnutls_alert_description_t alert
);
This function will return a string of the name of the alert.
Since 3.0
int gnutls_alert_send (gnutls_session_t session
,gnutls_alert_level_t level
,gnutls_alert_description_t desc
);
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.
The error code of the underlying record send function will be
returned, so you may also receive GNUTLS_E_INTERRUPTED
or
GNUTLS_E_AGAIN
as well.
session |
is a gnutls_session_t structure. |
|
level |
is the level of the alert |
|
desc |
is the alert description |
int gnutls_alert_send_appropriate (gnutls_session_t session
,int err
);
Sends an alert to the peer depending on the error code returned by
a gnutls function. This function will call gnutls_error_to_alert()
to determine the appropriate alert to send.
This function may also return GNUTLS_E_AGAIN
, or
GNUTLS_E_INTERRUPTED
.
If the return value is GNUTLS_E_INVALID_REQUEST
, then no alert has
been sent to the peer.
int gnutls_bye (gnutls_session_t session
,gnutls_close_request_t how
);
Terminates the current TLS/SSL connection. The connection should
have been initiated using gnutls_handshake()
. how
should be one
of GNUTLS_SHUT_RDWR
, GNUTLS_SHUT_WR
.
In case of GNUTLS_SHUT_RDWR
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. GNUTLS_SHUT_RDWR
sends an alert containing a close
request and waits for the peer to reply with the same message.
In case of GNUTLS_SHUT_WR
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.
GNUTLS_SHUT_WR
sends an alert containing a close request.
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.
This function may also return GNUTLS_E_AGAIN
or
GNUTLS_E_INTERRUPTED
; cf. gnutls_record_get_direction()
.
gnutls_certificate_type_t
gnutls_certificate_type_get (gnutls_session_t session
);
The certificate type is by default X.509, unless it is negotiated as a TLS extension.
gnutls_certificate_type_t
gnutls_certificate_type_get_id (const char *name
);
The names are compared in a case insensitive way.
a gnutls_certificate_type_t for the specified in a
string certificate type, or GNUTLS_CRT_UNKNOWN
on error.
const char *
gnutls_certificate_type_get_name (gnutls_certificate_type_t type
);
Convert a gnutls_certificate_type_t type to a string.
const gnutls_certificate_type_t *
gnutls_certificate_type_list (void
);
Get a list of certificate types.
a (0)-terminated list of gnutls_certificate_type_t integers indicating the available certificate types.
gnutls_cipher_algorithm_t
gnutls_cipher_get (gnutls_session_t session
);
Get currently used cipher.
gnutls_cipher_algorithm_t
gnutls_cipher_get_id (const char *name
);
The names are compared in a case insensitive way.
return a gnutls_cipher_algorithm_t value corresponding to
the specified cipher, or GNUTLS_CIPHER_UNKNOWN
on error.
const char *
gnutls_cipher_get_name (gnutls_cipher_algorithm_t algorithm
);
Convert a gnutls_cipher_algorithm_t type to a string.
const gnutls_cipher_algorithm_t *
gnutls_cipher_list (void
);
Get a list of supported cipher algorithms. Note that not necessarily all ciphers are supported as TLS cipher suites. For example, DES is not supported as a cipher suite, but is supported for other purposes (e.g., PKCS#8 or similar).
This function is not thread safe.
a (0)-terminated list of gnutls_cipher_algorithm_t integers indicating the available ciphers.
const char * gnutls_cipher_suite_info (size_t idx
,unsigned char *cs_id
,gnutls_kx_algorithm_t *kx
,gnutls_cipher_algorithm_t *cipher
,gnutls_mac_algorithm_t *mac
,gnutls_protocol_t *min_version
);
Get information about supported cipher suites. Use the function iteratively to get information about all supported cipher suites. Call with idx=0 to get information about first cipher suite, then idx=1 and so on until the function returns NULL.
idx |
index of cipher suite to get information about, starts on 0. |
|
cs_id |
output buffer with room for 2 bytes, indicating cipher suite value |
|
kx |
output variable indicating key exchange algorithm, or |
|
cipher |
output variable indicating cipher, or |
|
mac |
output variable indicating MAC algorithm, or |
|
min_version |
output variable indicating TLS protocol version, or |
gnutls_compression_method_t
gnutls_compression_get (gnutls_session_t session
);
Get currently used compression algorithm.
gnutls_compression_method_t
gnutls_compression_get_id (const char *name
);
The names are compared in a case insensitive way.
const char *
gnutls_compression_get_name (gnutls_compression_method_t algorithm
);
Convert a gnutls_compression_method_t value to a string.
const gnutls_compression_method_t *
gnutls_compression_list (void
);
Get a list of compression methods.
a zero-terminated list of gnutls_compression_method_t integers indicating the available compression methods.
void
gnutls_deinit (gnutls_session_t session
);
This function clears all buffers associated with the session
.
This function will also remove session data from the session
database if the session was terminated abnormally.
gnutls_ecc_curve_t
gnutls_ecc_curve_get (gnutls_session_t session
);
Returns the currently used elliptic curve. Only valid when using an elliptic curve ciphersuite.
Since 3.0
const char *
gnutls_ecc_curve_get_name (gnutls_ecc_curve_t curve
);
Convert a gnutls_ecc_curve_t value to a string.
Since 3.0
int
gnutls_ecc_curve_get_size (gnutls_ecc_curve_t curve
);
Returns the size in bytes of the curve.
Since 3.0
const gnutls_ecc_curve_t *
gnutls_ecc_curve_list (void
);
Get the list of supported elliptic curves.
This function is not thread safe.
Return a (0)-terminated list of gnutls_ecc_curve_t integers indicating the available curves.
int
gnutls_error_is_fatal (int error
);
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).
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.
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).
int gnutls_error_to_alert (int err
,int *level
);
Get an alert depending on the error code returned by a gnutls
function. All alerts sent by this function should be considered
fatal. The only exception is when err
is GNUTLS_E_REHANDSHAKE
,
where a warning alert should be sent to the peer indicating that no
renegotiation will be performed.
If there is no mapping to a valid alert the alert to indicate internal error is returned.
int
gnutls_handshake (gnutls_session_t session
);
This function does the handshake of the TLS/SSL protocol, and initializes the TLS connection.
This function will fail if any problem is encountered, and will return a negative error code. In case of a client, if the client has asked to resume a session, but the server couldn't, then a full handshake will be performed.
The non-fatal errors such as GNUTLS_E_AGAIN
and
GNUTLS_E_INTERRUPTED
interrupt the handshake procedure, which
should be resumed later. Call this function again, until it
returns 0; cf. gnutls_record_get_direction()
and
gnutls_error_is_fatal()
.
If this function is called by a server after a rehandshake request
then GNUTLS_E_GOT_APPLICATION_DATA
or
GNUTLS_E_WARNING_ALERT_RECEIVED
may be returned. Note that these
are non fatal errors, only in the specific case of a rehandshake.
Their meaning is that the client rejected the rehandshake request or
in the case of GNUTLS_E_GOT_APPLICATION_DATA
it might also mean that
some data were pending.
gnutls_handshake_description_t
gnutls_handshake_get_last_in (gnutls_session_t session
);
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.
Check gnutls_handshake_description_t
in gnutls.h for the
available handshake descriptions.
gnutls_handshake_description_t
gnutls_handshake_get_last_out (gnutls_session_t session
);
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.
Check gnutls_handshake_description_t
in gnutls.h for the
available handshake descriptions.
void gnutls_handshake_set_private_extensions (gnutls_session_t session
,int allow
);
This function will enable or disable the use of private cipher
suites (the ones that start with 0xFF). By default or if allow
is 0 then these cipher suites will not be advertised nor used.
Currently GnuTLS does not include such cipher-suites or compression algorithms.
Enabling the private ciphersuites when talking to other than gnutls servers and clients may cause interoperability problems.
int gnutls_handshake_set_random (gnutls_session_t session
,const gnutls_datum_t *random
);
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.
Note that this function should not normally be used as gnutls will select automatically a random value for the handshake.
This function should not be used when resuming a session.
void gnutls_handshake_set_timeout (gnutls_session_t session
,unsigned int ms
);
This function sets the timeout for the handshake process
to the provided value. Use an ms
value of zero to disable
timeout.
Note that in order for the timeout to be enforced
gnutls_transport_set_pull_timeout_function()
must be set
(it is set by default in most systems).
int gnutls_heartbeat_ping (gnutls_session_t session
,size_t data_size
,unsigned int max_tries
,unsigned int flags
);
This function sends a ping to the peer. If the flags
is set
to GNUTLS_HEARTBEAT_WAIT
then it waits for a reply from the peer.
Note that it is highly recommended to use this function with the
flag GNUTLS_HEARTBEAT_WAIT
, or you need to handle retransmissions
and timeouts manually.
session |
is a gnutls_session_t structure. |
|
data_size |
is the length of the ping payload. |
|
max_tries |
if flags is |
|
flags |
if |
Since 3.1.2
int gnutls_heartbeat_pong (gnutls_session_t session
,unsigned int flags
);
This function replies to a ping by sending a pong to the peer.
Since 3.1.2
int gnutls_init (gnutls_session_t *session
,unsigned int flags
);
This function initializes the current session to null. Every
session must be initialized before use, so internal structures can
be allocated. This function allocates structures which can only
be free'd by calling gnutls_deinit()
. Returns GNUTLS_E_SUCCESS
(0) on success.
flags
can be one of GNUTLS_CLIENT
and GNUTLS_SERVER
. For a DTLS
entity, the flags GNUTLS_DATAGRAM
and GNUTLS_NONBLOCK
are
also available. The latter flag will enable a non-blocking
operation of the DTLS timers.
The flag GNUTLS_NO_REPLAY_PROTECTION
will disable any
replay protection in DTLS mode. That must only used when
replay protection is achieved using other means.
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 GNUTLS_NO_EXTENSIONS
flag.
session |
is a pointer to a gnutls_session_t structure. |
|
flags |
indicate if this session is to be used for server or client. |
gnutls_kx_algorithm_t
gnutls_kx_get (gnutls_session_t session
);
Get currently used key exchange algorithm.
gnutls_kx_algorithm_t
gnutls_kx_get_id (const char *name
);
Convert a string to a gnutls_kx_algorithm_t value. The names are compared in a case insensitive way.
const char *
gnutls_kx_get_name (gnutls_kx_algorithm_t algorithm
);
Convert a gnutls_kx_algorithm_t value to a string.
const gnutls_kx_algorithm_t *
gnutls_kx_list (void
);
Get a list of supported key exchange algorithms.
This function is not thread safe.
a (0)-terminated list of gnutls_kx_algorithm_t integers indicating the available key exchange algorithms.
gnutls_mac_algorithm_t
gnutls_mac_get (gnutls_session_t session
);
Get currently used MAC algorithm.
gnutls_mac_algorithm_t
gnutls_mac_get_id (const char *name
);
Convert a string to a gnutls_mac_algorithm_t value. The names are compared in a case insensitive way.
a gnutls_mac_algorithm_t id of the specified MAC
algorithm string, or GNUTLS_MAC_UNKNOWN
on failures.
const char *
gnutls_mac_get_name (gnutls_mac_algorithm_t algorithm
);
Convert a gnutls_mac_algorithm_t value to a string.
const gnutls_mac_algorithm_t *
gnutls_mac_list (void
);
Get a list of hash algorithms for use as MACs. Note that not necessarily all MACs are supported in TLS cipher suites. This function is not thread safe.
Return a (0)-terminated list of gnutls_mac_algorithm_t integers indicating the available MACs.
void
gnutls_perror (int error
);
This function is like perror()
. The only difference is that it
accepts an error number returned by a gnutls function.
const char *
gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t algorithm
);
Convert a gnutls_pk_algorithm_t value to a string.
gnutls_sec_param_t gnutls_pk_bits_to_sec_param (gnutls_pk_algorithm_t algo
,unsigned int bits
);
This is the inverse of gnutls_sec_param_to_pk_bits()
. Given an algorithm
and the number of bits, it will return the security parameter. This is
a rough indication.
Since 2.12.0
gnutls_pk_algorithm_t
gnutls_pk_get_id (const char *name
);
Convert a string to a gnutls_pk_algorithm_t value. The names are
compared in a case insensitive way. For example,
gnutls_pk_get_id("RSA") will return GNUTLS_PK_RSA
.
a gnutls_pk_algorithm_t id of the specified public key
algorithm string, or GNUTLS_PK_UNKNOWN
on failures.
Since 2.6.0
const char *
gnutls_pk_get_name (gnutls_pk_algorithm_t algorithm
);
Convert a gnutls_pk_algorithm_t value to a string.
a pointer to a string that contains the name of the
specified public key algorithm, or NULL
.
Since 2.6.0
const gnutls_pk_algorithm_t *
gnutls_pk_list (void
);
Get a list of supported public key algorithms.
This function is not thread safe.
Since 2.6.0
gnutls_sign_algorithm_t gnutls_pk_to_sign (gnutls_pk_algorithm_t pk
,gnutls_digest_algorithm_t hash
);
This function maps public key and hash algorithms combinations to signature algorithms.
gnutls_protocol_t
gnutls_protocol_get_id (const char *name
);
The names are compared in a case insensitive way.
const gnutls_protocol_t *
gnutls_protocol_list (void
);
Get a list of supported protocols, e.g. SSL 3.0, TLS 1.0 etc.
This function is not thread safe.
void
gnutls_record_disable_padding (gnutls_session_t session
);
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.
This functions is defunt since 3.1.7. Random padding is disabled
by default unless requested using gnutls_range_send_message()
.
void gnutls_record_set_timeout (gnutls_session_t session
,unsigned int ms
);
This function sets the receive timeout for the record layer
to the provided value. Use an ms
value of zero to disable
timeout (the default).
Note that in order for the timeout to be enforced
gnutls_transport_set_pull_timeout_function()
must be set
(it is set by default in most systems).
Since 3.1.7
int
gnutls_rehandshake (gnutls_session_t session
);
This function will renegotiate security parameters with the client. This should only be called in case of a server.
This message informs the peer that we want to renegotiate parameters (perform a handshake).
If this function succeeds (returns 0), you must call the
gnutls_handshake()
function in order to negotiate the new
parameters.
Since TLS is full duplex some application data might have been
sent during peer's processing of this message. In that case
one should call gnutls_record_recv()
until GNUTLS_E_REHANDSHAKE
is returned to clear any pending data. Care must be taken if
rehandshake is mandatory to terminate if it does not start after
some threshold.
If the client does not wish to renegotiate parameters he will
should with an alert message, thus the return code will be
GNUTLS_E_WARNING_ALERT_RECEIVED
and the alert will be
GNUTLS_A_NO_RENEGOTIATION
. A client may also choose to ignore
this message.
const char *
gnutls_sec_param_get_name (gnutls_sec_param_t param
);
Convert a gnutls_sec_param_t value to a string.
Since 2.12.0
return
gnutls_sec_param_to_pk_bits (GNUTLS_PK_DH Param1
);
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.
Since 2.12.0
int
gnutls_sign_algorithm_get (gnutls_session_t session
);
Returns the signature algorithm that is (or will be) used in this session by the server to sign data.
Since 3.1.1
int
gnutls_sign_algorithm_get_client (gnutls_session_t session
);
Returns the signature algorithm that is (or will be) used in this session by the client to sign data.
Since 3.1.11
int gnutls_sign_algorithm_get_requested (gnutls_session_t session
,size_t indx
,gnutls_sign_algorithm_t *algo
);
Returns the signature algorithm specified by index that was
requested by the peer. If the specified index has no data available
this function returns GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
. If
the negotiated TLS version does not support signature algorithms
then GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
will be returned even
for the first index. The first index is 0.
This function is useful in the certificate callback functions to assist in selecting the correct certificate.
session |
is a gnutls_session_t structure. |
|
indx |
is an index of the signature algorithm to return |
|
algo |
the returned certificate type will be stored there |
Since 2.10.0
gnutls_digest_algorithm_t
gnutls_sign_get_hash_algorithm (gnutls_sign_algorithm_t sign
);
This function returns the digest algorithm corresponding to the given signature algorithms.
Since 3.1.1
gnutls_sign_algorithm_t
gnutls_sign_get_id (const char *name
);
The names are compared in a case insensitive way.
return a gnutls_sign_algorithm_t value corresponding to
the specified algorithm, or GNUTLS_SIGN_UNKNOWN
on error.
const char *
gnutls_sign_get_name (gnutls_sign_algorithm_t algorithm
);
Convert a gnutls_sign_algorithm_t value to a string.
gnutls_pk_algorithm_t
gnutls_sign_get_pk_algorithm (gnutls_sign_algorithm_t sign
);
This function returns the public key algorithm corresponding to the given signature algorithms.
Since 3.1.1
const gnutls_sign_algorithm_t *
gnutls_sign_list (void
);
Get a list of supported public key signature algorithms.
const char *
gnutls_strerror (int error
);
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 NULL
.
Error codes are always a negative error code.
Enumeration of different TLS alerts.
Close notify. |
||
Unexpected message. |
||
Bad record MAC. |
||
Decryption failed. |
||
Record overflow. |
||
Decompression failed. |
||
Handshake failed. |
||
No certificate. |
||
Certificate is bad. |
||
Certificate is not supported. |
||
Certificate was revoked. |
||
Certificate is expired. |
||
Unknown certificate. |
||
Illegal parameter. |
||
CA is unknown. |
||
Access was denied. |
||
Decode error. |
||
Decrypt error. |
||
Export restriction. |
||
Error in protocol version. |
||
Insufficient security. |
||
Internal error. |
||
User canceled. |
||
No renegotiation is allowed. |
||
An unsupported extension was sent. |
||
Could not retrieve the specified certificate. |
||
The server name sent was not recognized. |
||
The SRP/PSK username is missing or not known. |
||
Enumeration of different certificate printing variants.
Enumeration of certificate status codes. Note that the status bits may have different meanings in OpenPGP keys and X.509 certificate verification.
The certificate is not signed by one of the
known authorities or the signature is invalid (deprecated by the flags
|
||
Certificate is revoked by its authority. In X.509 this will be set only if CRLs are checked. |
||
The certificate's issuer is not known. This is the case if the issuer is not included in the trusted certificate list. |
||
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. |
||
The certificate was signed using an insecure algorithm such as MD2 or MD5. These algorithms have been broken and should not be trusted. |
||
The certificate is not yet activated. |
||
The certificate has expired. |
||
The signature verification failed. |
||
The revocation data are old and have been superseded. |
||
The owner is not the expected one. |
||
The revocation data have a future issue date. |
||
The certificate's signer constraints were violated. |
||
The certificate presented isn't the expected one (TOFU) |
Enumeration of different symmetric encryption algorithms.
Unknown algorithm. |
||
NULL algorithm. |
||
ARCFOUR stream cipher with 128-bit keys. |
||
3DES in CBC mode. |
||
AES in CBC mode with 128-bit keys. |
||
AES in CBC mode with 256-bit keys. |
||
ARCFOUR stream cipher with 40-bit keys. |
||
Camellia in CBC mode with 128-bit keys. |
||
Camellia in CBC mode with 256-bit keys. |
||
RC2 in CBC mode with 40-bit keys. |
||
DES in CBC mode (56-bit keys). |
||
AES in CBC mode with 192-bit keys. |
||
AES in GCM mode with 128-bit keys. |
||
AES in GCM mode with 256-bit keys. |
||
Camellia in CBC mode with 192-bit keys. |
||
CAMELLIA in GCM mode with 128-bit keys. |
||
CAMELLIA in GCM mode with 256-bit keys. |
||
IDEA in CFB mode. |
||
3DES in CFB mode. |
||
CAST5 in CFB mode. |
||
Blowfish in CFB mode. |
||
Safer-SK in CFB mode with 128-bit keys. |
||
AES in CFB mode with 128-bit keys. |
||
AES in CFB mode with 192-bit keys. |
||
AES in CFB mode with 256-bit keys. |
||
Twofish in CFB mode. |
Enumeration of different TLS compression methods.
Unknown compression method. |
||
The NULL compression method (no compression). |
||
The DEFLATE compression method from zlib. |
||
Same as |
Enumeration of different digest (hash) algorithms.
Enumeration of different TLS handshake packets.
Hello request. |
||
Client hello. |
||
Server hello. |
||
DTLS Hello verify request. |
||
New session ticket. |
||
Certificate packet. |
||
Server key exchange. |
||
Certificate request. |
||
Server hello done. |
||
Certificate verify. |
||
Client key exchange. |
||
Finished. |
||
Certificate status (OCSP). |
||
Supplemental. |
||
Change Cipher Spec. |
||
SSLv2 Client Hello. |
Enumeration of different key exchange algorithms.
Unknown key-exchange algorithm. |
||
RSA key-exchange algorithm. |
||
DHE-DSS key-exchange algorithm. |
||
DHE-RSA key-exchange algorithm. |
||
Anon-DH key-exchange algorithm. |
||
SRP key-exchange algorithm. |
||
RSA-EXPORT key-exchange algorithm (defunc). |
||
SRP-RSA key-exchange algorithm. |
||
SRP-DSS key-exchange algorithm. |
||
PSK key-exchange algorithm. |
||
DHE-PSK key-exchange algorithm. |
||
Anon-ECDH key-exchange algorithm. |
||
ECDHE-RSA key-exchange algorithm. |
||
ECDHE-ECDSA key-exchange algorithm. |
||
ECDHE-PSK key-exchange algorithm. |
||
RSA-PSK key-exchange algorithm. |
Enumeration of different Message Authentication Code (MAC) algorithms.
Unknown MAC algorithm. |
||
NULL MAC algorithm (empty output). |
||
HMAC-MD5 algorithm. |
||
HMAC-SHA-1 algorithm. |
||
HMAC-RMD160 algorithm. |
||
HMAC-MD2 algorithm. |
||
HMAC-SHA-256 algorithm. |
||
HMAC-SHA-384 algorithm. |
||
HMAC-SHA-512 algorithm. |
||
HMAC-SHA-224 algorithm. |
||
MAC implicit through AEAD cipher. |
||
The UMAC-96 MAC algorithm. |
||
The UMAC-128 MAC algorithm. |
struct gnutls_priority_st { priority_st cipher; priority_st mac; priority_st kx; priority_st compression; priority_st protocol; priority_st cert_type; priority_st sign_algo; priority_st supported_ecc; /* to disable record padding */ unsigned int no_extensions:1; unsigned int allow_large_records:1; unsigned int new_record_padding:1; unsigned int max_empty_records; unsigned int dumbfw; safe_renegotiation_t sr; unsigned int ssl3_record_version:1; unsigned int server_precedence:1; unsigned int allow_weak_keys:1; unsigned int allow_wrong_pms:1; /* Whether stateless compression will be used */ unsigned int stateless_compression:1; unsigned int additional_verify_flags; /* 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; unsigned int dh_prime_bits; /* old (deprecated) variable */ };
Enumeration of different SSL/TLS protocol versions.
SSL version 3.0. |
||
TLS version 1.0. |
||
Same as |
||
TLS version 1.1. |
||
TLS version 1.2. |
||
DTLS version 0.9 (Cisco AnyConnect / OpenSSL 0.9.8e). |
||
DTLS version 1.0. |
||
DTLS version 1.2. |
||
Unknown SSL/TLS version. |
Enumeration of security parameters for passive attacks.
struct gnutls_session_int { security_parameters_st security_parameters; record_parameters_st *record_parameters[MAX_EPOCH_INDEX]; internals_st internals; gnutls_key_st key; };
Enumeration of different digital signature algorithms.
Unknown signature algorithm. |
||
Digital signature algorithm RSA with SHA-1 |
||
Same as |
||
Digital signature algorithm DSA with SHA-1 |
||
Same as |
||
Digital signature algorithm RSA with MD5. |
||
Digital signature algorithm RSA with MD2. |
||
Digital signature algorithm RSA with RMD-160. |
||
Digital signature algorithm RSA with SHA-256. |
||
Digital signature algorithm RSA with SHA-384. |
||
Digital signature algorithm RSA with SHA-512. |
||
Digital signature algorithm RSA with SHA-224. |
||
Digital signature algorithm DSA with SHA-224 |
||
Digital signature algorithm DSA with SHA-256 |
||
ECDSA with SHA1. |
||
Digital signature algorithm ECDSA with SHA-224. |
||
Digital signature algorithm ECDSA with SHA-256. |
||
Digital signature algorithm ECDSA with SHA-384. |
||
Digital signature algorithm ECDSA with SHA-512. |