2017-07-29 56 views
3

我试图使用python库“请求”与受智能卡保护的网站进行通信。这意味着对SSL进行强有力的认证:您必须提供客户端证书(证书和私钥)。如何使用智能卡与python进行TLS请求?

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

如何混合这两个请求和PyKCS11?
如何在智能卡中使用客户端证书进行SSL请求?

编辑2017年8月4日

我的Mac:

  • BREW将OpenSSL安装
  • 酿造安装opensc
  • 酿造安装engine_pkcs11
  • OpenSSL的
    • 引擎动态-pre SO_PATH:/ usr/local/Cellar/engine_pkcs1 1/0.1.8/LIB /发动机/ engine_pkcs11.so -pre ID:PKCS11 -pre LIST_ADD:1 -pre LOAD -pre module_path中:在/ usr/local/lib目录/(我的具体PKCS11 IIb)的名为.dylib
      • 加载:(PKCS11)PKCS11发动机
    • 的s_client.First -engine PKCS11 -key '(槽):(ID)' -keyform发动机-cert 'pem.cer' -connect(主机):443 -state -debug
      • SSL握手OK

我现在的问题是,pyOpenSSl在API中没有选择引擎的功能(如pkcs11)。所以我停了下来。我不能使用python。

回答

相关问题