Greenbone Vulnerability Manager  9.0.1
manage_tls_certificates.h
1 /* Copyright (C) 2019 Greenbone Networks GmbH
2  *
3  * SPDX-License-Identifier: GPL-2.0-or-later
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the 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 General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
27 #ifndef _GVMD_MANAGE_TLS_CERTIFICATES_H
28 #define _GVMD_MANAGE_TLS_CERTIFICATES_H
29 
30 #include "manage.h"
31 #include "iterator.h"
32 
33 int
35 
36 int
38 
39 const char*
40 tls_certificate_iterator_certificate (iterator_t*);
41 
42 const char*
43 tls_certificate_iterator_subject_dn (iterator_t*);
44 
45 const char*
46 tls_certificate_iterator_issuer_dn (iterator_t*);
47 
48 int
50 
51 const char*
52 tls_certificate_iterator_md5_fingerprint (iterator_t*);
53 
54 const char*
55 tls_certificate_iterator_activation_time (iterator_t*);
56 
57 const char*
58 tls_certificate_iterator_expiration_time (iterator_t*);
59 
60 int
62 
63 const char*
64 tls_certificate_iterator_certificate_format (iterator_t*);
65 
66 const char*
67 tls_certificate_iterator_sha256_fingerprint (iterator_t*);
68 
69 const char*
70 tls_certificate_iterator_serial (iterator_t*);
71 
72 const char*
73 tls_certificate_iterator_last_seen (iterator_t*);
74 
75 const char*
76 tls_certificate_iterator_time_status (iterator_t*);
77 
78 int
79 tls_certificate_in_use (tls_certificate_t);
80 
81 int
82 tls_certificate_writable (tls_certificate_t);
83 
84 int
85 create_tls_certificate (const char *, const char *, const char *, int,
86  tls_certificate_t *);
87 
88 int
89 copy_tls_certificate (const char*, const char*, const char*,
90  tls_certificate_t*);
91 
92 int
93 modify_tls_certificate (const gchar *, const gchar *, const gchar *, int);
94 
95 char*
96 tls_certificate_uuid (tls_certificate_t);
97 
98 int
100 
101 const char *
102 tls_certificate_source_iterator_uuid (iterator_t *);
103 
104 const char *
105 tls_certificate_source_iterator_timestamp (iterator_t *);
106 
107 const char *
108 tls_certificate_source_iterator_tls_versions (iterator_t *);
109 
110 const char *
111 tls_certificate_source_iterator_location_uuid (iterator_t *);
112 
113 const char *
114 tls_certificate_source_iterator_location_host_ip (iterator_t *);
115 
116 const char *
117 tls_certificate_source_iterator_location_port (iterator_t *);
118 
119 const char *
120 tls_certificate_source_iterator_origin_uuid (iterator_t *);
121 
122 const char *
123 tls_certificate_source_iterator_origin_type (iterator_t *);
124 
125 const char *
126 tls_certificate_source_iterator_origin_id (iterator_t *);
127 
128 const char *
129 tls_certificate_source_iterator_origin_data (iterator_t *);
130 
132 get_or_make_tls_certificate_location (const char *, const char *);
133 
135 get_or_make_tls_certificate_origin (const char *, const char *, const char *);
136 
138 get_or_make_tls_certificate_source (tls_certificate_t,
139  const char *,
140  const char *,
141  const char *,
142  const char *,
143  const char *);
144 
145 char *
146 tls_certificate_host_asset_id (const char *, const char *);
147 
148 #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:40
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:1088
int init_tls_certificate_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a tls_certificate iterator.
Definition: manage_sql_tls_certificates.c:302
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:1325
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:979
int tls_certificate_iterator_trust(iterator_t *iterator)
Get a column value from a tls_certificate iterator.
Definition: manage_sql_tls_certificates.c:380
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:1690
int tls_certificate_writable(tls_certificate_t tls_certificate)
Return whether a tls_certificate is writable.
Definition: manage_sql_tls_certificates.c:506
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:786
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:1263
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:835
int tls_certificate_iterator_valid(iterator_t *iterator)
Get a column value from a tls_certificate iterator.
Definition: manage_sql_tls_certificates.c:426
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:1213
int tls_certificate_in_use(tls_certificate_t tls_certificate)
Return whether a tls_certificate is in use.
Definition: manage_sql_tls_certificates.c:493
int tls_certificate_count(const get_data_t *get)
Count number of tls_certificates.
Definition: manage_sql_tls_certificates.c:259
char * tls_certificate_uuid(tls_certificate_t tls_certificate)
Return the UUID of a TLS certificate.
Definition: manage_sql_tls_certificates.c:1073
Command data for a get command.
Definition: manage.h:355
A generic SQL iterator structure.
Definition: iterator.h:51