Summer is coming, but relax, Infoware can take care of your IBM platform while you are away

Posted by:

Are you scratching your head thinking of who will take care of your IBM platform during the summer vacation period? Planning for the summer can be stressful, especially as you want to give your staff the vacation they need but also maintain a high quality in service acound your IBM platform.

Be calm! Infoware offers you rescue and control. All summer long!

Infoware's team of experienced IBM experts is your service every day.

Many organizatiosn have troubles on how to solve their staffing during the summer. We offer you experts who for example knows IBM Domino and IBM Connections inside and out. During the period, we assist you with monitoring and incident management, for example urgent operational problems.

We start our collaboration with a brief workshop where our experienced advisers learns your specific environment. Then we establish checklists and procedures necessary for you to feel completely confident that everything worksas it should.

We offer you the service levels (SLA) where we specifies availability, incident management and opening hours.

Your personal contact at Infoware has a whole team that knows your environment. Our service is offered on a weekly basis between June and September 2017.

Do you want to relax in the sun chair and not have your phone at arm's length all summer long?

Contact us today!



Changing and Signing jar files with JDK 1.8, no questions asked. Dictionaries in IBM Notes.

Posted by:

Dictionaries where missing from client installation on Windows machines.
Client is multi user and users are not allowed to write in Program Directories (non admin on their PCs).
Client is IBM Notes 9.0.1FP6, because this is the one rolled out to end users.
This means that nothing can be installed via Widgets in framework\rpc or framework\shared because both are under Program Directory.
Objective is to provide all of the dictionaries to the end users to choose from from the Widgets catalog. Installation should progress without any questions asked.

I downloaded the Dictionaries provided by IBM (
For a full description of this package, please read Tomas Hampels blog at

The problem I got was that the Feature jar files configured to install in framework\rpc which is fine if you include them during installation of the original package running with administrative rights on the computer.

Only way in my scenario was to make sure that the installation was made in a user context meaning Data\workspace\applications

Change configuration of the Feature jar to make sure that the installation is done in a user context.

Unpacking the jar file in the features directory of any given dictionary reveals that the feature.xml file contains <feature colocation-affinity=""
this needs to be changed to this <feature colocation-affinity="" to make sure that installation will go to Data\workspace\applications where the end user is allowed to write.

To unpack and repack i use PeaZip ( and as an Editor I use Notepad++ (

Explanation of the different options could be found here:

Also when doing this it will break the signatures and this means that a resigning (after repackage) is necessary for security reasons (you should not allow anything that you have not trusted)
If you want to include your own signed jars files during installation of the client, this can be done following this instruction (
You could also use iKeyman to do this if you prefer.

If you look at Tomas Hampels blog above you will find that there are a lot of files that needs to be changed and signed before importing to an update site.

In every features directory in every updateSite_xx directory the file feature.xml needs to be changed according to the above solution.
Also, preparing for signing, 3 files need to be deleted from a subdirectory called META-INF also in the features catalog:

Repack all files in each Directory e.g. to
Move (cut) the zip file to where the original jar file is located rename the original jar file with an extension .org instead of .jar end the rename the newly moved .zip file to .jar
A features catalog could then look like this:

To sign I downloaded JDK 1.8 from
( Windows x64 because I am using W10 64-bit.

Only sign jar files that you have made changes to. The others are already signed with valid signatures.
Only sign 1 time with 1 signature for each jar file. Signing a second time could cause unexpected results.

First I examined the file that was signed by IBM, this is now <filename>.org if the instructions where followed.
C:\Program Files\Java\jdk1.8.0_121\bin>
jarsigner -verify -verbose "C:\updateSite_af\features\"

I got:
– Signed by "CN=International Business Machines Corporation, OU=Lotus Software Group, OU=Digital ID Class 3 – Java Object Signing, O=International Business Machines Corporation, L=Littleton, ST=Massachusetts, C=US"
    Digest algorithm: SHA1
    Signature algorithm: MD5withRSA, 2048-bit key
  Timestamped by "CN=GeoTrust Timestamping Signer 1, O=GeoTrust Inc, C=US" on lö feb 02 04:31:44 UTC 2013
    Timestamp digest algorithm: SHA-1
    Timestamp signature algorithm: SHA1withRSA, 1024-bit key

jar verified.

This meant that I need to sign with MD5withRSA and also SHA-1 where needed.
I tried all of the possible combinations of signing and digest and did the provisioning to the IBM Notes Client for all the different cases (puh this was hard and took a lot of time!) just to make sure.
I found only 1 configuration that worked all of the times.

To sign you must first create a signer and also you need to import the certificate of the signer and crosscertify it with your Notescertificate and push that crosscertificate to the client thru your security policy.
This done is done in your Domino Directory of the server.
Signing the jar file with this signature is then trusted to be installed on the client.

Inspired by Tomas Hampel (again) and the blog entry (
I decided to make my own script to help me out with this task.

Script Solution:
I decided to make 2 types of script, 1 for creating the necessary JKS file used for signing and 1 for the actual signing.
Both solutions consists of a command file an a property file containing values needed for the execution.

Code and samples will be provided here for download.Cool_Signing

Signing_mykeytool.cmd Cool_Signer.keytool
in the sample provided and this will create a JKS file and a CER file in the C:\temp directory.

To customize for your own needs you can creating you own .keytool file using Cool_Signer.keytool as a template. Read the included Readme.txt file for explanation.

You must change/customize this if You want to use this in your own environment, because sample provided here is not intended for other purposes than demonstrating the code.

Signing_myjarsigner.cmd Cool_Signing_with_XTAF_MD5.jarsigner
in the sample provided will sign all jar files that ends with *.feature_7.2.0.201111100545.jar from the catalog C:\Notes_XTAF_Dictionaries_V9.0_Win_ML and down.
It also contains the parameters that where tested to work with these features. I will recommend you to use these if you modify and sign the XTAF Dictionaries.

To customize for your own needs you can creating you own .jarsigner file using Cool_Signing_with_XTAF_MD5.jarsigner as a template. Read the included Readme.txt file for explanation.

Changing and Signing is hard work but script at least provides you with the means of organising your stuff and ease the burden of signing.