Генерация URL PKCS#11#

Различные приложения используют openssl для работы, например, с сертификатами TLS. Эта концепция в основном позволяет просто заменить путь к файлу (для секрета) на так называемый PKCS#11 URL, чтобы использовать секрет из, например, Nitrokey.

Подготовка#

  • убедитесь, что openssl установлен

  • обеспечить openssl возможность использования механизма PKCS#11, установив libengine-pkcs11-openssl.

  • установите opensc и gnutls-bin для необходимых инструментов

  • убедитесь, что необходимые ключи и/или сертификаты доступны на вашем Nitrokey, используя pkcs15-tool -D.

  • если вы хотите использовать ключи/механизмы ECC через libengine-pkcs11-openssl, вам’придется убедиться, что его версия не ниже 0.4.10

Список и генерация URL-адресов PKCS#11#

Используйте следующую команду, чтобы получить список доступных токенов (Nitrokeys):

p11tool --list-tokens

Выберите URL-адрес токена (Nitrokey), для которого вы хотите сгенерировать URL-токены, и используйте его следующим образом:

p11tool --list-all <token-url>

# example:
# p11tool --list-all "pkcs11:model=PKCS%2315%20emulated;manufacturer=www.CardContact.de;serial=DENK0123123;token=UserPIN%20%28SmartCard-HSM%29"

Если вы посмотрите на хвост URL, то узнаете: label, id и многое другое, они могут быть частично удалены, пока необходимые объекты могут быть однозначно идентифицированы по результирующему URL, см TLS Apache2 Configuration для примера использования только id.