在 iOS 上使用智能卡进行 TLS 身份验证
Posted
技术标签:
【中文标题】在 iOS 上使用智能卡进行 TLS 身份验证【英文标题】:TLS authentication using smart card on iOS 【发布时间】:2015-04-15 15:09:48 【问题描述】:我需要使用已安装证书及其关联的公钥-私钥对的智能卡来实现 TLS 身份验证。我设法通过使用导入应用程序包的 .p12 文件来使 TLS 客户端身份验证工作(基于此的客户端身份验证:ios app SSL .p12 Authentication - bad certificate error (-9825)),但我的问题是私钥永远无法离开智能卡,因此我可以t 使用 API 进行客户端身份验证。 有可用的智能卡操作可用于使用卡上的私钥进行签名和解密,以证明应用程序可以访问私钥。
我需要知道答案的问题是,如果有一种方法可以使用 Objective-c、C 或 C++ 在 iOS 上建立 TLS 连接,其中不需要对私钥本身的引用,但连接可以通过使用私钥对给定数据进行签名并在需要时返回签名数据来建立?您能否提供一些想法或示例来说明如何做到这一点。 谢谢。
【问题讨论】:
【参考方案1】:如果您使用的是 Apple 的 API,我认为您不能在不处理 API 的私钥的情况下执行客户端身份验证的 TLS。
或者,您可以使用 OpenSSL 处理 TLS 连接并调用 PKSC#11 Engine 与智能卡通信以进行签名。我也在寻求实现,但这听起来很有希望。
【讨论】:
以上是关于在 iOS 上使用智能卡进行 TLS 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
使用 AWS API Gateway 进行客户端 TLS 身份验证