如何使用智能卡与python进行TLS请求?
问题描述:
我试图使用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
- 引擎动态-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
我现在的问题是,pyOpenSSl在API中没有选择引擎的功能(如pkcs11)。所以我停了下来。我不能使用python。
谢谢你的想法。我成功的第一点不是第二点。 – Mlier