The role of the private key in the CSR is for a proof of possession (POP). You can use crypto and non-crypto methods to provide a proof of possession of private key to a CA. Without a crypto method, I am not sure whether you can provide a POP without disclosing the private key to the CA. If the private key is for decrypting data at rest, then it is not a big deal. However, if the private key is for signing (e.g. authentication), revealing the private key to a CA, in my opinion is not a good idea; it violates the very purpose of a private key; which is to be remained private all the time. With a crypto method, you can provide a CA with a proof of possession without disclosing it to the CA.
Thus, a CSR typically includes a POP and other information. There are two standards on CSR; PKCS10 and CRMF. My understanding on PKCS10 is, PKCS10 only supports proof of possession for a key which is used for a digital signature. CRMF, on the other hand, supports proof of possession for other types of key usage. For example, it supports, proof of possession for a key used for key establishment, to encrypt data (data at rest encryption). Thus, if you have two keys, one for data at rest encryption and one for digital signature; you may be able to use a CRMF-based CSR for both the decryption and signing keys. Or you may choose to use PKCS10-based CSR for you're a signing key and a CRMF-based CSR for your decryption key. From: Salz, Rich Sent: Tuesday, March 05, 2013 9:40 AM To: openssl-users@openssl.org Subject: RE: Does CSR need to be signed with matching private key? Ø Hypothetically, what if i have TWO key pairs (PubKey1, PrivKey1, PubKey2, PrivKey2). First thing Ø i do is move PrivKey1 to another place. Is there a way where I can use PubKey1 to make the CSR Ø (Without access to PrivKey1), but sign it with PrivKey2 to preserve integrity? If you can "convince" the CA that you possess PrivKey1. How you do that is a matter between you and the CA. Without being convinced - proof of possession - the CA should not issue any statement/certificate about the corresponding public key. -- Principal Security Engineer Akamai Technology Cambridge, MA