]> granicus.if.org Git - apache/blob - modules/md/mod_md.h
5ff8f5221c398da057197a9852f1cd8f8f4e07ba
[apache] / modules / md / mod_md.h
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
17 #ifndef mod_md_mod_md_h
18 #define mod_md_mod_md_h
19
20 #include <openssl/evp.h>
21 #include <openssl/x509v3.h>
22
23 struct server_rec;
24
25 APR_DECLARE_OPTIONAL_FN(int, 
26                         md_is_managed, (struct server_rec *));
27
28 /**
29  * Get the certificate/key for the managed domain (md_is_managed != 0).
30  * 
31  * @return APR_EAGAIN if the real certificate is not available yet
32  */
33 APR_DECLARE_OPTIONAL_FN(apr_status_t, 
34                         md_get_certificate, (struct server_rec *, apr_pool_t *,
35                                              const char **pkeyfile, 
36                                              const char **pcertfile));
37
38 APR_DECLARE_OPTIONAL_FN(int, 
39                         md_is_challenge, (struct conn_rec *, const char *,
40                                           X509 **pcert, EVP_PKEY **pkey));
41
42 /* Backward compatibility to older mod_ssl patches, will generate
43  * a WARNING in the logs, use 'md_get_certificate' instead */
44 APR_DECLARE_OPTIONAL_FN(apr_status_t, 
45                         md_get_credentials, (struct server_rec *, apr_pool_t *,
46                                              const char **pkeyfile, 
47                                              const char **pcertfile, 
48                                              const char **pchainfile));
49
50 #endif /* mod_md_mod_md_h */