1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-05 16:55:50 +03:00

17 Commits

Author SHA1 Message Date
Stefan Eissing
6b5e7d4588 *) mod_md: added support for managing certificates via a
local tailscale demon for users of that secure networking.
     This gives trusted certificates for tailscale  assigned
     domain names in the *.ts.net space.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900313 13f79535-47bb-0310-9956-ffa450edef68
2022-04-27 11:48:36 +00:00
Stefan Eissing
533a895c1f *) mod_md: a possible NULL pointer deref was fixed in
the JSON code for persisting time periods (start+end).
     Fixes #282 on mod_md's github.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900145 13f79535-47bb-0310-9956-ffa450edef68
2022-04-22 08:45:31 +00:00
Stefan Eissing
c07608101f *) mod_md: fixed a potential null pointer dereference if ACME/OCSP
server returned 2xx responses without content type. Reported by chuangwen.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1891470 13f79535-47bb-0310-9956-ffa450edef68
2021-07-12 07:52:28 +00:00
Stefan Eissing
e3928f2b27 *) mod_md: v2.4.0 with improvements and bugfixes
- MDPrivateKeys allows the specification of several types. Beside "RSA" plus 
     optional key lengths elliptic curves can be configured. This means you can 
     have multiple certificates for a Managed Domain with different key types.
     With ```MDPrivateKeys secp384r1 rsa2048``` you get one ECDSA  and one RSA 
     certificate and all modern client will use the shorter ECDSA, while older 
     client will get the RSA certificate.
     Many thanks to @tlhackque who pushed and helped on this.
     - Support added for MDomains consisting of a wildcard. Configuring 
     ```MDomain *.host.net``` will match all virtual hosts matching that pattern 
     and obtain one certificate for it (assuming you have 'dns-01' challenge 
     support configured). Addresses #239.
     - Removed support for ACMEv1 servers. The only known installation used to 
     be Let's Encrypt which has disabled that version more than a year ago for 
     new accounts.
     - Andreas Ulm (<https://github.com/root360-AndreasUlm>) implemented the 
     ```renewing``` call to ```MDMessageCmd``` that can deny a certificate 
     renewal attempt. This is useful in clustered installations, as 
     discussed in #233).
     - New event ```challenge-setup:<type>:<domain>```, triggered when the 
     challenge data for a domain has been created. This is invoked before the 
     ACME server is told to check for it. The type is one of the ACME challenge 
     types. This is invoked for every DNS name in a MDomain.
     - The max delay for retries has been raised to daily (this is like all 
     retries jittered somewhat to avoid repeats at fixed time of day).
     - Certain error codes reported by the ACME server that indicate a problem 
     with the configured data now immediately switch to daily retries. For 
     example: if the ACME server rejects a contact email or a domain name, 
     frequent retries will most likely not solve the problem. But daily retries 
     still make sense as there might be an error at the server and un-supervised 
     certificate renewal is the goal. Refs #222.
     - Test case and work around for domain names > 64 octets. Fixes #227.
     When the first DNS name of an MD is longer than 63 octets, the certificate
     request will not contain a CN field, but leave it up to the CA to choose one.
     Currently, Lets Encrypt looks for a shorter name in the SAN list given and
     fails the request if none is found. But it is really up to the CA (and what
     browsers/libs accept here) and may change over the years. That is why
     the decision is best made at the CA.
     - Retry delays now have a random +/-[0-50]% modification applied to let 
     retries from several servers spread out more, should they have been 
     restarted at the same time of day.
     - Fixed several places where the 'badNonce' return code from an ACME server 
     was not handled correctly. The test server 'pebble' simulates this behaviour 
     by default and helps nicely in verifying this behaviour. Thanks, pebble!
     - Set the default `MDActivationDelay` to 0. This was confusing to users that
     new certificates were deemed not usably before a day of delay. When clocks are
     correct, using a new certificate right away should not pose a problem.
     - When handling ACME authorization resources, the module no longer requires 
     the server to return a "Location" header, as was necessary in ACMEv1. 
     Fixes #216.
     - Fixed a theoretical uninitialized read when testing for JSON error responses 
     from the ACME CA. Reported at <https://bz.apache.org/bugzilla/show_bug.cgi?id=64297>.
     - ACME problem reports from CAs that include parameters in the Content-Type 
     header are handled correctly. (Previously, the problem text would not be 
     reported and retries could exist CA limits.)
     - Account Update transactions to V2 CAs now use the correct POST-AS-GET method.  
     Previously, an empty JSON object was sent - which apparently LE accepted, 
     but others reject.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1887337 13f79535-47bb-0310-9956-ffa450edef68
2021-03-08 18:05:50 +00:00
Giovanni Bechis
b7ba286b6e Add error checks in md_json_readb
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1878462 13f79535-47bb-0310-9956-ffa450edef68
2020-06-04 07:04:09 +00:00
Stefan Eissing
77c96847ce *) mod_md: Adding the several new features.
The module offers an implementation of OCSP Stapling that can replace fully or
     for a limited set of domains the existing one from mod_ssl. OCSP handling
     is part of mod_md's monitoring and message notifications. If can be used
     for sites that do not have ACME certificates.
     The url for a CTLog Monitor can be configured. It is used in the server-status
     to link to the external status page of a certicate.
     The MDMessageCmd is called with argument "installed" when a new certificate
     has been activated on server restart/reload. This allows for processing of
     the new certificate, for example to applications that require it in different
     locations or formats.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1868506 13f79535-47bb-0310-9956-ffa450edef68
2019-10-16 12:31:43 +00:00
Stefan Eissing
2498e69562 *) mod_md: bringing over v2.0.6 from github.
- supports the ACMEv2 protocol
     - supports the new challenge method 'tls-alpn-01' 
     - supports command configuration to setup/teardown 'dns-01' challenges
     - supports wildcard certificates when dns challenges are configured
     - ACMEv2 is the new default and will be used on the next certificate renewal,
       unless another MDCertificateAuthority is configured
     - challenge type 'tls-sni-01' has been removed as CAs do not offer this any longer
     - a domain exposes its status at https://<domain>/.httpd/certificate-status
     - Managed Domains are now in Apache's 'server-status' page
     - A new handler 'md-status' exposes verbose status information in JSON format
     - new directives "MDCertificateFile" and "MDCertificateKeyFile" to configure a
       Managed Domain that uses static files. Auto-renewal is turned off for those.
     - new MDMessageCmd that is invoked on several events: 'renewed', 'expiring' and
       'errored'. New 'MDWarnWindow' directive to configure when expiration warnings
       shall be issued.
     - ACMEv2 endpoints use the GET via empty POST way of accessing resources, see
       announcement by Let's Encrypt: 
       https://community.letsencrypt.org/t/acme-v2-scheduled-deprecation-of-unauthenticated-resource-gets/74380



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1862013 13f79535-47bb-0310-9956-ffa450edef68
2019-06-24 16:04:32 +00:00
Yann Ylavic
6a0165dc37 Ignore jansson.h's -Wunused-function for GCC too.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1827373 13f79535-47bb-0310-9956-ffa450edef68
2018-03-20 22:46:01 +00:00
Yann Ylavic
c42ef53578 #pragma GCC diagnostic push/pop exist in gcc >= 4.6 only.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1827372 13f79535-47bb-0310-9956-ffa450edef68
2018-03-20 22:39:48 +00:00
Stefan Eissing
48bb2db6fb On the trunk:
mod_md:  removing comments that documented that greenbytes has untransferable copyright to the sources. The rights, of course, remain unaffected, but maybe some people can sleep better.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821374 13f79535-47bb-0310-9956-ffa450edef68
2018-01-17 14:50:58 +00:00
Stefan Eissing
0397f6a888 On the trunk:
mod_md: reverses most of v1.0.5 optimization of post_config init, so that
     mod_ssl can ask for certiticates without crashing.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1818792 13f79535-47bb-0310-9956-ffa450edef68
2017-12-20 13:53:22 +00:00
Jim Jagielski
8dca7c2b2f "It is better to light a candle than curse the darkness."
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1818308 13f79535-47bb-0310-9956-ffa450edef68
2017-12-15 17:36:05 +00:00
Stefan Eissing
783e43fa9f spelling fixes from Josh Soref via github
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1816055 13f79535-47bb-0310-9956-ffa450edef68
2017-11-22 13:28:28 +00:00
Stefan Eissing
a8d21435e3 On the trunk:
mod_md: v0.9.9, fix for applying challenge type based on available ports. 



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1811082 13f79535-47bb-0310-9956-ffa450edef68
2017-10-04 14:55:26 +00:00
Yann Ylavic
21857e40fa Follow up to r1804123 r1809633.
Silence "-Wunknown-pragmas" on GCC...


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1810723 13f79535-47bb-0310-9956-ffa450edef68
2017-10-03 09:26:47 +00:00
Stefan Eissing
4ee5a66bd6 mod_md: v0.6.0 from github
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/trunk-md@1804424 13f79535-47bb-0310-9956-ffa450edef68
2017-08-08 13:50:20 +00:00
Stefan Eissing
30763980f9 first configure+compile version
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/trunk-md@1804123 13f79535-47bb-0310-9956-ffa450edef68
2017-08-04 13:47:25 +00:00