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.

  1. Konfigureerige NetHSM, kas tõeline või konteiner. Lisateavet leiate getting-started guide.

  2. 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.

  3. Muutke libnethsm_pkcs11 konfiguratsiooni vastavalt teie NetHSMile aadressil container/apache/p11nethsm.conf.

  4. Sertifikaadi ja võtme genereerimine.

./container/apache/generate.sh
  1. Ehitage konteiner.

docker build -f container/apache/Dockerfile . -t pkcs-httpd
  1. Käivitage konteiner.

docker run -p 9443:443 -p 9080:80 pkcs-httpd

Konteiner on saadaval aadressil https://localhost:9443/.