Files in the HAT distribution

The BankID HAT distribution consists of the following files:

  • hat-<version>-distribution.zip
  • BankID HAT 1.7 User Guide (this document)


The distribution ZIP archive (hat-<version>-distribution.zip) contains the following:

  • hat-<version>.jar
  • runHAT.bat(Windows batch file)
  • runHAT.sh(Unix/Linux script)
  • props/log4j.properties
  • props/tna-publickey.props
  • props/truststore.bks
  • lib/bcprov-jdk15-1.45.jar
  • lib/bcmail-jdk15-1.45.jar
  • nativelib/<platform>/libNativeCryptoki.so.V1_3_0_0 (Unix/Linux)
  • nativelib/<platform>/libNativeCryptoki.dll.V1_3_0_0 (Windows)

hat-<version>.jar

This is the HSM Activation Tool application classes with most dependency classes (e.g. Log4J) added. HAT is a standalone java application started from the 'no.bbs.bankid.hat.HAT' class included in this Java Archive (JAR) either explicitly or by running the JAR file using 'java -jar <file>'. To start the application, use the provided runHAT.bat/runHAT.sh scripts.

runHAT.bat/runHAT.sh

These are scripts used to launch the HAT application, as appropriate for the different supported platforms. Make sure the current user has the necessary execution rights for the script.

log4j.properties

Log4J is the logging framework used by HAT. The library files have been included in the HAT jar, but logging operations depend on the log4j.properties file to configure the level of logging and the location of the logfile.

The default logfile is named hat.log and will be created in the directory where the HAT application is started. If an error occurs during HAT operation, see the logfile for details and information which could be helpful in determining the cause of the problem.

tna-publickey.props

This file is distributed as a precautionary measure, allowing emergency override of encryption keys used in COI communication if the COI certificates need to be renewed between releases of HAT. Under normal circumstances this file is not needed, but it is safe to leave the file in place – there is no need to delete it.

truststore.bks

This is an SSL truststore used by the HAT application during communication with BankID COI.

bcprov-jdk15-1.45.jar/bcmail-jdk15-1.45.jar

This is the BouncyCastle security provider used by HAT for cryptographic operations. The libraries offers cryptographic methods and classes used throughout the application.
Due to the JAR files being signed these classes cannot easily be included in the HAT distribution JAR file, and they are therefore supplied as external dependencies. The HAT JAR file (hat-<version>.jar) has had the dependencies added to the classpath through the JAR manifest file, so unless the files are moved they should be automatically accessible when running e.g. 'java -jar hat-1.7.2.jar'.

NativeCryptoki.dll/libNativeCryptoki.so

HSM vendors may provide PKCS#11 adapters for standardized access to the HSM. These adapters are usually implemented in the C language. For HAT to be able to communicate with these adapters, a Java Native Interface (JNI) library is needed. The NativeCryptoki library provides this access, acting as a bridge between the HAT Java application and the HSM specific PKCS#11 adapters.