Upgrade
Server Upgrade
UKCUnbound Key Control - The name of Unbound's key management product. Server Upgrade includes the following steps:
- Release-specific Server Pre-upgrade.
- Server Upgrade.
- Release-specific Server Post-Upgrade.
- Restart and Test the EKM
Enterprise Key Management - The previous name of the product. Replaced by UKC. service.
As needed, Upgrade Repair.
Note
To upgrade UKCUnbound Key Control - The name of Unbound's key management product. software installed in the user's directory, refer to Upgrade Server in User's Folder.
Server Pre-upgrade
Pre-upgrade for 2.0.2007 or earlier
Starting with the UKCUnbound Key Control - The name of Unbound's key management product. server software release 2.0.1807, the upgrade procedure preserves the following files:
- RHEL/Centos
- /opt/ekm/conf/server.xml
- /opt/ekm /conf/log4j.xml
- /etc/default/ekm
- /etc/dylog.conf
- Windows
- <install_dir>\tomcat_conf\server.xml
- <install_dir>\tomcat_conf\log4j.xml
Warning
The following files are overwritten:
- /etc/init.d/ekm
- Catalina/localhost/rewrite.config
If you customized these files, make sure to save them and merge them later with the newly installed files:
-
Server Upgrade
You may validate the authenticity and integrity of the Debian and the RPMFile format for software package distributed by RPM Package Manager package. Refer to Validating Debian and RPM Packages.
-
RHEL/Centos:
sudo yum update ekm-<version>.el7.x86_64.[fips].rpm
sudo rpm -Uvh ekm-<version>.el7.x86_64.[fips].rpm
Note
To use ECCElliptic-curve cryptography - an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields keys with the
SECP256K1
curve on RHEL, check the installed OpenSSL version by using theopenssl version
command. The required version1.0.2
or above.
To upgrade the OpenSSl, runsudo yum update openssl
command. -
Ubuntu:
sudo dpkg -i ekm-<version>.deb8_amd64.deb
-
SUSE:
sudo zypper update ekm-<VERSION>-SuSE.x86_64.rpm
-
Windows:
-
Stop the EKM
Enterprise Key Management - The previous name of the product. Replaced by UKC. Service as specified in EKM Service Management.
-
Upgrade the server by running
ekm-<VERSION>.windows.x64.msi
.
-
Stop the EKM
Server Post-Upgrade
The post-upgrade steps depend on the release you are upgrading from. The following table guides your steps:
- Select the UKC
Unbound Key Control - The name of Unbound's key management product. server software release that was installed before the upgrade. Refer to the "Upgrading from Release" column.
- Start by performing the step specified in the "Upgrade to Release ..." column.
- Continue performing all the following steps.
- In each step, examine the "Requirement" setting:
- Mandatory - must be done
- As Needed - depends on whether certain non-default system settings were overwritten by the upgrade. You must examine the case specified by the step.
- In each step, examine the "Requirement" setting:
Upgrading from Release | Upgrade to Release ... | Requirement |
---|---|---|
2.0.1806 or earlier | Post-upgrade to 2.0.1807 | As needed |
2.0.1807 or earlier | Post-upgrade to 2.0.1808 - XML files | As needed |
Post-upgrade to 2.0.1808 - Keystore Password Encryption | Mandatory | |
2.0.1811 or earlier | Post-upgrade to 2.0.1811 | Mandatory |
2.0.1904 or earlier | Post-upgrade to 2.0.1907 | Mandatory |
2.0.1910 or earlier | Post-upgrade to 2.0.2001 | As needed |
2.0.2004 or earlier | Post-upgrade to 2.0.2007 | Mandatory |
Post-upgrade to 2.0.1807
Upgrade from 2.0.1806 or an earlier release overwrites the following files:
log4j.xml
- refer to Server Log.server.xml
- refer to Server.xml File.
If these files were modified before the upgrade, reapply the changes.
Note
If you are reproducing a custom connector port="<number>"
in the Server.xml File, set its keyStorePass
and protocol
settings as specified in the updated connector port="443"
.
Post-upgrade to 2.0.1808 - XML files

When upgrading from release 2.0.1807, the following rule applies to the log4j.xml
and server.xml
files:
- If a file hasn't been changed (previous default settings) - the file is overwritten with the latest default settings.
- If a file has been changed - the file is preserved, and the
<file>.xml_original
is added to the folder to present the latest default settings. In this case, examine the<file>.xml_original
file and propagate the new features, if any, to the<file>.xml
. - If you previously customized the
server.xml
file, replace itsconnector port="443"
andconnector port="8443"
xml-elements according to their settings in theserver.xml_original
.
Post-upgrade to 2.0.1808 - Keystore Password Encryption

The UKCUnbound Key Control - The name of Unbound's key management product. server SSL
Secure Sockets Layer - a cryptographic protocol that provides communications security over a computer network. certificate and the UKC
Unbound Key Control - The name of Unbound's key management product. CA trust certificate are stored in the password-protected keystore files
key.pfx
and root_ca.ks
in the Certificates Folder. Before the 2.0.1808 release, these passwords were specified in plaintext in the Server.xml File :
key.pfx
password -"123456"
.root_ca.ks
password -"123456"
.- SSL
Secure Sockets Layer - a cryptographic protocol that provides communications security over a computer network. protocol handler - the standard
Http11NioProtocol
.
In systems that were bootstrapped using the 2.0.1808 or later release, these passwords are encrypted. This fact is indicated by the password value "NotThePassword
" while the encrypted password is stored in a binary file. The Connector port
settings in these releases specify:
key.pfx
password -"NotThePassword"
.root_ca.ks
password -"NotThePassword"
.- the SSL
Secure Sockets Layer - a cryptographic protocol that provides communications security over a computer network. protocol handler - the custom
ObfuscatorProtocol
that is aware of thekey.pfx
password encryption.
<Connector port="443" protocol="com.dyadicsec.ekm.syscrypto.ObfuscatorProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="want" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2"
keystoreFile="/etc/ekm/ssl/key.pfx" keystorePass="NotThePassword" keystoreType="pkcs12"
truststoreFile="/etc/ekm/ssl/root_ca.ks" truststorePass="NotThePassword" truststoreType="jks"/>
Though an upgrade of a pre-1808 release changed the protocol to "com.dyadicsec.ekm.syscrypto.ObfuscatorProtocol
", the passwords remained as they were - in the plaintext. The objective of this step is to encrypt these passwords.

To encrypt the keystore and truststore passwords:
- Open Server.xml File and find the
Connector port
sections. - Make sure that the
protocol="com.dyadicsec.ekm.syscrypto.ObfuscatorProtocol
" - Change the passwords from
"123456"
to"NotThePassword"
:keystorePass="NotThePassword"
truststorePass="NotThePassword"
- Save the changes.
- Run scripts:
- ekm_encrypt_pfx_password. For example,
- ekm_encrypt_truststore_password. For example,
sudo /opt/ekm/bin/ekm_encrypt_pfx_password.sh
sudo /opt/ekm/bin/ekm_encrypt_truststore_password.sh
Post-upgrade to 2.0.1811

In the 2.0.1812 release, the UKCUnbound Key Control - The name of Unbound's key management product. TLS
Transport Layer Security - a cryptographic protocol that provides communications security over a computer network cipher suite has been hardened to exclude the SHA1 option from the eligible ciphers:
- Open the Server.xml File for editing.
- In Connector records
Connector port="443"
,Connector port="8443"
, add the following line:
ciphers="HIGH:!SHA1"
For example, using port 443,
<Connector port="443" protocol="com.dyadicsec.ekm.syscrypto.ObfuscatorProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="want" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2" ciphers="HIGH:!SHA1"
keystoreFile="${catalina.home}/../../etc/ekm/ssl/key.pfx" keystorePass="NotThePassword" keystoreType="pkcs12"
truststoreFile="${catalina.home}/../../etc/ekm/ssl/root_ca.ks" truststorePass="NotThePassword" truststoreType="jks"/>
Post-upgrade to 2.0.1907

To assure the integrity of key material metadata provided by EP to a client (such as whether it is exportable), the client may enable its check-integrity
setting - refer to The Integrity of the Material Metadata. However, this capability is missing on servers upgraded from 2.0.1904 or an earlier release, resulting in a false alarm when the ucl show <key material>
command is executed by a client. To mitigate this alarm and to enable this capability on upgraded servers, execute the ekm_gen_integrity_key script on the EP.
Post-upgrade to 2.0.2001

If you are planning to download signed crypto operations, you must rename crypto files collected by 2.0.1910 and earlier releases. Perform the following steps on both EP and its Partner servers in their Crypto Logs Files folder:
On the Linux and Mac
sudo mkdir /opt/ekm/logs/old-crypto
sudo mv /opt/ekm/logs/dy-ekm-crypto*.log /opt/ekm/logs/old-crypto/
On Windows
- Open the
C:\Program Files\Dyadic\ekm\tomcat\logs
folder. - Make an
old-crypto
subfolder. - Move
dy-ekm-crypto*.log
files toold-crypto
subfolder.
Post-upgrade to 2.0.2007

In the 2.0.2007 release, the UKCUnbound Key Control - The name of Unbound's key management product. TLS
Transport Layer Security - a cryptographic protocol that provides communications security over a computer network cipher suite has been hardened to exclude the SHA1 and CBC options from the eligible ciphers:
- Open the Server.xml File for editing.
- In Connector records
Connector port="443"
andConnector port="8443"
, replace theciphers="HIGH:!SHA1"
specification to the following (refer to Required SSL Cipher Suites
ciphers="HIGH+AESGCM"
For example, using port 443,
<Connector port="443" protocol="com.dyadicsec.ekm.syscrypto.ObfuscatorProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="want" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2" ciphers="HIGH+AESGCM"
keystoreFile="${catalina.home}/../../etc/ekm/ssl/key.pfx" keystorePass="NotThePassword" keystoreType="pkcs12"
truststoreFile="${catalina.home}/../../etc/ekm/ssl/root_ca.ks" truststorePass="NotThePassword" truststoreType="jks"/>
Note
Upgrading to 2.0.2007 overwrites the Catalina/localhost/rewrite.config
file that might be customized, for example, to block UI.
Restart and Test
- Perform EKM
Enterprise Key Management - The previous name of the product. Replaced by UKC. Service Restart (refer to EKM Service Management) on every upgraded server. The first EKM
Enterprise Key Management - The previous name of the product. Replaced by UKC. service restart on an upgraded server contributes the following:
- Activates the new software.
- Migrates, as needed, UKC
Unbound Key Control - The name of Unbound's key management product. Data Base to the schema specified by the new release.
- To test the upgraded system, use the
ucl server test
command from the EP1 server (or any other EP server that is registered as the Root partition's client). - Restart the server and repeat the
ucl server test
. - If the problem remains:
- Examine Tomcat Logs on the unreachable server.
- If it does not reveal a reasonable cause, proceed to repair the upgrade.
For example, when upgrading from a pre-2010 release to the 2.0.2010 or later release.
Note
Automatic DB migration might result in a longer (minutes) restart during which the EKMEnterprise Key Management - The previous name of the product. Replaced by UKC. service is not provided by the server. It is a one-time event (per server). Its impact depends on the size of the database and the type of server.
Note
If you run the command while some servers are engaged in the EKMEnterprise Key Management - The previous name of the product. Replaced by UKC. service restart, these servers might appear as "unreachable". Wait and repeat the command.
If despite the elapsed time a server shows as unreachable:
Upgrade Repair
-
Linux:
- Follow a package reinstall instructions for your Linux distribution.
- Restart and Test
-
Windows:
- Stop the EKM
Enterprise Key Management - The previous name of the product. Replaced by UKC. Service. Refer to EKM Service Management.
-
Delete the "
C:\Program Files\Dyadic\ekm\tomcat\webapps\ROOT
" folder. - Open
Control Panel\All Control Panel Items\Programs and Features
. - Select the Unbound Server software.
- Click Repair.
- Restart and Test.
- Stop the EKM
Client Upgrade
UKCUnbound Key Control - The name of Unbound's key management product. client upgrade includes the following steps:
Client Pre-upgrade
-
Linux:
The UKC
Unbound Key Control - The name of Unbound's key management product. client upgrade preserves customization in the following files:
- /etc/ekm/client.conf
- /etc/dylog.conf
As needed, prepare the
install_props.txt
file in the folder that will store the upgrade software. Refer to Client Configuration Automation.Warning
If theinstall_props.txt
file is present in the same folder as the upgrade software, the client configuration is reset according to the specifications in this file. -
Windows:
Clean up the
system32
folder in the following cases:- UKC
Unbound Key Control - The name of Unbound's key management product. client is integrated with MS SQL.
In this case, thesystem32
folder contains theekmsqlcp.dll
.- If it is a symbolic link – keep it.
- If it is the actual file – replace it with the new version.
UKC
Unbound Key Control - The name of Unbound's key management product. client is integrated with MS IIS.
- When upgrading to the UKC
Unbound Key Control - The name of Unbound's key management product. client release 1902 and later, delete
ekmpkcs11.dll, ssleay32.dll, libeay32.dll
(whether copies or symbolic links) from theSystem32
folder.
- UKC
Client Upgrade
You may validate the authenticity and integrity of the Debian and the RPMFile format for software package distributed by RPM Package Manager package. Refer to Validating Debian and RPM Packages.
-
RHEL/Centos:
sudo rpm -Uvh ekm-client-<version>.<el7 | el8 | el7+el8>.x86_64.rpm
-
Fedora:
sudo rpm -Uvh ekm-client-<version>.<el7 | el8 | el7+el8>.x86_64.rpm
-
SUSE:
sudo zypper update ekm-client-<VERSION>-SuSE.x86_64.rpm
-
Ubuntu:
sudo dpkg -i ekm-client-<version>.<deb8 | deb9 | deb8+deb9>_amd64.deb
-
AIX on POWER® CPU:
- Unzip and untar the obtained tar.gz file to the designated directory:
- Add the
<UKC
to theUnbound Key Control - The name of Unbound's key management product. client target directory>
LD_LIBRARY_PATH
.
gunzip ekm_client-<VERSION>.aix7.1.tar.gz
tar -vxf ekm_client-<VERSION>.aix7.1.tar -C <UKC client target directory>
-
MacOS:
To upgrade from version 2.0.2010 or newer:
-
Run in a terminal with sudo permissions the uninstall script.
-
Install the new version and configure as described in Install Client Software.
sudo sh /etc/ekm/uninstall-unbound-client.sh
To upgrade from an installation prior to 2.0.2010, follow these steps to manually remove the previous installation and install the new version:
-
Remove the registration of the Unbound virtual reader (UNBOUND-VR).
-
If UNBOUND-VR is the only virtual reader in the system, just delete the file /etc/reader.conf.
-
Otherwise, edit /etc/reader.conf and remove the following lines:
-
Remove following files and folders:
-
Remove these folders
/etc/ekm
/usr/local/lib/ubVirtualReader.bundle
/usr/local/bin/ubVirtualTokenHost.app -
Remove these files:
/usr/local/bin/ekmcl
/usr/local/bin/ubpgpdaemon
/usr/local/bin/ucl
/usr/local/lib/ekm-java-9-provider-2.0.jar
/usr/local/lib/ekm-java-provider-2.0.jar
/usr/local/lib/libcrypto.1.0.0.dylib
/usr/local/lib/libdyadicsec.dylib
/usr/local/lib/libdylog.dylib
/usr/local/lib/libekmpkcs11.dylib
/usr/local/lib/libekmpkcs11_jni.dylib
/usr/local/lib/libssl.1.0.0.dylib
/usr/local/lib/libsslengine.dylib -
Reboot the system.
-
Install the new version and configure as described in Install Client Software.
-
Reboot the system.
FRIENDLYNAME "UNBOUND-VR"
DEVICENAME GENERIC_SMART_RDR
LIBPATH /usr/local/lib/ubVirtualReader.bundle
CHANNEL 1 -
-
Windows:
ekm-client-<VERSION>.windows.x64.msi
The default installation folder is
C:\Program Files\Dyadic\EKM
Enterprise Key Management - The previous name of the product. Replaced by UKC.
Tip
To install UKCUnbound Key Control - The name of Unbound's key management product. using non-interactive
msiexec.exe
option "/qn":
(msiexec.exe ekm-client-<VERSION>.windows.x64.msi /qn
),
you must execute the program with Windows Elevated Privileges.
For example, run this command from the Windows Powershell (Admin).
Otherwise, the "/qn
" option silences the Windows User Account Control (UAC) prompt. Consequently, the system does not receive your consent and stops the program. It is the Windows security feature.
For other methods to run the non-interactive installation with the elevated privilege, check Elevated Privileges Windows and similar sources.
Client Post-upgrade
-
Windows:
If the UKC
Unbound Key Control - The name of Unbound's key management product. client is integrated with MS SQL and the
system32
folder contains a symbolic link to theekmsqlcp.dll
- do nothing.
Else,
- delete the
ekmsqlcp.dll
from thesystem32
folder - add to the
system32
folder a symbolic link to theekmsqlcp.dll
:
mklink C:\Windows\system32\ekmsqlcp.dll C:\Progra~1\Dyadic\ekm-client\bin\ekmsqlcp.dll