Jump to content

Recommended Posts

Posted

Привет всем,

Система:

uname -ra
Linux ХХХХ-GW-B 5.10.0-10-amd64 #1 SMP Debian 5.10.84-1 (2021-12-08) x86_64 GNU/Linux

Проблема:

Для подключения VPN я использую openconnect VPN client с авторизацией через SmartCard с клиентским сертификатом.
Если используется SmartCard (manufacturerID: SafeNet, Inc.; model: eToken) подключенный через  Alcor Micro AU9540 reader, то всё в порядке, соединение устанавливается.
Если же я использую USB SafeNet eToken 5300 (manufacturerID: Gemalto; model: ID Prime MD), то попытки openconnect установить соединение падают с ошибкой:

 

Error signing test data with private key: PKCS #11 error.
Loading certificate failed. Aborting.
Failed to complete authentication

С дебагером эта ошибка выглядит так (ошибка в модуле PKCS11):
 

[2022-08-10 11:55:47]  Returned:  0 CKR_OK
[2022-08-10 11:55:47]  gnutls[2]: p11: Initializing module: opensc-pkcs11.module.ORIG
[2022-08-10 11:55:47]  P:37956; T:0x139638815061248 11:55:47.201 [opensc-pkcs11] pkcs11-global.c:402:C_GetInfo: C_GetInfo()
[2022-08-10 11:55:47]  gnutls[2]: p11: module opensc-pkcs11.module.ORIG is already loaded.
[2022-08-10 11:55:47]  gnutls[3]: ASSERT: ../../lib/pkcs11.c[auto_load]:951
[2022-08-10 11:55:47]  gnutls[2]: Cannot load PKCS #11 module: opensc-pkcs11.module.ORIG
[2022-08-10 11:55:47]  gnutls[2]: p11: Initializing module: softhsm2
[2022-08-10 11:55:47]  gnutls[3]: ASSERT: ../../lib/pkcs11.c[compat_load]:896
[2022-08-10 11:55:47]  gnutls[2]: p11: No login requested.
[2022-08-10 11:55:47]  Trying PKCS#11 key URL pkcs11:model=ID%20Prime%20MD;manufacturer=Gemalto;serial=09E850133ABF3E39;token=Pavel;id=%68%35%73%BD%14%9B%F5%37%02%8B%BF%CE%48%FB%71%38%B8%59%91%3E;object=EFF270AEC07D70DA;type=private
[2022-08-10 11:55:47]  PIN required for Pavel 
[2022-08-10 11:55:48]  Enter PIN:
[2022-08-10 11:55:54]  gnutls[2]: p11: Login result = ok (0)
[2022-08-10 11:55:54]  gnutls[3]: ASSERT: ../../lib/pkcs11_privkey.c[gnutls_pkcs11_privkey_import_url]:561
[2022-08-10 11:55:54]  gnutls[2]: p11: No login requested.
[2022-08-10 11:55:54]  Trying PKCS#11 key URL pkcs11:model=ID%20Prime%20MD;manufacturer=Gemalto;serial=09E850133ABF3E39;token=Pavel;id=%68%35%73%BD%14%9B%F5%37%02%8B%BF%CE%48%FB%71%38%B8%59%91%3E;object=EFF270AEC07D70DA;type=private
[2022-08-10 11:55:54]  gnutls[2]: p11: Login result = ok (0)
[2022-08-10 11:55:56]  gnutls[3]: ASSERT: ../../lib/pkcs11_privkey.c[gnutls_pkcs11_privkey_import_url]:561
[2022-08-10 11:55:56]  Trying PKCS#11 key URL pkcs11:model=ID%20Prime%20MD;manufacturer=Gemalto;serial=09E850133ABF3E39;token=Pavel;id=%68%35%73%BD%14%9B%F5%37%02%8B%BF%CE%48%FB%71%38%B8%59%91%3E;type=private
[2022-08-10 11:55:56]  gnutls[2]: p11: Login result = ok (0)
[2022-08-10 11:55:56]  Using PKCS#11 key pkcs11:model=ID%20Prime%20MD;manufacturer=Gemalto;serial=09E850133ABF3E39;token=Pavel;id=%68%35%73%BD%14%9B%F5%37%02%8B%BF%CE%48%FB%71%38%B8%59%91%3E;type=private
[2022-08-10 11:55:56]  gnutls[3]: ASSERT: ../../lib/pkcs11_privkey.c[_gnutls_pkcs11_privkey_sign]:416
[2022-08-10 11:56:27]  gnutls[3]: ASSERT: ../../lib/privkey.c[privkey_sign_and_hash_data]:1300
[2022-08-10 11:56:27]  Error signing test data with private key: PKCS #11 error.  
[2022-08-10 11:56:27]  Loading certificate failed. Aborting. <-------- ошибка тут
[2022-08-10 11:56:27]  Failed to complete authentication

 

И USB-токен, и смарт-карта имеют одинаковые сертификаты/ключи из одного и того же файла p12. Сначала они были инициализированы, а затем был установлен файл p12.

Используя pkcs11-dump, я обнаружил, что единственная разница между USB-токеном и смарт-картой заключается в значении атрибута CKA_SIGN_RECOVER для закрытого ключа:

CKA_SIGN_RECOVER: TRUE — для смарт-карты

CKA_SIGN_RECOVER: FALSE — для USB-токена

Поскольку атрибут CKA_MODIFIABLE имеет значение TRUE для обоих токенов, я ищу способ изменить значение CKA_SIGN_RECOVER для USB-токена (согласно документам, это возможно). Потом я попытаюсь опять подключиться с openconnect.

Есть идеи как сделать?

Заранее спасибо,
 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.