在iOS上使用智能卡进行TLS身份验证

时间:2015-04-15 15:09:48

标签: ios authentication ssl smartcard

我需要使用安装了证书的智能卡及其相关的公钥 - 私钥对来实现TLS身份验证。我设法通过使用导入到应用程序包的.p12文件(基于此的客户端身份验证:iOS app SSL .p12 Authentication - bad certificate error (-9825))来使TLS客户端身份验证正常工作,但我的问题是私钥永远不会离开智能卡,因此我无法使用API​​进行客户端身份验证。 有可用的智能卡操作可用于使用卡上的私钥进行签名和解密,以证明应用程序可以访问私钥。


我需要知道答案的问题是,如果有一种方法可以在iOS上使用objective-c,C或C ++建立TLS连接,其中不需要引用私钥本身,但连接可以通过使用私钥签署一份给定数据并在需要时返回已签名的数据来建立?能否请您提供一些想法或示例,说明如何做到这一点。 谢谢。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Apple的API,我认为如果不处理API的私钥,您就不能执行经过客户端身份验证的TLS。

或者,您可以使用OpenSSL处理TLS连接并呼叫PKSC#11 Engine与智能卡通信以进行签名。我也在寻求实施,但这听起来很有前途。