Greenbone Vulnerability Manager 22.5.2
manage_tls_certificates.h
1/* Copyright (C) 2019-2022 Greenbone AG
2 *
3 * SPDX-License-Identifier: AGPL-3.0-or-later
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License as
7 * published by the Free Software Foundation, either version 3 of the
8 * License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
26#ifndef _GVMD_MANAGE_TLS_CERTIFICATES_H
27#define _GVMD_MANAGE_TLS_CERTIFICATES_H
28
29#include "manage.h"
30#include "iterator.h"
31
32int
34
35int
37
38const char*
39tls_certificate_iterator_certificate (iterator_t*);
40
41const char*
42tls_certificate_iterator_subject_dn (iterator_t*);
43
44const char*
45tls_certificate_iterator_issuer_dn (iterator_t*);
46
47int
49
50const char*
51tls_certificate_iterator_md5_fingerprint (iterator_t*);
52
53const char*
54tls_certificate_iterator_activation_time (iterator_t*);
55
56const char*
57tls_certificate_iterator_expiration_time (iterator_t*);
58
59int
61
62const char*
63tls_certificate_iterator_certificate_format (iterator_t*);
64
65const char*
66tls_certificate_iterator_sha256_fingerprint (iterator_t*);
67
68const char*
69tls_certificate_iterator_serial (iterator_t*);
70
71const char*
72tls_certificate_iterator_last_seen (iterator_t*);
73
74const char*
75tls_certificate_iterator_time_status (iterator_t*);
76
77int
78tls_certificate_in_use (tls_certificate_t);
79
80int
81tls_certificate_writable (tls_certificate_t);
82
83int
84create_tls_certificate (const char *, const char *, const char *, int,
85 tls_certificate_t *);
86
87int
88copy_tls_certificate (const char*, const char*, const char*,
89 tls_certificate_t*);
90
91int
92modify_tls_certificate (const gchar *, const gchar *, const gchar *, int);
93
94char*
95tls_certificate_uuid (tls_certificate_t);
96
97int
99
100const char *
101tls_certificate_source_iterator_uuid (iterator_t *);
102
103const char *
104tls_certificate_source_iterator_timestamp (iterator_t *);
105
106const char *
107tls_certificate_source_iterator_tls_versions (iterator_t *);
108
109const char *
110tls_certificate_source_iterator_location_uuid (iterator_t *);
111
112const char *
113tls_certificate_source_iterator_location_host_ip (iterator_t *);
114
115const char *
116tls_certificate_source_iterator_location_port (iterator_t *);
117
118const char *
119tls_certificate_source_iterator_origin_uuid (iterator_t *);
120
121const char *
122tls_certificate_source_iterator_origin_type (iterator_t *);
123
124const char *
125tls_certificate_source_iterator_origin_id (iterator_t *);
126
127const char *
128tls_certificate_source_iterator_origin_data (iterator_t *);
129
131get_or_make_tls_certificate_location (const char *, const char *);
132
134get_or_make_tls_certificate_origin (const char *, const char *, const char *);
135
137get_or_make_tls_certificate_source (tls_certificate_t,
138 const char *,
139 const char *,
140 const char *,
141 const char *,
142 const char *);
143
144char *
145tls_certificate_host_asset_id (const char *, const char *);
146
147#endif /* not _GVMD_MANAGE_TLS_CERTIFICATES_H */
Headers for Iterators.
long long int resource_t
A resource, like a task or target.
Definition: iterator.h:39
int init_tls_certificate_source_iterator(iterator_t *iterator, tls_certificate_t tls_certificate)
Initialise an iterator of TLS certificate sources.
Definition: manage_sql_tls_certificates.c:1101
int init_tls_certificate_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a tls_certificate iterator.
Definition: manage_sql_tls_certificates.c:301
char * tls_certificate_host_asset_id(const char *host_ip, const char *origin_id)
Get the host asset UUID of a TLS certificate location.
Definition: manage_sql_tls_certificates.c:1703
resource_t get_or_make_tls_certificate_source(tls_certificate_t tls_certificate, const char *host_ip, const char *port, const char *origin_type, const char *origin_id, const char *origin_data)
Gets or creates a tls_certificate_source.
Definition: manage_sql_tls_certificates.c:1338
int modify_tls_certificate(const gchar *tls_certificate_id, const gchar *comment, const gchar *name, int trust)
Modify a TLS certificate.
Definition: manage_sql_tls_certificates.c:992
int tls_certificate_iterator_trust(iterator_t *iterator)
Get a column value from a tls_certificate iterator.
Definition: manage_sql_tls_certificates.c:379
int tls_certificate_writable(tls_certificate_t tls_certificate)
Return whether a tls_certificate is writable.
Definition: manage_sql_tls_certificates.c:505
int create_tls_certificate(const char *name, const char *comment, const char *certificate_b64, int trust, tls_certificate_t *tls_certificate)
Create a TLS certificate.
Definition: manage_sql_tls_certificates.c:785
char * tls_certificate_uuid(tls_certificate_t tls_certificate)
Return the UUID of a TLS certificate.
Definition: manage_sql_tls_certificates.c:1086
resource_t get_or_make_tls_certificate_origin(const char *origin_type, const char *origin_id, const char *origin_data)
Gets or creates a tls_certificate_origin.
Definition: manage_sql_tls_certificates.c:1276
int copy_tls_certificate(const char *name, const char *comment, const char *tls_certificate_id, tls_certificate_t *new_tls_certificate)
Create a TLS certificate from an existing TLS certificate.
Definition: manage_sql_tls_certificates.c:834
int tls_certificate_iterator_valid(iterator_t *iterator)
Get a column value from a tls_certificate iterator.
Definition: manage_sql_tls_certificates.c:425
resource_t get_or_make_tls_certificate_location(const char *host_ip, const char *port)
Gets or creates a tls_certificate_location.
Definition: manage_sql_tls_certificates.c:1226
int tls_certificate_in_use(tls_certificate_t tls_certificate)
Return whether a tls_certificate is in use.
Definition: manage_sql_tls_certificates.c:492
int tls_certificate_count(const get_data_t *get)
Count number of tls_certificates.
Definition: manage_sql_tls_certificates.c:258
Command data for a get command.
Definition: manage_get.h:35
A generic SQL iterator structure.
Definition: iterator.h:50