Install Identity Manager
This article is valid from Nexus PRIME 3.9.
This article describes the server side installation of the Smart ID Identity Manager software package.
See here for more information on installation requirements: IDM 23.10.3 - Requirements and interoperability.
The following prerequisites apply:
- See here for more information on installation requirements: IDM 23.10.3 - Requirements and interoperability.
- A valid license must be available.
- A database must be available, according to the database requirements in IDM 23.10.3 - Requirements and interoperability.
Install Identity Manager
To install Java on the Identity Manager server:
Download and install Oracle Java JRE (or JDK) according to https://java.com/.
For information on the supported Java versions, see IDM 23.10.3 - Requirements and interoperability.
Keep the default installation path, since it is needed again for the Tomcat installation.If you get prompted to remove old Java installations, do not do that until you have installed Identity Manager with the latest Java update, and know that it works.
To set the cryptographic policy of Java, edit the policy settings:
Open the file <java-home>/lib/security/java.security for editing.
Uncomment the following line, to allow use of the included policy files:
Example: crypto.policy
CODEcrypto.policy=unlimited
Save and close the file.
Identity Manager default settings require use of the unlimited policy files, to allow Identity Manager to use strong encryption algorithms and key sizes. Due to national regulations in some countries Java is shipped by default with a restricted setup. If the national regulations does not allow to use this policy, the encryption and signing settings in Identity Manager need to be changed.
For older Java installations, previous to Java 8 Update 151, the policy files are not included in the default installation. In that case, you must download and install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction policy files, according to: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Install Apache Tomcat on the Identity Manager server:
- Download the installation program from Apache Tomcat: http://tomcat.apache.org/.
- Start the installation by executing the downloaded .exe file.
- Follow the install wizard:
- In Choose Components, select installation type Custom. Check Service Startup. Uncheck Start Menu Items, Documentation, Manager, Host Manager, and Examples. Click Next.
In Configuration Options, enter port numbers (required) and a Windows Service Name.
You might stick to the Tomcat default ports.
Always take into consideration the customers infrastructure (for example firewall settings and conflicting third party systems using the same port).
For guidelines on choosing ports, the IANA (The Internet Assigned Numbers Authority) is a good resource.
Click Next.
In Java Virtual Machine, browse for the folder where Java Runtime Environment (JRE) is located.
The location of the JRE folder determines if Tomcat is started as a 32-bit or 64-bit application, and if the Identity Manager Server is started and operated in 32-bit or 64-bit mode.
Click Next.
- Enter a Destination Folder, for example C:\Program Files\Nexus-PRIME-Tomcat9.
- Click Install. The installation is started. Follow the wizard to finish the installation.
IBM Websphere
IBM Websphere installation is not described in this instruction. To install IBM Websphere, external integration expertise is needed.
To configure the Tomcat server:
- Open the configuration file
server.xml
in the Tomcat folder, for example:
C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\conf\server.xml Add or update the values in bold:
Example: server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="60000"
redirectPort="8443"
maxPostSize="-1" />
The
redirectPort="8443"
parameter should be used for an SSL configuration, but has no significance for a non-SSL connection (as in this case).For more information, see Default ports in Smart ID.
To copy the Identity Manager program files:
Go to applications and connectors in the Identity Manager download area, for example:
<prime_version>\10_Software\20_Applications_and_ConnectorsCopy the following .war files into the
webapps
subfolder of the Tomcat installation directory:
- prime_designer.war
- prime_explorer.war
- prime_tenant.war
- ussp.warGo to tools in the Identity Manager download area, for example:
<prime_version>\10_Software\20_ToolsUnzip the file db_update.zip.
Copy the following file to the db_update folder of the Identity Manager installation folder, for example:
- On Windows: <prime_home>\db_update\create_db_with_default_records.bat
- On Linux: <prime_home>\db_update\create_db_with_default_records.sh
To configure memory settings and start up Tomcat:
- Open the Tomcat Properties either via the System Tray, by clicking Configure or via Configure Tomcat in the Apache Tomcat program group in the windows start menu.
- Go to the Java tab.
In order to obtain the best possible performance from the Tomcat service, and therefore the Identity Manager applications, enter values for the following parameters. Consider the Notes on memory sizes below when choosing the values:
Parameter Example value Corresponding Java option Initial Memory pool 512 MB Xms Maximum Memory pool 2048 MB Xmx Thread stack size 2048 KB Xss Notes on memory sizes
- The Initial Memory pool value can vary significantly depending on the requirements in the projects and the expected load on the Application server. Consider how many background processes are running and how many concurrent users are expected in the Identity Manager clients, as well as how many sub systems will be connected to Identity Manager.
- The Maximum Memory pool value should be aligned to the available memory on the Server, reserving some memory for OS background processes.
- Experiences in projects show that a good balance between Xms and Xmx is 1:4. This may also vary according specific project requirements.
- If you use Java 32-Bit, keep in mind that the Xmx must be less than 1500 MB.
- If the Tomcat service does not start up, there may not be enough free memory available. In this case, the values must be reduced. Details can also be found in the Tomcat log files.
- Additional configuration settings are required for Tomcat for certain functions. These are, for example:
- SSL/TLS configuration for HTTPS connections
For more information, see Configure HTTPS for Tomcat. - Certificate-based login for Identity Manager clients
For more information, see Set up certificate-based login to Identity Manager.
- SSL/TLS configuration for HTTPS connections
- Go to the General tab. Verify the information and set Startup type to Automatic. Click Start.
The Tomcat server is started and unzips the .war files into the new folders:
- prime_designer
- prime_explorer
- prime_tenant
- ussp
This process usually takes a few minutes.When the program files have been installed, stop Tomcat again to configure the database connection:
In the General tab, click Stop.
Identity Manager uses a tool called Liquibase to initialize the database. This allows database changes to be made independently of the underlying database type, therefore making it easy to maintain the database schema for different databases with maximum flexibility.
If you use MS SQL as database together with Smart ID Identity Manager (PRIME), the database transaction isolation level must be set to READ_COMMITTED_SNAPSHOT. See Set transaction isolation level for MS SQL when used with Identity Manager
To initialize the database:
Go to the
db_update
folder of the Identity Manager installation folder, for example:
<prime_home>\db_update\Open the following file:
- On Windows: create_db_with_default_records.bat
- On Linux: create_db_with_default_records.shExample: create_db_with_default_records.bat
TEXTrem set DRIVER=org.postgresql.Driver rem set DB_PREFIX=decode(' rem set DB_POSTFIX=','hex') rem set DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver rem set DB_PREFIX=0x rem set DB_POSTFIX= rem set DRIVER=oracle.jdbc.OracleDriver rem set DB_PREFIX=hextoraw(' rem set DB_POSTFIX=') rem set DRIVER=com.ibm.db2.jcc.DB2Driver rem set DB_PREFIX= rem set DB_POSTFIX= set DRIVER=org.h2.Driver set DB_PREFIX=' set DB_POSTFIX='
- Make updates in the file to reflect your database:
- Uncomment the three lines for your database type, by removing
rem
on each line. Comment out the database types that are not required, by adding
rem
on each line. For example, comment out the H2 database that is selected by default.Set the database connection parameters: the JDBC URL of the database server, a user with permissions for schema modifications, and password. For available parameters, see section "Database properties file".
Example: database connection parameters
TEXTset URL=jdbc:h2:"%~dp0../h2_app/prime";AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE set USER=sa set PASSWORD=
For more examples, see section "Examples: database.properties files".Save the file.
- Uncomment the three lines for your database type, by removing
Run the batch file (on Windows) or shell script (on Linux).
Note that the computer on which these scripts are run requires access to the database server. If the script is run on the application server, this should not be a problem because the connection is also needed at runtime.
- After successful execution, the following message is displayed on the console:
Liquibase Update Successful
Identity Manager supports several database types from different vendors. The standard Identity Manager installation includes an H2 database for demo and testing purposes. For a production system, it is recommended to use another database, since the H2 database is not suitable for productive operation.
The database connection is managed via JDBC. The available functionality includes the relevant JDBC database drivers for the databases that are supported by Identity Manager.
The database type and the connection data have to be configured in the file database.properties
, The configuration must be done separately for each Identity Manager client.
In a production environment, different databases are normally used for Identity Manager Operator and Identity Manager Admin. That means that the different database.properties
files contain different configurations.
To configure the database type and connection data:
- For Identity Manager Admin:
- Open this file in a text editor:
<PathToTomcat>/webapps/prime_designer/WEB-INF/classes/database.properties - Configure the parameters for your database for Identity Manager Admin.
For more information on the available parameters and examples, see section "Database properties file".
- Open this file in a text editor:
For Identity Manager Operator:
- Open this file in a text editor:
<PathToTomcat>/webapps/prime_explorer/WEB-INF/classes/database.properties - Configure the parameters for your database for Identity Manager Operator.
For more information on the available parameters and examples, see section "Database properties file".
- Open this file in a text editor:
- Open this file in a text editor:
<PathToTomcat>/webapps/prime_tenant/WEB-INF/classes/database.properties - Configure the parameters for your database for Identity Manager Tenant.
For more information on the available parameters and examples, see section "Database properties file".
- Open this file in a text editor:
- Restart Tomcat to establish the database connection.
To create start commands to the Identity Manager clients:
- To create a link to Identity Manager Operator, Identity Manager Tenant, and Smart ID Self-Service, edit the host name and, if needed, the port number in the default URLs to match your environment. The resulting link can be called in a browser.
The default URLs are the following. For Identity Manager Operator and Identity Manager Tenant, a corresponding file index.html is part of each .WAR file:Identity Manager Operator:
Default URL to Identity Manager Operator
TEXThttps://<PRIMEHOSTNAME>:8443/prime_explorer/
Identity Manager Admin:
Default URL to Identity Manager Admin
TEXThttps://<PRIMEHOSTNAME>:8443/prime_designer/
Identity Manager Tenant:
Default URL to Identity Manager Tenant
TEXThttps://<PRIMEHOSTNAME>:8443/prime_tenant/
Smart ID Self-Service:
Default URL to Smart ID Self-Service
TEXThttps://<PRIMEHOSTNAME>:8443/ussp/
If you want to do chip encoding in Smart ID Self-Service, for example to renew certificates, ensure that the JRE is enabled in the Browser.
<PRIMEHOSTNAME>
is the respective server name or the IP address of the server on which the Identity Manager application is installed. - If no tenant selection dialog should be displayed, add the parameters
tenantId
andlanguage
in the application URLs:Example: tenantId and language
CODEhttps://<PRIMEHOSTNAME>:8443/prime_explorer/jsp.mainframe.risc?ccstyle=act3_risc&tenantId=<tenantId>&language=<language>
where
<tenantId>
is replaced by for example1
,2
, or3
and<language>
is replaced byen
,de
,sv
,fr
, and so on.
To check if the REST endpoints of Identity Manager Operator and Identity Manager Admin are set up correctly and the services are available, use the following URLs:
https://[host]:[port]/idm-operator/ws/alive
https://[host]:[port]/idm-admin/ws/alive
Response: true or false in response body
Go on to do Initial configuration of Identity Manager (WAR file).
See also Identity Manager installation and upgrade for more configuration steps.
Database properties file
Parameter name | Parameter value | |
---|---|---|
dataSourceType | Type or manufacturer of database.
| |
dataSource.jdbcUrl | Complete JDBC URL for the respective database. This is different depending on the type of database and has the following basic structure:
| |
DB type | Description | |
<Path_to_DB> | Relative or absolute folder path to the database (only with H2) | |
<DBHostname_or_IP> | Name or IP address of database server | |
<Instance_Name> | Instance name of database installation (only with MS SQL server) | |
<DBServer_Port> | Port number of database server. The port numbers are usually allocated automatically or manually during the installation of the respective database. The standard port numbers of the respective databases are:
| |
<DB_Name> | Actual name of database | |
dataSource.user | User name for logging into database | |
dataSource.password | Password for logging into database | |
quartzDriverDelegateClass | Quartz Scheduler needs its own DB connection. Select the JDBC-driver here for Quartz. Examples:
|
Examples: database.properties files
This example describes the database named prime
, stored in the folder h2_application in the Identity Manager installation folder.
H2 example
dataSourceType=H2
dataSource.jdbcUrl=jdbc:h2:h2_application/prime;AUTO_SERVER=TRUE
dataSource.user=sa
dataSource.password=
quartzDriverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
MS SQL standard instance example
dataSourceType=MS
dataSource.jdbcUrl=jdbc:sqlserver://NexusDBServer:1433;DatabaseName=PRIME
dataSource.user=Nexus
dataSource.password=Secret
quartzDriverDelegateClass = org.quartz.impl.jdbcjobstore.MSSQLDelegate
MS SQL named instance example
dataSourceType=MS
dataSource.jdbcUrl=jdbc:sqlserver//NexusDBServer\ACCESS;DatabaseName=PRIME
dataSource.user=Nexus
dataSource.password=Secret
quartzDriverDelegateClass = org.quartz.impl.jdbcjobstore.MSSQLDelegate
Oracle example
dataSourceType=ORA
dataSource.jdbcUrl=jdbc:oracle:thin:@//NexusDBServer:1521/PRIME
dataSource.user=Nexus
dataSource.password=Secret
quartzDriverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
PostgreSQL example
dataSourceType=PG
dataSource.jdbcUrl=jdbc:postgresql://NexusDBServer:5432/PRIME
dataSource.user=Nexus
dataSource.password=Secret
quartzDriverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
DB2 example
dataSourceType=DB2
dataSource.jdbcUrl=jdbc:db2://NexusDBServer:50000/PRIME
dataSource.user=Nexus
dataSource.password=Secret
quartzDriverDelegateClass = org.quartz.impl.jdbcjobstore.DB2v8Delegate