Role Separation, keyCertSign CA and cRLSign CA with same AKI(Authority Key Identifier) #1061
|
Hello. I am poking my newly minted EJBCA container with persistant DB.(Awesome Sauce! And thanks!) I have no expectations. Major players in the PKI/CAB industry don't use Role Separation. I used to deal with product which did it. Now I am making a home lab. I was trying to find documentation on EJBCA site and in git hub. But I failed. I tried something like this:
lets not be confused by CRL issues and Full Name. They are red herring as far as I understand it.
I see not a way to associate my second CA cert with first one. AKI number is not an option anywhere. So I tried creating new CRL only CA and fail as i can't bind it to existing CA cert signing CA. Since its not really a CA, I decided to use RA interface to see if I can issue "End Entity" CRL signer. No such luck there, to chose CRL only profile I created earlier. If I try to create it as a CA, it should not be possible. Because if I chose it to be signed by Root signing cert CA - it makes it immedeatelly a subca. Which would be a bug(what if create a chain where root CA is ONLY level in a trust chain, apart from EE?) Cert signing CA has just that one key use.(as per copy paste above) Am I doing something stupid here? No rush, and thank you in advance! |
Replies: 1 comment 1 reply
|
Authority Key ID is derived from the public key of the CA, as per RFC5280. In order to sign an end entity as you say, why was this not possible? You need to make the certificate profile an end entity certificate profile and not a CA certificate profile. You have the "type" when you create a certificate profile. So I think there are some non-RFC5280-compliant claim in your experiment. 1. You can not have a Root CA with an AKI that doesn't match it's public key, that does not compute. 2. A separate CRL signer in RFC5280 is a separate entity, i.e. with it's own SKI, but signed by a CA so the AKI matches that CA, the CRL signer is an "end entity". 3. A CRL-only CA does not make any sense, a CA is a "certificate" authority, CRLs are a service to manage those certificates. You can have a "different" CA sign CRLs, but that is specific to an ICAO9303 NameChange where a new CA takes over the responsibility of issuing CRLs for an old CA (it's quite weird and non-RFC5280-compliant but it's how they standardized it). Those are some thoughts. Always stick within the boundaries of RFC5280ö |
Authority Key ID is derived from the public key of the CA, as per RFC5280.
Generally EJBCA does not support a different CRL signer than the CA. But I would expect the CRL Signer to be a subordinate CA of the cert signer would you not? Especially if it has it's own CRL signing key which is not the same as the cert signing key. If you make your CRL signer a subCA, or an end entity, to the cert signer CA it will get the AKI from the cert signer certificates SKI (which is the AKI/SKI chaining that is key ID is all for).
In order to sign an end entity as you say, why was this not possible? You need to make the certificate profile an end entity certificate profile and not a CA certificate profi…