InfCertificateChain

InfCertificateChain — X.509 certificate chains

Stability Level

Unstable, unless otherwise indicated

Functions

Types and Values

Object Hierarchy

    GBoxed
    ╰── InfCertificateChain

Includes

#include <libinfinity/common/inf-certificate-chain.h>

Description

InfCertificateChain is a reference-counted wrapper around an array of gnutls_x509_crt_t structures, representing a certificate chain.

Functions

inf_certificate_chain_new ()

InfCertificateChain *
inf_certificate_chain_new (gnutls_x509_crt_t *certs,
                           guint n_certs);

Creates a new InfCertificateChain with the given certificates. The certs array needs to be allocated with g_malloc. This function takes ownership of certs .

Parameters

certs

Array of certificates.

[array length=n_certs]

n_certs

Number of elements in certs .

 

Returns

A new InfCertificateChain.

[transfer full]


inf_certificate_chain_ref ()

InfCertificateChain *
inf_certificate_chain_ref (InfCertificateChain *chain);

Increases the reference count of chain by one.

Parameters

chain

A InfCertificateChain:

 

Returns

The same chain .


inf_certificate_chain_unref ()

void
inf_certificate_chain_unref (InfCertificateChain *chain);

Decreases the reference count of chain by one. If the reference count reaches zero, then chain is freed.

Parameters

chain

A InfCertificateChain.

 

inf_certificate_chain_get_raw ()

gnutls_x509_crt_t *
inf_certificate_chain_get_raw (const InfCertificateChain *chain);

Returns the raw array of certificates in the chain.

Parameters

chain

A InfCertificateChain.

 

Returns

An array of certificates owned by the chain.


inf_certificate_chain_get_root_certificate ()

gnutls_x509_crt_t
inf_certificate_chain_get_root_certificate
                               (const InfCertificateChain *chain);

Returns the last certificate in the chain.

Parameters

chain

A InfCertificateChain.

 

Returns

The last certificate in the chain.


inf_certificate_chain_get_own_certificate ()

gnutls_x509_crt_t
inf_certificate_chain_get_own_certificate
                               (const InfCertificateChain *chain);

TODO: Rename this function into something more appropriate.

Returns the first certificate in the chain.

Parameters

chain

A InfCertificateChain.

 

Returns

The first certificate in the chain.


inf_certificate_chain_get_nth_certificate ()

gnutls_x509_crt_t
inf_certificate_chain_get_nth_certificate
                               (const InfCertificateChain *chain,
                                guint n);

Returns the n th certificate in the chain.

Parameters

chain

A InfCertificateChain.

 

n

Index of the certificate to retrieve.

 

Returns

The nth certificate in the chain.


inf_certificate_chain_get_n_certificates ()

guint
inf_certificate_chain_get_n_certificates
                               (const InfCertificateChain *chain);

Returns the number of certificates in chain .

Parameters

chain

A InfCertificateChain.

 

Returns

The number of certificates in chain .

Types and Values

InfCertificateChain

typedef struct _InfCertificateChain InfCertificateChain;

InfCertificateChain is an opaque data type. You should only access it via the public API functions.

See Also

InfXmppConnection