我正在开发mdm服务器,我遇到了一个注册步骤的问题。问题是一步到位。我实现了一个处理Device CACert请求的scep服务器,并以der格式发送我们的服务器证书。之后,设备发送加密和签名的csr。
但我无法验证消息的签名。我认为设备会创建一个自签名证书和签名消息。我们认为因为签名证书的通用名称正在改变每个“PKIOperation”请求。但出于安全考虑,我们必须验证此签名。
例如,在每个3个注册请求中,csr签名证书都会更改。他们的共同名字是:
CN=6E4F65AD-1E64-4E4D-A96E-2039EB140041
CN=2E33C2CC-14B8-47AC-938B-DCC7F8DA8715
CN=6817ED48-AB79-4FF0-A1A9-42C2AC303672
注意:注册设备的其他步骤使用适当的证书签署邮件,我可以验证它们。只有scep PKIOperation请求才是我的问题。是否有任何配置文件标志可以设置或解决此问题?
答案 0 :(得分:0)
我在某些细节上可能是错的,因为我大约两年前触及过这个问题。
然而,我记得它是协议的一部分
如果你看看SCEP草案:http://tools.ietf.org/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颁发的证书,则可以。