Я создаю приложение Python для получения по запросу данных из веб-сайта. Приложение должно перейти проверку подлинности (HTTPS/SSL) с картой CAC и контактом для выполнения запросов.
Я корректен в своих предположениях, что Вы не можете получить закрытый ключ от карты CAC и поэтому застреваете с помощью Обертки № 11 PKCS как PyKCS?
Какие-либо подсказки или ресурсы для движения об этом?
Authentication и ключи подписи обычно генерируются на карте и не извлекаются, в отличие от ключей шифрования, которые можно / нужно где-то депонировать.
См. Требуется помощь с использованием M2Crypto.Engine для доступа к USB-токену для примера с M2Crypto, который объясняет, как использовать смарт-карту через PKCS # 11 для доступа к веб-сайту на Python.
Вы правы. В этом вся цель смарт-карты - хранить секретные ключи в безопасности. Если ваше приложение работает в Windows, вы можете попробовать использовать WININET.DLL для подключения, при установленном правильном промежуточном программном обеспечении он должен автоматически обрабатывать аутентификацию на сайте с включенным CAC.
Я бы попытался выяснить, является ли сертификат ECA подходящей заменой. Например, есть сайты, которые принимают сертификаты CAC и ECA. Для получения дополнительной информации: http://iase.disa.mil/pki/eca/certificate.html