none
CA 认证 SCEP RRS feed

  • 问题

  • CA证书服务器采用了RA注册的方式,因此作为HTTP响应数据的MIME消息的内容标识域Content-Type为application/x-x509-ca-ra-cert,表明信息体包含一个以DER编码的证书链,其中包含三个证书,一个CA证书和两个RA证书,两个RA证书的其中一个用于加密,另一个用于签名,分别包含用来加密和签名的RA密钥。如果CA没有采用RA注册,则MIME消息的内容标识域Content-Type为application/x-x509-ca-cert,SCEP只能收到一个CA证书而不是一个证书链,而之后涉及到的加密和签名操作均使用CA证书中包含的密钥。

    设备当使用scep协议注册时,ca证书服务器返回的Content-Type为application/x-x509-ca-ra-cert,但是我们的设备只能识别Content-Type为application/x-x509-ca-cert。不知道通过修改那些ca的配置或者在请求信息中加入特殊参数是否可以返回application/x-x509-ca-cert?

    2013年5月2日 9:41

答案

  • 你所遇到的无效响应,是这个吗?

    http://msdn.microsoft.com/en-us/library/cc249968.aspx

    CAs that receive a certificate request referring to a template where the msPKI-RA-Signature is nonzero MUST require that the private keys used to sign the request are associated with certificates that meet the requirements of the msPKI-RA-Policies and msPKI-RA-Application-Policies attributes.

    If the value of this property is non-zero and there are no (additional) signatures in the request, the CA SHOULD return a non-zero error. The error Should be 0x80094809 (CERTSRV_E_SIGNATURE_POLICY_REQUIRED).

    If the number of signatures on the certificate request is less than the number defined by this property, the CA SHOULD return a non-zero error. The error SHOULD be 0x8009480A (CERTSRV_E_SIGNATURE_COUNT).

     

    2013年5月6日 3:38

全部回复

  • 你这个问题,是否可以归结为IIS的HTTP自定义响应问题?你的Web服务器是IIS7吗?

    如果是,那么URL Rewrite Module应该可以。

    不知这篇讨论中提到的问题,是否符合你的场景?

    Customize HTTP header in IIS URL Rewrite module
    http://stackoverflow.com/questions/7723025/customize-http-header-in-iis-url-rewrite-module

    2013年5月2日 9:53
  • 谢谢你的回答

    上面描述说CA证书服务器采用了RA注册的方式,那么返回的Content-Type为application/x-x509-ca-ra-cert。

    反之返回的就是application/x-x509-ca-cert

    应该不是IIS的rule问题。

    不知道是否知道ca如何才能不通过RA的注册方式?

    2013年5月2日 10:00
  • 谢谢你的回答

    上面描述说CA证书服务器采用了RA注册的方式,那么返回的Content-Type为application/x-x509-ca-ra-cert。

    反之返回的就是application/x-x509-ca-cert

    应该不是IIS的rule问题。

    不知道是否知道ca如何才能不通过RA的注册方式?


    我的意思也并不是说这是IIS问题,而是说可能可以通过IIS去解决这个问题,如果没有更恰当的配置项或办法的话。。。
    2013年5月2日 10:21
  • 补充一下:

    目前的问题是这样的:

    网络设备通过SCEP协议向CA发起注册请求,CA收到并且返回一个p7b证书给网络设备。但是目前看来该网络设备只能识别cer证书,无法对p7b证书直接进行安装,所以请问有没有办法能够在CA上面设置返回一个cer证书?

    2013年5月3日 1:33
  • SCEP协议已经决定了格式吧,不是程序实现去决定的,参见这篇RFC draft

    http://tools.ietf.org/html/draft-nourse-scep-18

    The SCEP messages are carried inside an Enveloped-data content type, as defined in PKCS#7

    另外,关于微软在这方面的实现,参见这篇白皮书

    Network Device Enrollment Service (NDES) in Active Directory Certificate Services (AD CS)
    http://social.technet.microsoft.com/wiki/contents/articles/9063.network-device-enrollment-service-ndes-in-active-directory-certificate-services-ad-cs.aspx

    2013年5月3日 6:42
  • 谢谢Finy的热心解答!

    有了些进展。现在的问题是在搭建CA的时候,如何搭建一个不包含RA的CA服务器?

    2013年5月3日 8:14
  • 我看了一下RA的定义,在

    http://msdn.microsoft.com/en-us/library/windows/desktop/bb427432(v=vs.85).aspx

    里面说

    Is certified by a root CA to issue certificates for specific uses permitted by the root. In a Microsoft PKI, a registration authority (RA) is usually called a subordinate CA.

    那么,我是不是可以理解为,你说的RA,是指你安装CA时装成了subordinate CA(从属CA)?

    如果你根CA直接去做SCEP,可以吗?

    2013年5月3日 10:45
  • 我看了一下RA的定义,在

    Is certified by a root CA to issue certificates for specific uses permitted by the root. In a Microsoft PKI, a registration authority (RA) is usually called a subordinate CA.

    那么,我是不是可以理解为,你说的RA,是指你安装CA时装成了subordinate CA(从属CA)?

    如果你根CA直接去做SCEP,可以吗?

    我的CA不是从属CA,是根CA。
    2013年5月4日 10:06
  • 查了下资料,好像从windows2003 开始,CA就使用RA的注册方式,所以即便是用win2008R2来做CA服务器,在自动注册时,CA返回的证书格式仍然是p7b格式的。

    而又有资料说明,Apple的产品支持cer格式的证书,却不支持p7b证书!

    这个问题很可能就是导致现在iphone安装证书时提示“SCEP服务器返回无效的响应”的原因!

    2013年5月4日 10:09
  • 你所遇到的无效响应,是这个吗?

    http://msdn.microsoft.com/en-us/library/cc249968.aspx

    CAs that receive a certificate request referring to a template where the msPKI-RA-Signature is nonzero MUST require that the private keys used to sign the request are associated with certificates that meet the requirements of the msPKI-RA-Policies and msPKI-RA-Application-Policies attributes.

    If the value of this property is non-zero and there are no (additional) signatures in the request, the CA SHOULD return a non-zero error. The error Should be 0x80094809 (CERTSRV_E_SIGNATURE_POLICY_REQUIRED).

    If the number of signatures on the certificate request is less than the number defined by this property, the CA SHOULD return a non-zero error. The error SHOULD be 0x8009480A (CERTSRV_E_SIGNATURE_COUNT).

     

    2013年5月6日 3:38