Apache#
Voit määrittää Apache httpd käyttämään NetHSM:ää OpenSSL-moottorin kautta, joka käyttää NetHSM:n PKCS#11-moduulia.
Varmentetiedoston on oltava levyllä, mutta yksityistä avainta voidaan käyttää NetHSM:stä.
Täydellinen esimerkki on saatavilla alla.
OpenSSL-konfiguraatio#
Määritä OpenSSL-moottori noudattamalla OpenSSL-moottorin asennusopasta. (Apache httpd ei vielä tue OpenSSL-palvelimia.)
Httpd-konfigurointi#
Lisää seuraavat rivit osoitteeseen httpd.conf
:
Listen 443
#...
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
#...
<VirtualHost *:443>
DocumentRoot /usr/local/apache2/htdocs
SSLEngine on
SSLCertificateFile /certs/certificate.pem
SSLCertificateKeyFile "pkcs11:object=webserver"
ErrorLog /tmp/a-error.log
CustomLog /tmp/a-access.log combined
</VirtualHost>
Osoitteen SSLCertificateFile
on osoitettava levyllä olevaan varmennetiedostoon.
SSLCertificateKeyFile
pitäisi olla PKCS#11 URI, joka osoittaa NetHSM:ssä olevaan yksityiseen avaimeen.
Muista
Varmenne on luotava erikseen ja ladattava sitten NetHSM:ään. Jos levyllä oleva varmenne ja NetHSM:ssä oleva avain eivät täsmää, httpd ei käynnisty.
libnethsm_pkcs11 Konfigurointi#
slots:
- label: LocalHSM
description: Local HSM (docker)
url: "https://192.168.3.161:8443/api/v1"
operator:
username: "operator"
password: "opPassphrase"
Voit suojata salasanan antamalla sen ympäristömuuttujalla (katso Setup) tai antamalla sen httpd:n asetuksissa:
SSLCertificateKeyFile "pkcs11:object=webserver;type=private;pin=opPassphrase";
Esimerkki#
Jos haluat kokeilla annettua esimerkkiä käytä git-ohjelmaa kloonataksesi nethsm-pkcs11-arkiston ja suorita seuraavat komennot:
Varoitus
Generointiskriptin suorittaminen poistaa avaimen webserver
ja korvaa sen.
Määritä NetHSM, joko oikea tai kontti. Katso lisätietoja osoitteesta getting-started guide.
Jos NetHSM ei toimi localhostissa, sinun on muutettava curl-pyyntöjen URL-osoite osoitteessa
container/apache/generate.sh
osoittamaan NetHSM:ääsi.Muuta libnethsm_pkcs11-konfiguraatio vastaamaan NetHSM:ääsi osoitteessa
container/apache/p11nethsm.conf
.Luo varmenne ja avain.
./container/apache/generate.sh
Rakenna säiliö.
docker build -f container/apache/Dockerfile . -t pkcs-httpd
Käynnistä säiliö.
docker run -p 9443:443 -p 9080:80 pkcs-httpd
Kontti on saatavilla osoitteessa https://localhost:9443/.