gnutls_store_commitment — API function


#include <gnutls/gnutls.h>
int gnutls_store_commitment( const char * db_name,
  gnutls_tdb_t tdb,
  const char * host,
  const char * service,
  gnutls_digest_algorithm_t hash_algo,
  const gnutls_datum_t * hash,
  time_t expiration,
  unsigned int flags);


const char * db_name

A file specifying the stored keys (use NULL for the default)

gnutls_tdb_t tdb

A storage structure or NULL to use the default

const char * host

The peer's name

const char * service

non−NULL if this key is specific to a service (e.g. http)

gnutls_digest_algorithm_t hash_algo

The hash algorithm type

const gnutls_datum_t * hash

The raw hash

time_t expiration

The expiration time (use 0 to disable expiration)

unsigned int flags

should be 0.


This function will store the provided hash commitment to the list of stored public keys. The key with the given hash will be considered valid until the provided expiration time.

The store variable if non−null specifies a custom backend for the storage of entries. If it is NULL then the default file backend will be used.

Note that this function is not thread safe with the default backend.


On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error value.




Report bugs to <>.

General guidelines for reporting bugs:

GnuTLS home page:


The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command

info gnutls

should give you access to the complete manual. As an alternative you may obtain the manual from:


Copyright © 2001-2013 Free Software Foundation, Inc..

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.