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 Paroolid) 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. Lisaks administraatorile on vaja ka operaatorikontot.
Lae alla ja paigalda uusim versioon nethsm-pkcs11 draiverist , mis on saadaval siit.
Paigaldage OpenSSL PKCS11 mootor, nagu on kirjeldatud OpenSSL Manual. Konfigureerimisfaili ei ole vaja luua.
Kohandage muutujaid
HOST
,ADMIN_ACCOUNT
jaADMIN_ACCOUNT_PWD
container/apache/generate.sh
nii, etHOST
sisaldab teie NetHSM-i URL-i ja porti,ADMIN_ACCOUNT
sisaldab administraatori kasutajanime jaADMIN_ACCOUNT_PWD
vastavat parooli. Lisaks konfigureerige OpenSSL PKCS11 mootori absoluutne tee aadressilOPENSSL_PKCS11_ENGINE_PATH
ja NetHSM PKCS11 raamatukogu absoluutne tee aadressilNETHSM_PKCS11_LIBRARY_PATH
.Looge NetHSM PKCS11 konfiguratsioonifail ühes tuntud asukohas, nt
/etc/nitrokey/p11nethsm.conf
. See peab olema konfigureeritud operaatorikonto ja kasutama sama NetHSMi instantsi, mis on eelnevalt generate scriptis määratud.Uuendage PKCS11 konfiguratsiooni aadressil
container/apache/p11nethsm.conf
oma NetHSM-i URL-i ja kehtivate operaatorite volitustega.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
Apache’i testleht on kättesaadav aadressil https://localhost:9443/. Pange tähele, et teie veebilehitseja hoiatab teid loodetavasti, et veebilehtede sertifikaat on isesigneeritud.