Configuration Wizard
The Configuration Wizard automatically generates the configuration files for all Axidian CertiFlow services.
Install the Configuration Wizard and authenticate
The Configuration Wizard is a standalone component and is installed separately. Follow the instructions based on the operating system of the workstation where your Axidian CertiFlow server is installed.
- Windows
- Linux
- Run the AxidianCertiFlow.Wizard-<version number>.x64.en-us.msi file from the AxidianCertiFlow.WindowsServer catalog of the Axidian CertiFlow installation package. The Configuration Wizard is installed to the C:\inetpub\wwwroot\certiflow\wizard catalog.
- Obtain the authentication code. Start the AxidianCertiFlow Wizard IIS application pool. The code is saved to the wizard_authentication_code.txt file in the C:\inetpub\wwwroot\certiflow\wizard\logs catalog.
- Open the wizard_authentication_code.txt file and copy the authentication code.
- Open a web browser and navigate to
https://<Server FQDN>/certiflow/wizard. - Enter the code in the Authentication code field and click Login.
If the authentication code is not generated, restart the IIS service.
Install the Configuration Wizard.
Debiansudo dpkg -i certiflow.wizard-<version number>_amd64.debRHELsudo rpm -i certiflow.wizard-<version number>.x86_64.rpmOpen the Axidian CertiFlow server installation package and execute the
start-certiflow-wizard.shscript.sudo bash ./start-certiflow-wizard.shObtain the authentication code. The authentication code is available in the output of the
start-certiflow-wizard.shscript.Open a web browser and navigate to
https://<Server FQDN>/certiflow/wizard.Enter the code in the Authentication code field and click Login.
Alternative ways for obtaining the authentication code
Start the
certiflow-wizard.service. The code is saved to the wizard_authentication_code.txt file in the /opt/axidian/certiflow/wizard/logs catalog.Execute the
systemctl statuscommand:sudo systemctl status certiflow-wizard.service | grep AuthenticationCodeRetrieve the code from the application log of the
certiflow-wizard.servicesystemd unit using the following command:sudo journalctl -u certiflow-wizard.service | grep AuthenticationCode
The authentication code is output to the terminal screen.
System features
In the Common features section, configure the settings for the Management Console and the Self-Service.
Event Log
Configure Event Log operation.
- Specify the attribute for users search in the event log. Default value is CN (Common Name).
- Select:
- Use Windows Event Log to record events from one or more servers in Windows Event Log.
- Use Log Server to record events from multiple Axidian CertiFlow servers in Windows Event Log, SysLog, Microsoft SQL, or PostgreSQL database.
Use Windows Event Log
Events are recorded in Windows Event Log.
If multiple Axidian CertiFlow servers are deployed in your infrastructure, use the Axidian CertiFlow Event Log Proxy component to have all servers write events in Windows Event Log:
- Install and configure the Axidian CertiFlow Event Log Proxy.
How to install the Axidian CertiFlow Event Log Proxy - Activate the Enable Event Log Proxy option.
- Specify the connection URL for the Event Log Proxy (for example,
https://server.domain.loc/certiflow/eventlogproxy). - For Windows-based Axidian CertiFlow servers: Enter the credentials of an account with access rights to the unified event log (taken from the
authorizationsection of the Event Log Proxy application's Web.config file).
For Linux-based Axidian CertiFlow servers: In the Certificate Thumbprint field, specify the thumbprint of the client certificate presented by the Axidian CertiFlow server to connect to the Event Log Proxy (from theallowedCertificateThumbprintsparameter in the Event Log Proxy application's appsettings.json file).
Use Log Server
If multiple Axidian CertiFlow servers are deployed in your infrastructure, use the Axidian Log Server application to have all servers write events to Windows Event Log, SysLog, Microsoft SQL, or PostgreSQL database.
Install and configure the Axidian Log Server application.
How to install the Axidian Log ServerSpecify the connection URL for the Axidian Log Server. For example:
https://server.domain.loc/ls/apifor Windows servershttps://server.domain.loc/apifor Linux servers
Certificate authorities
Configure integration with the Microsoft Enterprise Certificate Authority (CA).
AirCard Enterprise
Configure the integration with Axidian AirCard Enterprise:
- Activate the Enable integration with Axidian AirCard Enterprise option.
- Enter the connection URL for the AirCard Enterprise server (for example,
https://aircard.domain.loc:3002). Make sure the specified port is open for incoming connections on the AirCard server. - Specify the client certificate thumbprint to establish a secure connection between the Axidian CertiFlow server and the AirCard Enterprise server.
- Set the lifetime (in seconds) for unregistered AirCard smart cards. After this period expires, the Card Monitor service automatically deletes unregistered AirCard smart cards. The default value is 120 seconds.
For more information, the Axidian AirCard Enterprise docs.
Client agent
Configure client agents operation.
Install and configure the Axidian CertiFlow Agent.
How to install the Axidian CertiFlow AgentActivate the Enable client agent option.
Select the method for identifying an agent within the domain and outside the domain for registration in Axidian CertiFlow:
- Not set. Default value.
- Machine GUID. Use the workstation's
MachineGuidvalue. - Generate new GUID. Select this option if multiple workstations share the same
MachineGuidvalue. - Computer domain SID.
- Computer SID. Select this option if the agent is installed on a non-domain workstation. The agent identifier is assigned the string value of
MachineGuidfrom the workstation's registry key: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography].
Change the Agent ID generation strategy
To change the agent ID generation strategy after the initial Axidian CertiFlow configuration:
- Stop the agentregistrationapi and agentserviceapiservices on the Axidian CertiFlow server.
- Delete all client agents in the Agents section of the Management Console, or execute a database query against the Axidian CertiFlow database to remove registered agents and their sessions.
- Apply the changes in the Configuration Wizard and deploy the updated agentregistrationapi service configuration file to the Axidian CertiFlow server.
- Start the agentregistrationapi and agentserviceapi services.
To enable agent registration without administrator approval, activate the Automatic agent registration option. After you install and configure the agent on a workstation, it appears in the Agents section of the Axidian CertiFlow Management Console with the Registered status.
Upload the agent certificate – the root certificate file for the agent services with the private key in JSON format (agent_root_ca.json).
From the Level of agent's event log list, select which agent events are recorded in the event log: all events, only errors, or only warnings and errors.
Fill in the Frequency of receiving data from server (sec) and Interval of repeated performance of task canceled by user (sec) fields.
The HTTP request certificate header name is set by default. If Axidian CertiFlow is used with a load balancer, enable the Pass only certificate's Subject value in the HTTP request headers option to reduce traffic.
User catalog
Configure the connection to the Axidian CertiFlow user catalog. You can connect several user catalogs.
How to configure a user catalog
- LDAP
- Internal catalog
Click Add and select the user catalog type: Active Directory or FreeIPA.
- Active Directory
- FreeIPA
- Specify the credentials of an account with access rights to the user catalog: the name in the DOMAIN\UserName or UserName@DNSDomainName format and the password.
- Specify the domain's NetBIOS name.
- Specify the DNS name of the domain or the domain controller.
- Specify the path to the user container in Distinguished Name format. To work with all users, select the domain root.
- If you are using the LDAPS protocol to access the catalog, enable the Use LDAPS option.
- To display the user's photo in the Axidian CertiFlow interface or print it on a smart card, select the attribute that contains the user's photo.
- Click Save.
Execute the following commands:
set USERDNSDOMAINto find the DNS domain name.set USERDOMAINto find the NetBIOS domain name.
- Specify the credentials of an account with access rights to the user catalog: the name in the DOMAIN\UserName or UserName@DNSDomainName format and the password.
- Specify the domain's NetBIOS name.
- Specify the DNS name of the domain or the domain controller.
- Specify the path to the user container in Distinguished Name format.
- If you are using the LDAPS protocol to access the catalog, enable the Use LDAPS option.
- Click Save.
Execute the following commands:
set USERDNSDOMAINto find the DNS domain name.set USERDOMAINto find the NetBIOS domain name.
Use a Microsoft SQL or PostgreSQL database as the internal user catalog.
- Click Add and select the storage type.
- Configure the connection to the storage. Enter the server name, instance name (for Microsoft SQL), port number, and database name.
- Select the authentication method for connecting to the database server:
- Microsoft SQL: Windows Authentication or SQL Server Authentication. For SQL Server Authentication, enter the username and password.
- PostgreSQL: Enter the username and password.
- Click Save.
Custom attributes
To configure additional attributes for the internal user catalog:
- Click Add.
- Enter the User attribute name and User attribute display name.
- To have the attribute appear when you create or edit a user in Axidian CertiFlow, enable the Display in create/edit user form option.
- To make the attribute mandatory when you create or edit a user in Axidian CertiFlow, enable the Required attribute option.
- Select the attribute type:
- Text
For a text attribute, specify the following settings:- Maximum text length – the maximum number of characters.
- Text format – a regular expression for validating the attribute's text value.
- Invalid format message – the text of the message that is displayed when you enter a text value that does not meet the regular expression requirements.
- Integer
Specify the minimum and maximum values. For example, for entering age information. - Logical
The attribute can have a value oftrueorfalse. - Values map
Specify the reference list that is used when you select attribute values. Format:<attribute value #1>, <display value #1>; <attribute value #2>, <display value #2>;....
For example:red, Red color; green, Green color.
- Text
- Click Save.
Attribute mapping
You can configure a mapping between the Certificate Authority's attributes and the user attributes in the catalog.
If attribute mapping is configured, a new user can be registered in the Certificate Authority when issuing a card for that user in Axidian CertiFlow.
Tracked attributes
You can define a list of Active Directory user attributes that trigger a card certificate update if these attribute values are changed.
You can only track changes for attributes from the Subject and Subject Alternative Name (SAN) certificate fields.
By default, Microsoft CA certificate template parameters track the Common Name, Email, and User Principal Name (UPN) attributes.
To track an attribute:
- Click Add.
- Specify the attribute name in the user catalog.
- Specify the display name for the attribute.
- Specify the X.500 name or OID of the attribute in the certificate. This value is used to locate the attribute within the certificate.
- Click Save.
Access control
Select the access control method for Axidian CertiFlow services:
Windows Authentication
This method allows authentication using the user's Windows OS credentials and is used for Axidian CertiFlow installations on a domain workstation running Windows OS.OpenID Connect Authentication
This method allows authentication using the OpenID Connect server and is used for Axidian CertiFlow installations on either domain or non-domain workstations running Windows or Linux OS.
Navigate to the OpenID Connect section and specify the connection parameters for the OpenID Connect server.
Make sure you select the same authentication method during the Axidian CertiFlow server installation on Windows OS.
Role administrator
Specify the role administrator UPN.
Role administrator is an account granted permission to manage roles in Axidian CertiFlow. When you launch Axidian CertiFlow for the first time, you must log in to the Management Console using this account.
The designated account must possess a User Principal Name (UPN) attribute and be a member of the user catalog.
Database
Configure the connection to the data storage.
- Select the data storage type based on the environment where Axidian CertiFlow is deployed:
- Microsoft SQL
- PostgreSQL
- Configure the connection to the database. Enter the server name, instance name (for Microsoft SQL), port number, and database name.
- Select the authentication method for connecting to the database server:
- Microsoft SQL: Windows Authentication or SQL Server Authentication. For SQL Server Authentication, enter the username and password.
- PostgreSQL: Enter the username and password.
- (Optional) Configure additional parameters:
- Minimum pool size
- Maximum pool size
- Connection timeout
- Connection lifetime
- Number of connection retries
- Connection retry interval
Encryption Key
Axidian CertiFlow data is stored and transmitted in encrypted form. From the dropdown list, select an encryption algorithm and click Generate. Save a backup copy of the encryption key.
Card Monitor service
Configure the Card Monitor service settings to monitor card usage.
More about the Card Monitor service
The Card Monitor service is automatically installed with the Axidian CertiFlow server and performs the following operations:
- Revokes and retrieves cards that belong to users with the accounts deleted from the user catalog
- Revokes temporary cards with expired validity period
- Disables cards that belong to users with disabled accounts
- Removes disabled user accounts from the user catalog
- Sets or resets the card content status
- Logs the Agent connection lost event in the event log
- Deletes inactive agents
- Sends email notifications to administrators and users
- Specify the account for the Card Monitor service in the DOMAIN\UserName or UserName@DNSDomainName format. This account must meet the following requirements:
- Be a member of the Axidian CertiFlow user catalog.
- Belong to the Administrators group on the Axidian CertiFlow server.
- Have the Log on as a batch job permission in the Active Directory policy.
- Configure the Card Monitor service startup time.
- In the Manage users section, you can configure the following settings:
- Disable cards assigned to users with disabled accounts. Card Monitor disables cards that belong to users whose accounts have been disabled in the user catalog. If the Revoke certificate when card is revoked or disabled option is enabled in the Microsoft CA certificate template parameters, the validity of certificates stored on the devices is suspended and the certificates are revoked in the CA.
- Set filter to treat disabled users as removed. Disabled user accounts that meet the filter condition are considered deleted from the user catalog. Cards that belong to deleted users are revoked.
Specify the user attribute and its value. For example, theDistinguishedNameattribute with theOU=Fired users,DC=domain,DC=locvalue . - Withdraw cards from removed users. Cards that belong to deleted users are withdrawn.
- In the Agent Operations section, you can configure the following settings:
- Log an event if agent is inactive for (min). If an agent loses communication with the server, Card Monitor logs this event in the system log after the specified time has elapsed.
- Remove agent if inactive for (days). If an agent loses communication with the server, Card Monitor deletes the agent from the database after the specified time has elapsed.
Create a separate service role for the Card Monitor service.
Confirmation
- Review the settings in all sections of the Configuration Wizard.
- Click Apply.
All configured parameters are written to the application configuration files and saved to the following catalogs:
- C:\inetpub\wwwroot\certiflow\wizard\configs for Windows OS
- /opt/axidian/certiflow/wizard/configs/ for Linux OS
Apply the configuration files to the Axidian CertiFlow server.
Results
Click Download configuration files to export the files.
If you install Axidian CertiFlow for the first time, it is recommended to save a copy of the configured parameters. Click Backup current configuration settings option and set a password for the file.
The backup copy contains all parameters defined during installation for all services, as well as the database encryption algorithm and key. Store the backup file in a secure location.
Restore configuration
You can restore Axidian CertiFlow configuration settings from a backup in the following scenarios:
- Upgrading the Axidian CertiFlow server.
- Migrating the server to a new workstation.
- Installing additional servers.
To restore the configuration from a file:
- Go to the Restore configuration section of the Configuration Wizard.
- Click Restore configuration settings from backup.
- Upload the backup file.
- If the backup file was encrypted, enter the password.
Apply the configuration files on the Axidian CertiFlow server
Apply the configuration files generated by the Configuration Wizard to the Axidian CertiFlow server.
- Windows
- Linux
Open PowerShell as an administrator.
Open the C:\inetpub\wwwroot\certiflow\wizard\configs catalog.
Run the
deploy_configuration.ps1script..\deploy_configuration.ps1During the execution of the PowerShell script, enter the password for the account running the Card Monitor service.
It is recommended to specify the same local account for all Axidian CertiFlow web applications.
The configuration files for all Axidian CertiFlow services are located in the IIS web applications root catalog at %SystemDrive%\inetpub\wwwroot\certiflow. The configuration files for the Card Monitor service are located in the %ProgramFiles%\Axidian CertiFlow\CardMonitor catalog.
Open a terminal.
Open the
/opt/axidian/certiflow/wizard/configscatalog.Make sure the script file has execute permissions and run the bash script
deploy_configuration.sh:sh ./deploy_configuration.shDuring the execution of the bash script, specify the account running the Card Monitor service.
It is recommended to specify the same local account for all Axidian CertiFlow web applications.
If multiple Axidian CertiFlow servers are deployed in your infrastructure, apply the configuration files on each server. The configuration files for all Axidian CertiFlow services are located in the /opt/axidian/certiflow catalog.
Encrypt/decrypt the configuration files
It is recommended to encrypt the Axidian CertiFlow configuration files using the Certiflow.Config.DataProtector tool. The tool supports the AES encryption algorithm with an effective key length of 256 bits. The encryption key is stored on the Axidian CertiFlow server.
The encryption key is located at:
- Windows OS: C:\ProgramData\Axidian\certiflow\keys
- Linux OS: /etc/axidian/certiflow/keys
Create a backup copy of the encryption key to restore access to encrypted data in case the primary key is lost or corrupted. You can store the key copy alongside the Axidian CertiFlow configuration backup file.
- Windows
- Linux
Encryption
- Open the Misc\dataprotector catalog in the axidian CertiFlow installation package.
- Launch PowerShell as an administrator.
- Execute one of the following commands:
To encrypt all configuration files located in the standard catalogs (C:\inetpub\wwwroot\<component name>\appsettings.json):
.\Certiflow.Config.DataProtector.exe protectTo encrypt a configuration file of a component:
.\Certiflow.Config.DataProtector protect --app <component name>Example.\Certiflow.Config.DataProtector protect --app ManagementConsoleTo encrypt a configuration file located outside the standard catalog:
.\Certiflow.Config.DataProtector protect --app <component name> --file "appsettings.json file path"Example.\Certiflow.Config.DataProtector protect --app CardMonitor --file "C:\Program Files\Axidian CertiFlow\CardMonitor\appsettings.json"
Decryption
- Open the Misc\dataprotector catalog in the Axidian CertiFlow installation package.
- Launch PowerShell as an administrator.
- Execute one of the following commands:
To decrypt all configuration files located in the standard catalogs (C:\inetpub\wwwroot\<component name>\appsettings.json):
.\Certiflow.Config.DataProtector.exe unprotectTo decrypt a configuration file of a component:
.\Certiflow.Config.DataProtector unprotect --app <component name>Example.\Certiflow.Config.DataProtector unprotect --app ManagementConsoleTo decrypt a configuration file located outside the standard catalog:
.\Certiflow.Config.DataProtector unprotect --app <component name> --file "appsettings.json file path"Example.\Certiflow.Config.DataProtector unprotect --app CardMonitor --file "C:\Program Files\Axidian CertiFlow\CardMonitor\appsettings.json"
Encryption
- Open the Misc\dataprotector catalog in the Axidian CertiFlow installation package.
- Launch Linux Bash.
- Execute one of the following commands:
To encrypt all configuration files located in the standard catalogs (/opt/axidian/certiflow/<component name>/appsettings.json):
dotnet Certiflow.Config.DataProtector.dll protectTo encryptt a configuration file of a component:
dotnet Certiflow.Config.DataProtector.dll protect --app <component name>Exampledotnet Certiflow.Config.DataProtector.dll protect --app ManagementConsoleTo encrypt a configuration file located outside the standard catalog:
dotnet Certiflow.Config.DataProtector.dll protect --app <component name> --file "appsettings.json file path"Exampledotnet Certiflow.Config.DataProtector.dll protect --app ManagementConsole --file "/opt/axidian/certiflow/mc/appsettings.json"
Decryption
- Open the Misc\dataprotector catalog in the Axidian CertiFlow installation package.
- Launch Linux Bash.
- Execute one of the following commands:
To decrypt all configuration files located in the standard catalogs (/opt/axidian/certiflow/<component name>/appsettings.json):
dotnet Certiflow.Config.DataProtector.dll unprotectTo decrypt a configuration file of a component:
dotnet Certiflow.Config.DataProtector.dll unprotect --app <component name>Exampledotnet Certiflow.Config.DataProtector.dll unprotect --app ManagementConsoleTo decrypt a configuration file located outside the standard catalog:
dotnet Certiflow.Config.DataProtector.dll unprotect --app <component name> --file "appsettings.json file path"Exampledotnet Certiflow.Config.DataProtector.dll unprotect --app ManagementConsole --file "/opt/axidian/certiflow/mc/appsettings.json"
Deactivate the Configuration Wizard
For security reasons, it is recommended to disable the Axidian CertiFlow Configuration Wizard web application after you complete the configuration process.
- Windows
- Linux
- Open the Internet Information Services (IIS) Manager.
- In the IIS server component tree, select Application Pools.
- From the Application Pools list, choose AxidianCertiFlow Wizard.
- In the Actions menu, select Stop.
- Open a terminal emulator.
- Execute the following command:
sudo systemctl stop certiflow-wizard.service