Apache#
Saate konfigureerida Apache httpd kasutama NetHSM-i OpenSSL-mootori kaudu, mis kasutab siis NetHSM-i PKCS#11 moodulit.
Sertifikaadifail peab olema kettal, kuid privaatvõtit saab kasutada NetHSMist.
Täielik näide on kättesaadav allpool.
OpenSSL konfiguratsioon#
Seadistage OpenSSL mootor, järgides OpenSSL mootori seadistamise juhendit. (OpenSSL pakkujad ei toeta veel Apache httpd-d.)
Httpd konfiguratsioon#
Lisage järgmised read oma 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>
SSLCertificateFile
peab osutama kettal asuvale sertifikaadifailile.
SSLCertificateKeyFile
peaks olema PKCS#11 URI, mis osutab NetHSMis olevale privaatvõtmele.
Märkus
Te peate sertifikaadi eraldi genereerima ja seejärel selle NetHSMi üles laadima. Kui kettal olev sertifikaat ja NetHSMis olev võti ei ühti, ei käivitu httpd.
libnethsm_pkcs11 Konfiguratsioon#
slots:
- label: LocalHSM
description: Local HSM (docker)
url: "https://192.168.3.161:8443/api/v1"
operator:
username: "operator"
password: "opPassphrase"
Salasõna kindlustamiseks võite selle anda keskkonnamuutuja kaudu (vt Setup) või anda selle httpd konfiguratsioonis:
SSLCertificateKeyFile "pkcs11:object=webserver;type=private;pin=opPassphrase";
Näide#
Kui soovite eksperimenteerida antud näitega kasutage git’i, et kloonida nethsm-pkcs11 repositooriumi ja käivitage järgmised käsud:
Hoiatus
Genereerimise skripti käivitamine kustutab võtme webserver
ja asendab selle.
Konfigureerige NetHSM, kas tõeline või konteiner. Lisateavet leiate getting-started guide.
Kui teie NetHSM ei tööta localhostis, peate muutma curl-päringute URL-i aadressil
container/apache/generate.sh
nii, et see viitaks teie NetHSMile.Muutke libnethsm_pkcs11 konfiguratsiooni vastavalt teie NetHSMile aadressil
container/apache/p11nethsm.conf
.Sertifikaadi ja võtme genereerimine.
./container/apache/generate.sh
Ehitage konteiner.
docker build -f container/apache/Dockerfile . -t pkcs-httpd
Käivitage konteiner.
docker run -p 9443:443 -p 9080:80 pkcs-httpd
Konteiner on saadaval aadressil https://localhost:9443/.