TSA Core

This section provides step by step guide for installation, configuration and usage of TSA Core. TSA Core including (emTSA and eTSA) is used for timestamping the requests received. And also help in managing timestamping Signers as well as keys.


Note: All actions required for setting up and configuring TSA Core should be done using administrator privileges

Environment Variables For tsacore.properties

This file is used to configure database related properties like dialect, driver class name, URL, Username, password (database user should have full privilege to the schema created for TSA application) as well as logs.

For Linux

For setting the environment variable in Linux, run the following command.

sudo -H gedit /etc/environment

It will open environment folder and set TSA Core path inside that

TSACORE_CONFIGURATION_PATH for tsacore.properties file as shown in below figure

Once the Environment variable is set for tsacore.properties, the user can open the tsacore.properties to configure various options which includes configuring of database as well as logs.


Please find below is the tsacore.properties file snapshot for reference:

[This property is meant for configuring MySQL database connection]
jdbc.password= nNh0bStJeJxo3eu3taSY2Q==

[This property is meant to configure local server path of log4j file]
logFilePath=C:/emCA/ log4j.xml

[This property is meant for the URL where eTSA is deployed]
emca.tsa.url = Database

tsacore.properties file is used to configure database related properties where we can configure database properties like dialect, driver class name, URL, Username, password (database user should have full privilege to the schema created for TSA).

Open the tsacore.properties file and change the below DB configuration:




[DialectInfo] refers to Dialect information


[DriverClassName] refers to Driver class name


[URL] refers to Database URL


[UserName] refers to UserName who has access to this schema


[Password] refers to Password for the user ( Refer Section 6)


The application uses Log4j for logging. Please specify the local server path for collecting the logs in the log4j.xml file. The local server path of log4j.xml file need to be provided in tsacore.properties file which is set in the environment variables [please refer section]

Log4J XML file as shown below:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
    <!-- Logging Properties -->
        <Property name="LOG_PATTERN">[%d{yyyy-MM-dd HH:mm:ss.SSS}] -- {%pid} [%p] - %m%n</Property>
        <Property name="APP_LOG_ROOT">[Local Server Path] </Property>
        <!-- Console Appender -->
        <Console name="Console" target="SYSTEM_OUT" follow="true">
            <PatternLayout disableAnsi="false" pattern="${CONSOLE_LOG_PATTERN}" />
        <RollingFile name="warnLog" fileName="${APP_LOG_ROOT}/TSA-Core-warn.log" filePattern="${APP_LOG_ROOT}/TSA-Core-warn-%d{yyyy-MM-dd}_%i.log" immediateFlush="true" append="true">
            <LevelRangeFilter minLevel="WARN" maxLevel="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="${LOG_PATTERN}"/>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10MB" />
            <DefaultRolloverStrategy max="30000"/>
        <RollingFile name="infoLog" fileName="${APP_LOG_ROOT}/TSA-Core-info.log" filePattern="${APP_LOG_ROOT}/TSA-Core-info-%d{yyyy-MM-dd}_%i.log" immediateFlush="true" append="true">
            <LevelRangeFilter minLevel="INFO" maxLevel="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="${LOG_PATTERN}"/>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10MB" />
            <DefaultRolloverStrategy max="30000"/>
        <RollingFile name="errorLog" fileName="${APP_LOG_ROOT}/TSA-Core-error.log" filePattern="${APP_LOG_ROOT}/TSA-Core-error-%d{yyyy-MM-dd}_%i.log" immediateFlush="true" append="true">
            <LevelRangeFilter minLevel="ERROR" maxLevel="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="${LOG_PATTERN}"/>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10MB" />
            <DefaultRolloverStrategy max="30000"/>
                             <RollingFile name="debugLog" fileName="${APP_LOG_ROOT}/TSA-Core-debug.log" filePattern="${APP_LOG_ROOT}/TSA-Core-debug-%d{yyyy-MM-dd}_%i.log" immediateFlush="true" append="true">
            <LevelRangeFilter minLevel="DEBUG" maxLevel="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="${LOG_PATTERN}"/>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10MB" />
            <DefaultRolloverStrategy max="30000"/>
        <AsyncRoot level="debug" includeLocation="false">
            <AppenderRef ref="infoLog"  />
            <AppenderRef ref="errorLog" />
            <AppenderRef ref="warnLog" />
                                            <AppenderRef ref="debugLog" />
                                           <AppenderRef ref="Console" />

In the above LOCAL SERVER PATH, the administrator has to provide folder path where in the log files get generated.


The following component is required for deployment:

TSA CORE(emTSA.war and eTSA.war file)

TSA CORE comes as 2 war files which has to be deployed on the application server. Server provides configuration through properties file.

Please configure and save all the properties defined in section - ‘(B) For tsacore.properties’ under section Environment Variables. Then deploy the configured TSA Core war file.

Please find below steps to deploy the application:

  • Copy the eTSA.war inside Tomcat ->Web apps folder apache-tomcat\webapps

  • Windows run services.msc

  • Go to Apache Tomcat and Click start

Quick Check Guide

Once deployment is successfully done and the server is started, Open any browser like internet explorer, Google Chrome, Firefox etc. and enter URL- as mentioned below

https://www.example.com/eTSA in enter address field place (For ex: https://

The TSA Login page will be displayed.

To verify whether logs are getting generated as per the path defined, please open the folder that is mentioned in the configuration path set in log4j.xml file (Configuration->log4j.xml)

"[Local Server Path]/eTSA.log

Please make sure that the log file is created in the above-mentioned path.

Last updated