Greenbone Vulnerability Manager  22.4.0~dev1
manage_tls_certificates.h
1 /* Copyright (C) 2019-2022 Greenbone Networks GmbH
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 
32 int
34 
35 int
37 
38 const char*
39 tls_certificate_iterator_certificate (iterator_t*);
40 
41 const char*
42 tls_certificate_iterator_subject_dn (iterator_t*);
43 
44 const char*
45 tls_certificate_iterator_issuer_dn (iterator_t*);
46 
47 int
49 
50 const char*
51 tls_certificate_iterator_md5_fingerprint (iterator_t*);
52 
53 const char*
54 tls_certificate_iterator_activation_time (iterator_t*);
55 
56 const char*
57 tls_certificate_iterator_expiration_time (iterator_t*);
58 
59 int
61 
62 const char*
63 tls_certificate_iterator_certificate_format (iterator_t*);
64 
65 const char*
66 tls_certificate_iterator_sha256_fingerprint (iterator_t*);
67 
68 const char*
69 tls_certificate_iterator_serial (iterator_t*);
70 
71 const char*
72 tls_certificate_iterator_last_seen (iterator_t*);
73 
74 const char*
75 tls_certificate_iterator_time_status (iterator_t*);
76 
77 int
78 tls_certificate_in_use (tls_certificate_t);
79 
80 int
81 tls_certificate_writable (tls_certificate_t);
82 
83 int
84 create_tls_certificate (const char *, const char *, const char *, int,
85  tls_certificate_t *);
86 
87 int
88 copy_tls_certificate (const char*, const char*, const char*,
89  tls_certificate_t*);
90 
91 int
92 modify_tls_certificate (const gchar *, const gchar *, const gchar *, int);
93 
94 char*
95 tls_certificate_uuid (tls_certificate_t);
96 
97 int
99 
100 const char *
101 tls_certificate_source_iterator_uuid (iterator_t *);
102 
103 const char *
104 tls_certificate_source_iterator_timestamp (iterator_t *);
105 
106 const char *
107 tls_certificate_source_iterator_tls_versions (iterator_t *);
108 
109 const char *
110 tls_certificate_source_iterator_location_uuid (iterator_t *);
111 
112 const char *
113 tls_certificate_source_iterator_location_host_ip (iterator_t *);
114 
115 const char *
116 tls_certificate_source_iterator_location_port (iterator_t *);
117 
118 const char *
119 tls_certificate_source_iterator_origin_uuid (iterator_t *);
120 
121 const char *
122 tls_certificate_source_iterator_origin_type (iterator_t *);
123 
124 const char *
125 tls_certificate_source_iterator_origin_id (iterator_t *);
126 
127 const char *
128 tls_certificate_source_iterator_origin_data (iterator_t *);
129 
131 get_or_make_tls_certificate_location (const char *, const char *);
132 
134 get_or_make_tls_certificate_origin (const char *, const char *, const char *);
135 
137 get_or_make_tls_certificate_source (tls_certificate_t,
138  const char *,
139  const char *,
140  const char *,
141  const char *,
142  const char *);
143 
144 char *
145 tls_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
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
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
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
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
char * tls_certificate_uuid(tls_certificate_t tls_certificate)
Return the UUID of a TLS certificate.
Definition: manage_sql_tls_certificates.c:1086
Command data for a get command.
Definition: manage_get.h:35
A generic SQL iterator structure.
Definition: iterator.h:50