Procedures

To configure Adobe Experience Manager Forms with the nShield HSM:

Prerequisites

Before you can use Adobe Experience Manager Forms with the nShield HSM, complete the following steps:

  1. Install the Java Development 8 Kit.

  2. Set up the HSM client software on the machine where Adobe Experience Manager Forms will be installed.

  3. Configure the HSM(s) to have the IP address of your host machine as a client.

  4. Create or edit the cknfastrc file in nfast directory add one of the following two config settings:

    • Module protection:

      CKNFAST_FAKE_ACCELERATOR_LOGIN=1
    • OCS or Softcard protection:

      CKNFAST_LOADSHARING=1
      CKNFAST_NO_ACCELERATOR_SLOTS=1
    • Optional lines to enable debug:

      CKNFAST_DEBUG=5
      CKNFAST_DEBUGFILE=C:\pkcs11.log
  5. Install Adobe Experience Manager Forms. To do this, follow the Adobe online documentation and set up AEM forms on a JEE deployment:

    When setting up, ensure that the user account has login permissions to the database server.

For more information on configuring and managing nShield HSMs, Security Worlds, and Remote File Systems, see the User Guide for your HSM(s).

Configure Java

You must configure Java for the nShield HSM before you can use the HSM with Adobe Experience Manager Forms Credentials.

  1. Add lines to C:\ProgramData\nCipher\Key Management Data\config\config about privileged and non-privileged ports:

    [server_startup]
    ...
    priv_port=9001
    nonpriv_port=9000
  2. Open a command prompt as Administrator.

  3. Set the path variables:

    % setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_321"
    % setx PATH "%PATH%;%JAVA_HOME%\bin";
  4. Copy the nCipherKM.jar file to the extensions folder of your local Java Virtual Machine installation from the following directory:

    %NFAST_HOME%\java\classes
  5. Paste the file in the following directory:

    %JAVA_HOME%\jre\lib\ext
  6. Download the JCE Unlimited Strength Jurisdiction Policy Files from your Java VM vendor’s Web site. The downloaded Java 8 file used in this guide was jce_policy-8.

  7. Extract and copy the extracted files local_policy.jar and US_export_policy.jar into the security directory:

    %JAVA_HOME%\jre\lib\security
  8. Edit the java.security file in %JAVA_HOME%\jre\lib\security.

  9. Add the following line to the top of the list of providers and shift the rest of the numbers down to keep them in ascending order:

    security.provider.1=com.ncipher.provider.km.nCipherKM
  10. Open a command prompt as Administrator and run:

    % java com.ncipher.provider.InstallationTest

    The output includes a list of providers and nShield JCE services. Check for the following phrases within the output:

    Unlimited strength jurisdiction files are installed.
    The nCipher provider is correctly installed.

Generate a signed certificate on the HSM

An nShield HSM will be used to generate a Certificate Signing Request to then be signed and imported. This certificate will be later used by AEM Forms Credentials.

If you are using FIPS 140 Level 3, PKCS #11 requires HSM OCS cards for FIPS authentication when you are importing the signed certificate. When you are running the ckcerttool command at a later step, you will have to insert the OCS card(s).

  1. Open command prompt as administrator and run the required command:

    • Module protection:

      % generatekey pkcs11 protect=module certreq=yes type=rsa size=2048 pubexp=65537 plainname=<key_name> nvram=no
    • OCS protection:

      % generatekey pkcs11 cardset=<cardset_name> protect=token certreq=yes type=rsa size=2048 pubexp=65537 plainname=<key_name> nvram=no
    • Softcard protection:

      % generatekey pkcs11 softcard=<cardset_name> protect=softcard certreq=yes type=rsa size=2048 pubexp=65537 plainname=<key_name> nvram=no
  2. Take note of the path to the key and the CSR.

  3. Take the CSR file to a Certificate Authority and have it signed.

  4. Take the generated signed certificate file and place it in the same directory where the CSR file was originally generated.

  5. Open command prompt as administrator and run one of the following to import the signed certificate:

    • Module protection:

      % ckcerttool -n -f <signed_cert_filename> -k <identof the key, the part after pkcs11_> -L <label_for_the_key>
    • OCS and Softcard protection:

      % ckcerttool -c <cardset name> -f <signed_cert_filename> -k <identof the key, the part after pkcs11_> -L <label_for_the_key>

      For example (OCS protection):

      % ckcerttool -c testOCS -f ocscertificate.cer -k uc6951563523344ac316e14299c7006a8e0aecd377-30f2a9379f7f23b6710e14d4f80ed2b1a45e99ee -L aemocskey

      Check for the following phrases within the output:

      Certificate found, processing...
      Certificate successfully imported.
      Run cklist to view your certificate object.
      OK

Configure the HSM credential alias

If you generated the HSM certificate while the Application Server was running, AEM Forms may not immediately recognize the certificate. To resolve this, restart the Application Server before you configure the HSM credential alias.
  1. Open the administrative console of AEM Forms in a web browser at http://localhost:8080/adminui.

  2. Select Settings.

    aem settings
  3. Select Trust Store Management.

    aem trust store
  4. Select HSM Credentials.

  5. Enter a Profile Name for the HSM.

  6. Enter the path of the pkcs11 library:

    C:\Program Files\nCipher\nfast\toolkits\pkcs11\cknfast.dll
  7. Select Test HSM Connectivity.

    A success message HSM is available appears. For example:

    aem hsm2
  8. For the Token Name, select the accelerator for module protection or the card set name for OCS/Softcard protection.

  9. The corresponding Slot ID and Slot List Index values will be selected automatically.

  10. For the Token Pin, enter the administrator card passphrase if you are using module protection. If you are using OCS cards or Softcard protection, enter their passphrase. For example:

    aem hsm3
  11. Select Next.

  12. Select the HSM’s Credentials. This will be the same as the certificate that was made in Generate a signed certificate on the HSM. For example:

    aem hsm5
  13. Select Save.

  14. Test this credential by selecting the check box next to it and selecting Check Status.

    A green check mark appears. For example:

    aem hsm4