Apache#
Galite sukonfigūruoti Apache httpd naudoti NetHSM per OpenSSL variklį, kuris naudoja NetHSM PKCS#11 modulį.
Sertifikato failas turi būti diske, tačiau privatųjį raktą galima naudoti iš NetHSM.
Visą pavyzdį galima rasti žemiau.
„OpenSSL“ konfigūracija#
Nustatykite OpenSSL variklį vadovaudamiesi OpenSSL variklio sąrankos vadovu. (OpenSSL teikėjai dar nepalaikomi „Apache httpd“.)
Httpd konfigūracija#
Į httpd.conf
pridėkite šias eilutes:
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
turi nurodyti į sertifikato failą diske.
SSLCertificateKeyFile
turėtų būti PKCS#11 URI, nurodantis į privatų raktą, esantį NetHSM.
Pastaba
Sertifikatą reikia sukurti atskirai ir tada įkelti į NetHSM. Jei diske esantis sertifikatas ir NetHSM esantis raktas nesutampa, httpd neįsijungs.
libnethsm_pkcs11 konfigūracija#
slots:
- label: LocalHSM
description: Local HSM (docker)
url: "https://192.168.3.161:8443/api/v1"
operator:
username: "operator"
password: "opPassphrase"
Norėdami apsaugoti slaptažodį, galite jį pateikti per aplinkos kintamąjį (žr. Setup) arba nurodyti jį httpd konfigūracijoje:
SSLCertificateKeyFile "pkcs11:object=webserver;type=private;pin=opPassphrase";
Pavyzdys#
Jei norite eksperimentuoti su pateiktu pavyzdžiu, naudokite git, kad klonuotumėte nethsm-pkcs11 saugyklą ir vykdykite šias komandas:
Įspėjimas
Paleidus generavimo scenarijų ištrinamas webserver
raktas ir jis pakeičiamas nauju.
Sukonfigūruokite tikrą arba konteinerį NetHSM. Daugiau informacijos rasite pradžios vadove.
Jei jūsų NetHSM veikia ne localhost, jums reikės pakeisti curl užklausų URL adresą
container/apache/generate.sh
, kad jis būtų nukreiptas į jūsų NetHSM.Pakeiskite libnethsm_pkcs11 konfigūraciją taip, kad ji atitiktų jūsų NetHSM
container/apache/p11nethsm.conf
.Sukurkite sertifikatą ir raktą.
./container/apache/generate.sh
Pastatykite konteinerį.
docker build -f container/apache/Dockerfile . -t pkcs-httpd
Paleiskite konteinerį.
docker run -p 9443:443 -p 9080:80 pkcs-httpd
Konteinerį bus galima rasti adresu https://localhost:9443/.