Subject: CMP Interoperability Question

From: Al Arsenault <[email-masked]>
Date: Wed, 10 Apr 2002 07:52:35 -0400

Folks,

    I'm looking for some information, so I figured that this might be the fastest way to do an "informal survey".

    For those who have implemented CMP, the question is: Does your implementation support CAs who sign CMP messages (e.g., cp, ip, ...) using a different key than they use to sign certificates?

    The reason for asking this: we tend to believe that they private signing key used to sign certificates and revocation information (CRLs, OCSP responses) should ONLY be used for that purpose.  The CA has a separate key to use for secure communications, including signing CMP responses. (I can't find anything in the spec - either RFC2510 or son-of-2510 - that addresses this at all. My apologies if I just missed a section.)

    The problem was that a little informal testing showed a problem.  We had a "brand X" RA send our CA a cr message.  The CA responded with a cp.  The RA rejected the cp, apparently because it wasn't signed with the same key used to sign certs/CRLs.  (We're investigating to find out what the exact conditions for success are; e.g., does the CMP cp message have to be signed with the same key the cert contained in the message is signed with; or do basic constraints and/or specific key usage values have to be set in the signing cert.)

    So, for you CMP implementors - would your code reject a cp or other message from a CA, if it was:

    - signed with a key other than that used by the CA to sign certs?
    - signed with a key that  matched a certificate without basicConstraints set to CA?
    - signed with a key without keyUsage set to some magic value?

    Thanks for any information you can provide,

                Al Arsenault
                Chief Security Architect
                Diversinet Corp.

---

From: Ari Kermaier <[email-masked]>
Date: Wed, 10 Apr 2002 11:33:18 -0400

Yes, our CMP toolkit lets you build any sort of CA, RA or EE component you 
like -- policies enforcing who is permitted to sign what are mostly left up 
to the application developer.

Ari Kermaier
Senior Software Engineer
Phaos Technology Corp.
http://www.phaos.com/

>     For those who have implemented CMP, the question is: Does your 
> implementation support CAs who sign CMP messages (e.g., cp, ip, ...) 
> using a different key than they use to sign certificates?
>
>     The reason for asking this: we tend to believe that they private 
> signing key used to sign certificates and revocation information (CRLs, 
> OCSP responses) should ONLY be used for that purpose.  The CA has a 
> separate key to use for secure communications, including signing CMP 
> responses. (I can't find anything in the spec - either RFC2510 or 
> son-of-2510 - that addresses this at all. My apologies if I just missed a 
> section.)
>
>     The problem was that a little informal testing showed a problem.  We 
> had a "brand X" RA send our CA a cr message.  The CA responded with a 
> cp.  The RA rejected the cp, apparently because it wasn't signed with the 
> same key used to sign certs/CRLs.  (We're investigating to find out what 
> the exact conditions for success are; e.g., does the CMP cp message have 
> to be signed with the same key the cert contained in the message is 
> signed with; or do basic constraints and/or specific key usage values 
> have to be set in the signing cert.)
>