Сконфигурируйте веб-сервер Apache2, используя ошибку mod gnutls
Служба apache2 mod_gnutls https на самом деле удается успешно запустить, но продолжает возвращать эту ошибку при попытке прочитать закрытый ключ из URL-адреса pkcs11:
[Wed Jan 20 13:26:25.268236 2016] [gnutls:emerg] [pid 5232:tid 140334984677248] GnuTLS: Failed to Re-Import Private Key URL 'pkcs11:model=SoftHSM;manufacturer=SoftHSM;serial=1;token=GnuTLS-Test;id=%3e%2d%3d%e4%2b%8b%a0%7c%7c%56%08%95%aa%aa%47%db%15%a2%b9%84;object=GnuTLSTest2;object-type=private': (-300) PKCS #11 error.
используя apache2 2.4.x с mod-gnutls 0.7.2 + gnutls 3.3.x
ОС: Ubuntu Vivid
Забавно то, что он не возвращает такую ошибку для сертификата, а только закрытый ключ.
Так есть идеи?
Обновить:
Вот файл конфигурации из mod_gnutls.conf:
<IfModule mod_gnutls.c>
# The default method is to use a DBM backed cache. It's not super fast, but
# it's portable and doesn't require another server to be running like
# memcached
#GnuTLSP11Module /usr/lib/softhsm/libsofthsm.so
#GnuTLSPIN 1234
GnuTLSCache dbm /var/cache/apache2/gnutls_cache
# mod_gnutls can optionaly use a memcached server to store SSL sessions.
# This is useful in a cluster environment, where you want all your servers to
# share a single SSL session cache
#GnuTLSCache memcache "127.0.0.1 server2.example.com server3.example.com"
GnuTLSCacheTimeout 600
<VirtualHost _default_:443>
DocumentRoot "/var/www/htdocs"
ServerName localhost
ServerAdmin youremail@example.org
ErrorLog "/var/log/apache2/error_log"
TransferLog "/var/log/apache2/access_log"
GnuTLSEnable on
GnuTLSSessionTickets on
GnuTLSPriorities NORMAL
GNUTLSExportCertificates on
GnuTLSPIN 1234
GnuTLSCertificateFile pkcs11:model=SoftHSM;manufacturer=SoftHSM;serial=1;token=GnuTLS-Test;id=%3e%2d%3d%e4%2b%8b%a0%7c%7c%56%08%95%aa%aa%47%db%15%a2%b9%84;object=GnuTLSTest;object-type=cert
GnuTLSKeyFile pkcs11:model=SoftHSM;manufacturer=SoftHSM;serial=1;token=GnuTLS-Test;id=%3e%2d%3d%e4%2b%8b%a0%7c%7c%56%08%95%aa%aa%47%db%15%a2%b9%84;object=GnuTLSTest2;object-type=private
</VirtualHost>
</IfModule>
1 ответ
Решение
Ваша библиотека pkcs11 закомментирована:
GnuTLSP11Module /usr/lib/softhsm/libsofthsm.so
так mod_gnutls
не могу прочитать ключ на HSM. Вы также можете раскомментировать штифт:
GnuTLSPIN 1234
Очевидно, измените его на выбранный вами PIN-код.