1

我有一个 iOS 应用程序,它使用证书进行消息签名,遵循数字签名算法 (DSA)。为了执行此签名,应用程序需要证书以及与证书关联的私钥。而且,我无法在应用程序中嵌入证书,因为我的客户需要能够生成和分发他们自己的证书,以便应用程序在需要时使用。(而且,嵌入证书无论如何都会构成安全风险。)

有人对我如何分发证书和私钥有任何想法吗?

PS。我们在 BlackBerry 上做同样的事情,在那里,我们使用 BlackBerry Enterprise Server 和 BlackBerry 设备上的 API 将证书推送到组织中的设备。我希望有一个适用于 iOS 的 MDM 解决方案,但还没有找到任何东西。

非常感谢

4

2 回答 2

2

在 iOS 上,没有直接的方式来分发证书,它是应用程序的私钥。Apple 建议使用 PKCS12 并在本文档中提供了一些指导:技术问答 QA1745: Making Certificates and Keys Available To Your App

于 2013-01-09T15:54:30.233 回答
2

你问:

有人对我如何分发证书和私钥有任何想法吗?

很抱歉,我对您的具体情况了解得不够多,无法准确地告诉您如何满足您的要求,但我可以看出这不是通常的做法。相反,通常在设备上生成公钥/私钥对,然后(仅)将公钥与其他数据(例如,在证书签名请求中,CSR 中)一起提交给服务器(认证机构,CA),该服务器生成证书并将其返回给请求者(并可能将其发布到目录中)。

这种方法的一个重要安全优势是没有第三方可以访问私钥(CA 需要公钥,不需要私钥)。这是不可否认性所必需的(因此设备所有者不能声称某人从中央服务器获得了他的私钥)。

于 2013-01-08T23:17:33.407 回答