0

我正在尝试使我的策略服务和注册服务与一台独立的 CA 服务器一起工作。策略服务和注册服务由我自己实现。策略服务非常简单,其响应与文档描述的相同。注册服务只是将 RST 转发到独立的 CA 服务器。我使用 HttpWebRequest 来模拟在 Web 浏览器中颁发证书并成功获取证书的过程。问题是 pkcs#10 请求生成的证书请求 wp 设备不包括密钥用法和扩展密钥用法。导致 CA 颁发的客户端证书不包括 Key Usage 和 Extended Key Usage 应该是数字签名和客户端身份验证。DM 客户端因此无法连接 DM 服务器。

任何人都可以告诉我如何让设备生成证书请求,包括密钥使用和扩展密钥使用?

在我的注册服务中编辑请求并添加缺少的密钥用法和扩展的密钥用法可能是一种解决方法。但我不知道如何编辑它。谁能帮我?

4

1 回答 1

0

您使用什么 CA 来执行此过程?

我一直在研究一个类似的过程并试图让我的 Windows Phone 8.0 注册一个 ASP.NET WebAPI 服务,所以我使用 C# 和 Bouncy Castle 编写了一个简单的 CA 过程。

我正在进行的代码在 GitHub 上,它还不适用于端到端 MDM 注册,但它允许您签署请求并设置密钥用法:

https://github.com/ShawInnes/MSMDM/blob/master/MSMDM.Test/BouncyCastleCACerts.cs

var usages = new[] { KeyPurposeID.IdKPServerAuth };
certificateGenerator.AddExtension(X509Extensions.ExtendedKeyUsage.Id,
                                  false, 
                                  new ExtendedKeyUsage(usages));
于 2014-04-09T13:14:14.323 回答