2017-07-29 44 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。

回答

相關問題