Apache HTTPD
tls_cert.h
Go to the documentation of this file.
1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#ifndef tls_cert_h
17#define tls_cert_h
18
19#include "tls_util.h"
20
28
32typedef struct {
33 const char *cert_file; /* file path, relative to ap_root */
34 const char *pkey_file; /* file path, relative to ap_root */
35 const char *cert_pem; /* NUL-terminated PEM string */
36 const char *pkey_pem; /* NUL-terminated PEM string */
38
44
46
56 apr_pool_t *p, const tls_cert_spec_t *spec,
57 const char **pcert_pem, const rustls_certified_key **pckey);
58
68
75
80
92
103 void *userdata, server_rec *s,
104 const char *id, const char *cert_pem, const rustls_certified_key *certified_key);
105
112void tls_cert_reg_do(
113 tls_cert_reg_visitor *visitor, void *userdata, tls_cert_reg_t *reg);
114
122const char *tls_cert_reg_get_id(tls_cert_reg_t *reg, const rustls_certified_key *certified_key);
123
131 apr_pool_t *p, const char *store_file, const rustls_root_cert_store **pstore);
132
138
145
150
159 const char *store_file,
161
168
178
183 tls_cert_verifiers_t *verifiers);
184
194 tls_cert_verifiers_t *verifiers,
195 const char *store_file,
197
207 tls_cert_verifiers_t *verifiers,
208 const char *store_file,
210
211#endif /* tls_cert_h */
apr_size_t size
int apr_status_t
Definition apr_errno.h:44
const char * s
Definition apr_strings.h:95
apr_pool_t * p
Definition md_event.c:32
A structure to store information for each virtual server.
Definition httpd.h:1322
tls_data_t pkey_pem
Definition tls_cert.h:26
tls_data_t cert_pem
Definition tls_cert.h:25
apr_pool_t * pool
Definition tls_cert.h:64
apr_hash_t * key2entry
Definition tls_cert.h:66
apr_hash_t * id2entry
Definition tls_cert.h:65
apr_hash_t * file2store
Definition tls_cert.h:136
apr_pool_t * pool
Definition tls_cert.h:135
const char * cert_file
Definition tls_cert.h:33
const char * pkey_pem
Definition tls_cert.h:36
const char * pkey_file
Definition tls_cert.h:34
const char * cert_pem
Definition tls_cert.h:35
apr_pool_t * pool
Definition tls_cert.h:164
tls_cert_root_stores_t * stores
Definition tls_cert.h:165
apr_hash_t * file2verifier
Definition tls_cert.h:166
apr_size_t tls_cert_reg_count(tls_cert_reg_t *reg)
Definition tls_cert.c:254
apr_status_t tls_cert_client_verifiers_get_optional(tls_cert_verifiers_t *verifiers, const char *store_file, const rustls_client_cert_verifier **pverifier)
Definition tls_cert.c:577
apr_status_t tls_cert_root_stores_get(tls_cert_root_stores_t *stores, const char *store_file, const rustls_root_cert_store **pstore)
Definition tls_cert.c:428
int tls_cert_reg_visitor(void *userdata, server_rec *s, const char *id, const char *cert_pem, const rustls_certified_key *certified_key)
Definition tls_cert.h:102
void tls_cert_reg_do(tls_cert_reg_visitor *visitor, void *userdata, tls_cert_reg_t *reg)
Definition tls_cert.c:316
void tls_cert_verifiers_clear(tls_cert_verifiers_t *verifiers)
Definition tls_cert.c:498
apr_status_t tls_cert_reg_get_certified_key(tls_cert_reg_t *reg, server_rec *s, const tls_cert_spec_t *spec, const rustls_certified_key **pckey)
Definition tls_cert.c:266
void tls_cert_root_stores_clear(tls_cert_root_stores_t *stores)
Definition tls_cert.c:420
apr_status_t tls_cert_load_cert_key(apr_pool_t *p, const tls_cert_spec_t *spec, const char **pcert_pem, const rustls_certified_key **pckey)
Definition tls_cert.c:177
apr_status_t tls_cert_to_pem(const char **ppem, apr_pool_t *p, const rustls_certificate *cert)
Definition tls_cert.c:121
apr_status_t tls_cert_load_root_store(apr_pool_t *p, const char *store_file, const rustls_root_cert_store **pstore)
Definition tls_cert.c:333
const char * tls_cert_reg_get_id(tls_cert_reg_t *reg, const rustls_certified_key *certified_key)
Definition tls_cert.c:325
tls_cert_verifiers_t * tls_cert_verifiers_make(apr_pool_t *p, tls_cert_root_stores_t *stores)
Definition tls_cert.c:485
apr_status_t tls_cert_load_pem(apr_pool_t *p, const tls_cert_spec_t *cert, tls_cert_pem_t **ppem)
Definition tls_cert.c:35
tls_cert_reg_t * tls_cert_reg_make(apr_pool_t *p)
Definition tls_cert.c:242
apr_status_t tls_cert_client_verifiers_get(tls_cert_verifiers_t *verifiers, const char *store_file, const rustls_client_cert_verifier **pverifier)
Definition tls_cert.c:569
tls_cert_root_stores_t * tls_cert_root_stores_make(apr_pool_t *p)
Definition tls_cert.c:409