kore/examples
Joris Vink c78535aa5d Add acmev2 (RFC8555) support to Kore.
A new acme process is created that communicates with the acme servers.

This process does not hold any of your private keys (no account keys,
no domain keys etc).

Whenever the acme process requires a signed payload it will ask the keymgr
process to do the signing with the relevant keys.

This process is also sandboxed with pledge+unveil on OpenBSD and seccomp
syscall filtering on Linux.

The implementation only supports the tls-alpn-01 challenge. This means that
you do not need to open additional ports on your machine.

http-01 and dns-01 are currently not supported (no wildcard support).

A new configuration option "acme_provider" is available and can be set
to the acme server its directory. By default this will point to the
live letsencrypt environment:
    https://acme-v02.api.letsencrypt.org/directory

The acme process can be controlled via the following config options:
  - acme_root (where the acme process will chroot/chdir into).
  - acme_runas (the user the acme process will run as).

  If none are set, the values from 'root' and 'runas' are taken.

If you want to turn on acme for domains you do it as follows:

domain kore.io {
	acme yes
}

You do not need to specify certkey/certfile anymore, if they are present
still
they will be overwritten by the acme system.

The keymgr will store all certificates and keys under its root
(keymgr_root), the account key is stored as "/account-key.pem" and all
obtained certificates go under "certificates/<domain>/fullchain.pem" while
keys go under "certificates/<domain>/key.pem".

Kore will automatically renew certificates if they will expire in 7 days
or less.
2019-11-06 19:43:48 +01:00
..
async-curl Adjust for new kore_curl_init() 2019-10-21 21:20:16 +02:00
cookies Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
cpp Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
generic Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
headers Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
integers Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
json Change kore_json_find() to operate on a kore_json_item. 2019-10-25 12:27:16 +02:00
json_yajl Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
jsonrpc Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
memtag Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
messaging Add acmev2 (RFC8555) support to Kore. 2019-11-06 19:43:48 +01:00
nohttp Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
parameters Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
pgsql Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
pgsql-sync Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
pipe_task Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
python-async Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
python-echo Rework pysocket async/await. 2019-03-13 11:07:15 +01:00
python-pgsql Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
sse Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
tasks Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
tls-proxy Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
upload Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
video_stream Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
websocket Allow multiple binds on new server directive. 2019-09-27 20:00:35 +02:00
Makefile add async-curl example to the makefile 2019-04-30 20:38:12 +02:00