我正在构建一个Python应用程序,从网站中提取数据。该应用程序必须使用CAC卡和密码进行身份验证(HTTPS / SSL)以发出请求。
我的假设是正确的吗?即您无法从CAC卡中检索私钥,因此必须使用PKCS#11包装器,例如PyKCS?
有关如何处理此问题的任何提示或资源吗?
我的假设是正确的吗?即您无法从CAC卡中检索私钥,因此必须使用PKCS#11包装器,例如PyKCS?
有关如何处理此问题的任何提示或资源吗?
认证和签名密钥通常在卡上生成,并且不可提取,而加密密钥可以/应该被托管在某处。
请参见需要使用M2Crypto.Engine访问USB令牌的帮助,其中包含了一个使用PKCS#11通过智能卡进行Python网站访问的M2Crypto示例。
我会尝试找出ECA证书是否是一个合适的替代品。例如,有些网站接受CAC和ECA证书。更多信息请参见:http://iase.disa.mil/pki/eca/certificate.html
您说得对。这就是智能卡的全部目的,保护私钥的安全。如果您的应用程序在Windows上运行,可以尝试使用WININET.DLL进行连接。如果正确的中间件已安装,则应自动处理CAC启用站点的身份验证。