000011549 - How to create a CA hierarchy where one subordinate CA uses SHA1 and another subordinate CA uses SHA2  while both sub CA's are signed by a SHA1 root CA

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000011549
Applies ToRSA Certificate Manager 6.8
RSA Certificate Manager 6.9 build 557 and earlier
IssueHow to create a CA hierarchy where one subordinate CA uses SHA1 and another subordinate CA uses SHA2, while both sub CA's are signed by a SHA1 root CA.
The requirements are to create one Root CA and two Sub CAs, where one sub CA would issue end-entity certificates with SHA1 and the other sub CA would issue end-entity certificates with SHA2 (say, SHA-256).  Each of the sub CA certificates (issued by Root CA) should use the same hash type (SHA1 or SHA2) as they would use for signing end-entity certs.
ResolutionThe ability to configure Preferred Digest Algorithm at jurisdiction level for each CA has been added in RSA Certificate Manager 6.9 build 558.  Using RSA Certificate Manager 6.9 build 558 (or later), you can configure Preferred Digest Algorithm in CA's jurisdiction(s) to create a CA hierarchy where one subordinate CA uses SHA1 and another subordinate CA uses SHA2, while both sub CA's are signed by a SHA1 root CA.
Workaround

For RSA Certificate Manager 6.9 build 557 and eariler deployments that do not allow a CA to choose a hashing/signature algorithm different than the one chosen during its creation, the following workaround can be used to setup a CA hierarchy as mentioned above. For simplicity, RSA-2048bit keys are chosen in the example below.



1.  Create a new self-signed CA, called "RootCA", RSA-2048bit key, using SHA1

2.  [The first sub CA] Create a new CA, called "SubCA1-SHA1", RSA-2048bit key, using SHA1, choose "RootCA" as its signer.



3.  [The second sub CA] Create a new self-signed CA, called "SubCA2-SHA256", RSA-2048bit key, using SHA-256.  Note that we are temporarily creating a self-signed sub CA, it will be soon resigned by "RootCA".



4.  Temporarily update "RootCA" CA object in RCM to sign using SHA-256.  Use the tool listuclass.xuda (https://RCM-hostname/ca/admin/listuclass.xuda) => click 'list' against XUDA_CA => click 'Edit' button for the "RootCA" object => update the attribute 'CADIGESTTYPE' value from "sha1" to "sha256" => click on Replace button.  Restart RCM services.



5.  Go to RCM admin interface and click Refresh link so the interface is reloaded.  View the CA "SubCA2-SHA256" from CA Operations workbench, click on "Re-sign" button, choose "RootCA" as the signer/issuer and follow the prompts to complete the resigning operation.



6.  Undo the temporary changes made in step #4.  Use listuclass.xuda (https://RCM-hostname/ca/admin/listuclass.xuda) => click 'list' against XUDA_CA => click 'Edit' button for the "RootCA" object => update the attribute 'CADIGESTTYPE' value from "sha256" back to "sha1" => click on Replace button.  Restart RCM services.



7.  Go to RCM admin interface and click Refresh link so the interface is reloaded.



After completing the above steps, you end up with:
  (a) "RootCA" that has its own cert based on SHA1 and it will sign all other certificates using SHA1,
  (b) "SubCA1-SHA1" that has its own cert based on SHA1 (issued by "RootCA") and it will sign all other certificates using SHA1, and
  (c) "SubCA2-SHA256" that has its own cert based on SHA-256 (issued by "RootCA") and it will sign all other certificates using SHA-256.

NotesIMPORTANT:  When following the workaround, make a full RCM backup before using the listuclass.xuda tool as any inadvertent mistakes in updating records through listuclass.xuda can render your RCM installation unusable.
Legacy Article IDa58531

Attachments

    Outcomes