Аутентификация клиентского приложения CAC в Python - PullRequest
4 голосов
/ 02 марта 2010

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

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

Какие-либо советы или ресурсы для этого?

Ответы [ 3 ]

4 голосов
/ 03 марта 2010

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

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

0 голосов
/ 27 апреля 2010

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

0 голосов
/ 03 марта 2010

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

...