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>
The SSLCertificateFile must point to a certificate file on the disk.
The SSLCertificateKeyFile should be a PKCS#11 URI pointing to the private key in the NetHSM.
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"
To secure the password you can provide it via an environment variable (see Passwords) or provide it in the httpd configuration:
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.
Configure a NetHSM, either a real one or a container. See the getting-started guide for more information. Besides an administrator, you are going to need an operator account.
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_ACCOUNTjaADMIN_ACCOUNT_PWDcontainer/apache/generate.shnii, etHOSTsisaldab teie NetHSM-i URL-i ja porti,ADMIN_ACCOUNTsisaldab administraatori kasutajanime jaADMIN_ACCOUNT_PWDvastavat parooli. Lisaks konfigureerige OpenSSL PKCS11 mootori absoluutne tee aadressilOPENSSL_PKCS11_ENGINE_PATHja NetHSM PKCS11 raamatukogu absoluutne tee aadressilNETHSM_PKCS11_LIBRARY_PATH.Create a NetHSM PKCS11 configuration file in one of the known locations, e.g.,
/etc/nitrokey/p11nethsm.conf. It must have configured an operator account and use the same NetHSM instance specified in the generate script before.Uuendage PKCS11 konfiguratsiooni aadressil
container/apache/p11nethsm.confoma 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.