Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
swgatling [2024/11/13 18:15] beckmanf created |
swgatling [2024/11/13 18:37] (current) beckmanf add |
||
---|---|---|---|
Line 9: | Line 9: | ||
=== Gatling and variants === | === Gatling and variants === | ||
- | The basic idea of gatling is to have statically linked executable which very small. There are some gatling variants: | + | The basic idea of gatling is to have a small statically linked executable. There are some gatling variants: |
* gatling - a http only webserver | * gatling - a http only webserver | ||
Line 17: | Line 17: | ||
=== Required Components === | === Required Components === | ||
- | The gatling webserver without https just needs dietlibc and libowfat. For https you need either openssl or mbedtls. While openssl is more widely used, mbedtls promises to be smaller. | + | The gatling webserver without https just needs dietlibc and libowfat. For https you need in addition either openssl or mbedtls. While openssl is more widely used, mbedtls promises to be smaller. |
* [[https://www.fefe.de/gatling/|gatling]] - the webserver | * [[https://www.fefe.de/gatling/|gatling]] - the webserver | ||
- | * [[https://www.fefe.de/dietlibc/|dietlibc]] - a libc replacement which minimum size in mind | + | * [[https://www.fefe.de/dietlibc/|dietlibc]] - a libc replacement with minimum size in mind |
* [[https://www.fefe.de/libowfat/|libowfat]] - some socket/unix functions | * [[https://www.fefe.de/libowfat/|libowfat]] - some socket/unix functions | ||
* [[https://www.trustedfirmware.org/projects/mbed-tls/|mbedtls]] - a small size tls/ssl library | * [[https://www.trustedfirmware.org/projects/mbed-tls/|mbedtls]] - a small size tls/ssl library | ||
Line 26: | Line 26: | ||
+ | === Creating a x.509 certificate for localhost === | ||
+ | [[https://letsencrypt.org/docs/certificates-for-localhost/|Letsencrypt]] describes how to create self signed certificates for development with https for tls/ssl. The following code creates a self signed x.509 certificate and a private key. The gatling server searches for a file "server.pem" which must contain the certificate "localhost.crt" and the private key "localhost.key". | ||
+ | |||
+ | <code> | ||
+ | openssl req -x509 -out localhost.crt -keyout localhost.key \ | ||
+ | -newkey rsa:2048 -nodes -sha256 \ | ||
+ | -subj '/CN=localhost' -extensions EXT -config <( \ | ||
+ | printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth") | ||
+ | |||
+ | cp localhost.crt server.pem | ||
+ | cat localhost.key >> server.pem | ||
+ | </code> | ||