小编Mli*_*ier的帖子

如何使用带有 python 的智能卡发出 TLS 请求?

我尝试使用 python 库“请求”与受智能卡保护的网站进行通信。这意味着 SSL 中的强身份验证:您必须提供客户端证书(证书和私钥)。

由于我使用的是智能卡,因此无法读取作为正常保护的私钥(仅模数)。我可以使用 python 库 PyKCS11 读取智能卡:一旦给出密码,所有证书、公钥和私钥模数。

如何混合请求和 PyKCS11 ?
如何使用智能卡中的客户端证书发出 SSL 请求?

编辑 2017/08/04

在我的 Mac 上:

  • 酿造安装openssl
  • 酿造安装opensc
  • 酿造安装engine_pkcs11
  • openssl
    • 引擎动态 -pre SO_PATH:/usr/local/Cellar/engine_pkcs11/0.1.8/lib/engines/engine_pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/local/lib/ (我特定的 Pkcs11 库)。dylib
      • 已加载:(pkcs11) pkcs11 引擎
    • s_client -engine pkcs11 -key '(slot):(id)' -keyform engine -cert 'pem.cer' -connect (host):443 -state -debug
      • SSL 握手正常

我现在的问题是 pyOpenSSl 在 API 中没有选择引擎的功能(如 pkcs11)。所以我被阻止了。我不能使用蟒蛇。

python ssl pkcs#11 python-requests

7
推荐指数
1
解决办法
2633
查看次数

标签 统计

pkcs#11 ×1

python ×1

python-requests ×1

ssl ×1