## AgsCertificateManager

AgsCertificateManager — singleton pattern to organize certificate

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_CERTIFICATE_MANAGER_GET_OBJ_MUTEX()
GList * | ags_certificate_manager_get_certificate ()
void | ags_certificate_manager_add_certificate ()
void | ags_certificate_manager_remove_certificate ()
void | ags_certificate_manager_get_key_file ()
AgsCertificateManager * | ags_certificate_manager_get_instance ()
AgsCertificateManager * | ags_certificate_manager_new ()

## Object Hierarchy

        GObject
        ╰── AgsCertificateManager

## Includes

    #include <ags/server/security/ags_certificate_manager.h>

## Description

The AgsCertificateManager manages your certificate.

## Functions

### AGS_CERTIFICATE_MANAGER_GET_OBJ_MUTEX()

    #define AGS_CERTIFICATE_MANAGER_GET_OBJ_MUTEX(obj) (&(((AgsCertificateManager *) obj)->obj_mutex))

### ags_certificate_manager_get_certificate ()

    GList *
    ags_certificate_manager_get_certificate
                                   (AgsCertificateManager *certificate_manager);

Get certificate.

#### Parameters

certificate_manager | the AgsCertificateManager |

#### Returns

the GList containing GObject implementing AgsCertificate.

[element-type GObject][transfer full]

Since: 3.0.0

### ags_certificate_manager_add_certificate ()

    void
    ags_certificate_manager_add_certificate
                                   (AgsCertificateManager *certificate_manager,
                                    GObject *certificate);

Add `certificate` to `certificate_manager` .

#### Parameters

certificate_manager | the AgsCertificateManager |
certificate | the GObject implementing AgsCertificate |

Since: 3.0.0

### ags_certificate_manager_remove_certificate ()

    void
    ags_certificate_manager_remove_certificate
                                   (AgsCertificateManager *certificate_manager,
                                    GObject *certificate);

Remove `certificate` from `certificate_manager` .

#### Parameters

certificate_manager | the AgsCertificateManager |
certificate | the GObject implementing AgsCertificate |

Since: 3.0.0

### ags_certificate_manager_get_key_file ()

    void
    ags_certificate_manager_get_key_file (AgsCertificateManager *certificate_manager,
                                          GObject *security_context,
                                          gchar *user_uuid,
                                          gchar *security_token,
                                          gchar *domain,
                                          gchar *key_type,
                                          gchar **public_key_file,
                                          gchar **private_key_file);

Get public and private key file.

#### Parameters

certificate_manager | the AgsCertificateManager |
security_context | the AgsSecurityContext |
user_uuid | the user's UUID |
security_token | the security token |
domain | the domain to find |
key_type | the key type to find |
public_key_file | return location of public key filename. | [out][transfer full]
private_key_file | return location of private key filename. | [out][transfer full]

Since: 3.0.0

### ags_certificate_manager_get_instance ()

    AgsCertificateManager *
    ags_certificate_manager_get_instance ();

Get instance.

#### Returns

the AgsCertificateManager.

[transfer none]

Since: 3.0.0

### ags_certificate_manager_new ()

    AgsCertificateManager *
    ags_certificate_manager_new ();

Creates an AgsCertificateManager

#### Returns

a new AgsCertificateManager

Since: 3.0.0