Preparing

This section describes the steps that need to be taken prior to the AnyCAGateway REST installation to install, create, and gather the necessary information and prerequisites to complete the gateway installation and configuration process.

Tip:  Please start with Upgrading if you are upgrading an existing installation.
  1. Review the system requirements. See System Requirements.
  2. Identify your installation method and server. The AnyCAGateway REST can be installed either on Windows or in containers under Kubernetes. In either case, it needs to connect to both the SQL server which will host the database and the Keyfactor Command server, which will integrate with 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., including on any of those servers themselves. When installing on Windows, by default the gateway installs under Kestrel. You may take steps following installation to switch the gateway to run under IIS (see IIS Hosting).
  3. Select an authentication mechanism. The AnyCAGateway REST supports both client certificate authentication and OAuth token authentication. Only one authentication method/provider is allowed for the initial installation. It is possible to add additional OAuth Identity Providers through the APIClosed An API is a set of functions to allow creation of applications. Keyfactor offers the Keyfactor API, which allows third-party software to integrate with the advanced certificate enrollment and management features of Keyfactor Command. after installation. You can also switch between client certificate and OAuth authentication once one type is installed by rerunning the installation script. It is also possible to use both authentication types on the same database by implementing two installations using the same database on different servers or ports. In this preparation step, determine your initial (primary) authentication method.

    Note:  Only OAuth is supported when installing the AnyCAGateway REST in containers under Kubernetes.
  4. Determine the service accounts. The AnyCAGateway REST uses as many as three service accounts:

    • An account is used to connect to the database during installation. This account will create/update/populate the database and do the initial DB setup. The user running the create, populate, or update command must have sufficient permissions to create, populate or update databases as appropriate to the command being run. See the DatabaseManagementUsesSQLAuth and DatabaseManagementAuthCredentials parameters for the AnyCAGatewayInstall.ps1 install script in AnyCAGateway REST Windows Install Parameters and the dbmanagement > serviceUsername, dbmanagement > servicePasswordSecretName, and dbmanagement > servicePasswordSecretKey parameters in the container values file in Values File Settings for Containers Under Kubernetes.

    • The gateway needs ongoing connectivity to the SQL server. This is accomplished using a service account. For installations on Windows, the account specified can either be a Windows domain account or a SQL account (assuming the SQL server is configured to support mixed mode). If a Windows domain account is used, the same Windows domain account may also be used to run the gateway service. The account specified will be granted appropriate permissions to the gateway database. See the UseSQLAuth and SQLAuthCredentials parameters for the AnyCAGatewayInstall.ps1 install script in AnyCAGateway REST Windows Install Parameters. For installations in containers under Kubernetes, only SQL authentication is supported. See the connectionStrings > existingSecretName and existingSecretName > existingSecretKey parameters in the container values file in Values File Settings for Containers Under Kubernetes.

      Note:  Only SQL authentication is supported when installing the AnyCAGateway REST in containers under Kubernetes.
    • For installations on Windows, the gateway service runs as one service account on an ongoing basis. By default, this is the built-in NT AUTHORITY\Network Service account, but you may choose to run the gateway service as a Windows domain account. See the -ServiceCredential parameterClosed A parameter or argument is a value that is passed into a function in an application. for the AnyCAGatewayInstall.ps1 install script in AnyCAGateway REST Windows Install Parameters.

    Important:  Keyfactor highly recommends that you use strong passwords for any accounts or certificates related to Keyfactor Command and associated products, especially when these have elevated or administrative access. A strong password has at least 12 characters (more is better) and multiple character classes (lowercase letters, uppercase letters, numeral, and symbols). Ideally, each password would be randomly generated. Avoid password re-use.
  5. Prepare the following certificates. You will need some or all—depending on the authentication mechanism you selected—of the following certificates installed on the installation server, or your local server, as indicated below. Have their information handy:

  6. Have login and all access details for all third-party CA accounts you will be configuring in the AnyCAGateway REST, including any username/password and/or API key(s) as required by your CA. Have handy the authentication details for the third-party CA including any required client authentication certificate, its thumbprint and the local file path or certificate store location. This information is required for the CA connection configuration when adding the CA to the AnyCA Gateway portal. See Add or Edit a Certificate Authority.
  7. Determine the configuration of the third-party CA(s) you want to deploy with AnyCAGateway REST.

  8. For installations on Windows, acquire the AnyCAGateway REST artifact. The artifact will be delivered with two folders—AnyGatewayREST and DatabaseManagementConsole. Note that the file location in which you placed the artifacts will be required during installation.
  9. Acquire the Keyfactor gateway integration for your third-party CA. The integration will include instructions which you will want to have handy during installation and configuration of the AnyCAGateway REST. Gateway integrations for common third-party CAs are publicly available in the Keyfactor GitHub: