Аутентификация клиентского приложения CAC в Python

Я создаю приложение Python для извлечения данных с веб-сайта. Приложение должно пройти аутентификацию (HTTPS/SSL) с помощью карты CAC и PIN-кода, чтобы выполнять запросы.

Верен ли я в своих предположениях, что вы не можете получить закрытый ключ с карты CAC, и поэтому я застрял с использованием оболочки PKCS # 11, например PyKCS?

Любые советы или ресурсы для этого?


person Präriewolf    schedule 02.03.2010    source источник


Ответы (3)


Ключи аутентификации и подписи обычно генерируются на карте и не могут быть извлечены, в отличие от ключей шифрования, которые могут/должны быть где-то депонированы.

См. Нужна помощь с использованием M2Crypto.Engine для доступа к USB-токену для примера с M2Crypto, который объясняет, как использовать смарт-карту через PKCS#11 для доступа к веб-сайту в python.

person Martin Paljak    schedule 03.03.2010

Ты прав. В этом вся цель смарт-карты — хранить закрытые ключи в безопасности. Если ваше приложение работает в Windows, вы можете попробовать использовать WININET.DLL для вашего подключения, с правильным установленным промежуточным программным обеспечением, оно должно автоматически обрабатывать аутентификацию на сайте с поддержкой CAC.

person Vlad    schedule 02.03.2010

Я бы попытался выяснить, является ли сертификат ECA подходящей заменой. Например, есть сайты, которые принимают сертификаты CAC и ECA. Для получения дополнительной информации: http://iase.disa.mil/pki/eca/certificate.html

person Raymond    schedule 27.04.2010