IOS PKIOperation 签名证书的通用 CN 在 mdm 注册 scep 步骤中

Posted

技术标签:

【中文标题】IOS PKIOperation 签名证书的通用 CN 在 mdm 注册 scep 步骤中【英文标题】:IOS PKIOperation signature certificate's generic CN in mdm enrollment scep step 【发布时间】:2013-07-17 07:28:07 【问题描述】:

我正在开发 mdm 服务器,但其中一个注册步骤有问题。问题是 scep 步骤。我实现了一个 scep 服务器,它处理 Device CACert 请求并以 der 格式发送我们的服务器证书。之后,设备发送加密和签名的 csr。 但我无法验证消息的签名。我认为设备会创建一个自签名证书并用它签署消息。我们认为这是因为签名证书的通用名称正在改变每个“PKIOOperation”请求。但出于安全考虑,我们必须验证此签名。

例如在每 3 个注册请求中,csr 签名证书更改。它们的通用名称是:

 CN=6E4F65AD-1E64-4E4D-A96E-2039EB140041

 CN=2E33C2CC-14B8-47AC-938B-DCC7F8DA8715

 CN=6817ED48-AB79-4FF0-A1A9-42C2AC303672

注意:注册设备的其他步骤使用适当的证书签署消息,我可以验证它们。只有 scep PKIOperation 请求是我的问题。是否需要设置任何配置文件标志或解决此问题的方法?

【问题讨论】:

【参考方案1】:

我可能在某些细节上错了,因为我大约在两年前接触过这个。

但是,我记得它是协议的一部分

如果您查看 SCEP 草案:https://datatracker.ietf.org/doc/html/draft-nourse-scep-23#page-30,您会看到:

When building a pkiMessage, clients MUST have a certificate to sign
the PKCS#7 [RFC2315] signed-data (because PKCS#7 [RFC2315] requires
it).  Clients MUST either use an existing certificate, or create a
self-signed certificate (see Section 2.3).
 If the requester does not have an appropriate existing
 certificate, then a locally generated self-signed certificate
 MUST be used instead.  The self-signed certificate MUST use the
 same subject name as in the PKCS#10 request.

但是,我的印象是 ios 设备使用设备内置的证书/私钥。此证书是使用 Apple 证书签名的。实际上,我记得它们的格式与您显示的 CN 完全相同。

所以,一般来说,如果设备使用自签名证书与 SCEP 服务器 (PKIOperation) 进行首次通信并稍后使用您的 CA 颁发的证书,则可以。

【讨论】:

以上是关于IOS PKIOperation 签名证书的通用 CN 在 mdm 注册 scep 步骤中的主要内容,如果未能解决你的问题,请参考以下文章

无需苹果企业证书签名,IPA证书签名,ios证书签名,不用签名证书将网页封装成苹果描述文件

iOS包重签名技术知识

漫谈iOS程序的证书和签名机制

iOS开发HTTPS实现之信任SSL证书和自签名证书

如何确定 iOS 应用程序是使用开发证书还是分发证书签名的?

iOS WKWebView 自签名证书单向验证+双向验证