小编B. *_*lan的帖子

如何使用 PKCS11 在 python 中建立 TLS 会话

我正在尝试在我控制的客户端和 Web 服务器之间建立 TLS 通道。客户端和服务器都使用我在私有 PKI 方案下创建的证书对自己进行身份验证。客户端密钥和证书存储在 USB 加密狗 HSM 上。Python 是主要的应用程序语言。

我能够使用python-pkcs11AES 加密、HMAC 签名、RSA 签名等包为我的项目执行所有必需的加密操作。但是,我找不到将 pkcs11“绑定”到任何 TLS 库的方法。我的意思是调用处理 pkcs11 层并建立 TLS 通道的函数的“Pythonic”方式。请求不支持 pkcs11。libcurl有PKCS11支持,但它不是在执行pycurl,没有pyopenssl

我可以使用引擎 api 来执行 openssl 的 s_client CLI 工具:

openssl s_client -engine pkcs11 -verify 2 -CAfile path/to/CA.pem -keyform engine -key "pkcs11:...;object=rsa;type=private" -cert path/to/client-cert.pem -connect localhost:8443

我正在寻找的一个例子:

do_tls_with_pkcs(key=’pkcs11:URL’, cert=’cert.pem’, verify=’CA-cert.pem’)

据我所知,目前还没有这样的图书馆。现在我正在寻找一种解决方法。

我读过,如果 openssl、libp11 和 python 以这种方式编译,则可以抽象所有这些,因此简单的请求调用将通过 HSM,对应用程序代码透明。虽然,我找不到任何关于如何做的材料。

python ssl openssl pkcs#11

8
推荐指数
1
解决办法
1061
查看次数

如何将UITableView放在UIView中

我正在尝试在UIView中实现一个表视图.我目前正在努力解决的一个问题是链接委托和dataSource.如果我取消注释Xcode下面的两行,则会出现"预期声明"错误.如果我从文档大纲中链接它们Xcode说没关系然后模拟崩溃.如果有人能够找出问题,那就太好了.

谢谢!

import UIKit
class CurrentGameDetailView: UIView, UITableViewDelegate, UITableViewDataSource {

    @IBOutlet weak var tableView: UITableView!
    var theGame: GameObject? = nil

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return theGame!.roundNumber
    }

//    tableView.delegate = self
//    tableView.dataSource = self

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("OldGameDetailCell", forIndexPath: indexPath) as! OldGameDetailCell

        cell.roundLabel.text = theGame!.gameRounds[indexPath.row].gamePlayed.description
        ...

        return cell
    }
}
Run Code Online (Sandbox Code Playgroud)

uitableview uiview ios swift

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

ios ×1

openssl ×1

pkcs#11 ×1

python ×1

ssl ×1

swift ×1

uitableview ×1

uiview ×1