Appendix - Configuring an EJBCA Enrollment Proxy CA for EST

EJBCA supports the enrollmentClosed Certificate enrollment refers to the process by which a user requests a digital certificate. The user must submit the request to a certificate authority (CA). over secure transport (EST) protocol to allow end entities to enroll for certificates by using a URL and TLSClosed TLS (Transport Layer Security) and its predecessor SSL (Secure Sockets Layer) are protocols for establishing authenticated and encrypted links between networked computers. authentication. For more information, see:

The Keyfactor Enrollment Proxy CA feature in EJBCA allows you to make EST requests to additional CAs outside the EJBCA instance in which EST is configured. EST requests to external CAs are made via Keyfactor Command; both Microsoft and EJBCA CAs are supported. Configuration to support this is done both on the EJBCA instance where EST is enabled and in Keyfactor Command.

Important:  EJBCA enrollment proxying via Keyfactor Command is only supported when using Active Directory as an identity provider (see Selecting an Identity Provider for Keyfactor Command).

Make the configurations as follows:

  1. In Keyfactor Command, enable Use for Enrollment for the CAClosed A certificate authority (CA) is an entity that issues digital certificates. Within Keyfactor Command, a CA may be a Microsoft CA or a Keyfactor gateway to a cloud-based or remote CA. and CSR Enrollment for the enrollment pattern you will use for the EST request (see HTTPS CAs - Advanced Tab and Enrollment Patterns - Basic Information Tab).

  2. In Keyfactor Command, grant the service account user who will broker the EST request using Basic authentication the following permissions in Keyfactor Command (see Security Roles and Claims):

    Certificates > Enrollment > Csr
  3. In the EJBCA instance in which EST will be configured for the external CA, browse to System Configuration > Protocol Configuration and enable EST if it is not already enabled.

    Figure 494: Enable EST Protocol

  4. In EJBCA, browse to CA Functions > Certificate Authorities and choose Import CA certificate... .

  5. In EJBCA in the Import CA certificate dialog, enter a reference name for the external CA in The name this CA will be given. This is for reference only and does not need to match the actual logical nameClosed The logical name of a CA is the common name given to the CA at the time it is created. For Microsoft CAs, this name can be seen at the top of the Certificate Authority MMC snap-in. It is part of the FQDN\Logical Name string that is used to refer to CAs when using command-line tools and in some Keyfactor Command configuration settings (e.g. ca2.keyexample.com\Corp Issuing CA Two). of the CA. Toggle the Disabled button for Onboard Keyfactor Enrollment Proxy CA to enable this feature. Additional fields will appear. Populate the fields as per Table 104: EJBCA Certificate Import Settings.

    Figure 495: Configure Imported CA

    Table 104: EJBCA Certificate Import Settings

    Field Name Example Description
    Upstream URL https://keyfactor.keyexample.com/KeyfactorAPI/ The URL to the Keyfactor API. Typically, this is the Keyfactor Command server name followed by the KeyfactorAPI virtual directory name, but this virtual directory name is user configurable when Keyfactor Command is installed, so your URL may vary. The trailing slash is important.
    Username   The username of the service account in whose context the certificate will be requested through Keyfactor Command.
    Password   The password of the service account in whose context the certificate will be requested through Keyfactor Command.
    HTTP Headers

    x-keyfactor-api-version: 1

    x-keyfactor-requested-with: APIClient

    x-certificateformat: PEM

    HTTP headers to submit to the Keyfactor API with the request.

    For more information regarding the headers required for the Keyfactor API, see Endpoint Common Features

    Certificate Authority

    Microsoft: corpca01.keyexample.com\CorpIssuingCA2

    EJBCA: https://ejbca3.keyexample.com:8443\\CorpIssuingCA1

    The host name and logical name of the CA as defined in Keyfactor Command.
    Template

    Microsoft: EnterpriseESTEnrollment

    EJBCA: Corporate_ESTEnrollment

    The short name of the certificate template to be used for EST certificate requests as defined in Keyfactor Command.
    SANs
    Copy
    {
       "dns": [
          "dnssan1.keyexample.com",
          "dnssan2.keyexample.com",
          "dnssan3.keyexample.com"
       ],
       "ip4": [
          "192.168.2.73"
       ]
    }

    Optionally, configure one or more SANs to be included in the request.

    Note:  SANs submitted outside the CSR may be ignored, appended to SANs in the CSR, or overwrite the SANs in the CSR request depending on the type and configuration of the issuing CA. Please be sure to check that the certificate has the correct SANs after issuance. Any SAN added automatically as a result of the RFC 2818 compliance settings will still be added alongside anything you add here. For a Microsoft CA, review the SAN Attribute Policy Handler for the Keyfactor CA Policy Module (see Installing the Keyfactor CA Policy Module Handlers) for more information.
    File containing full CA certificate chain in PEM format or ITS CA certificate in DER format   The public key certificate of the CA to which the certificate requests will be directed in PEM or DER format.
  6. In EJBCA, browse to System Configuration > EST Configuration and Edit the new EST alias that has been automatically created upon importing an external CA and enabling the Keyfactor enrollment proxy feature. The EST alias is given the name that you gave your imported CA with “Est” appended. Configure the EST settings appropriately for the type of requests you wish to make. For more information, see:

    Note:  The RA Name Generation Prefix and RA Name Generation Postfix are not relevant for proxied requests.
  7. To test the setup, see: