Skip to Main Content
IBM Data and AI Ideas Portal for Customers


This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:


Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,


Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Employees should enter Ideas at https://ideas.ibm.com


Status Planned for future release
Workspace Db2
Created by Guest
Created on Sep 21, 2021

Windows Db2-Runtime-Client with Certificate authentication: should also work without specifying sslClientLabel

Windows Db2-Runtime-Client with Certificate authentication: should also work without specifying sslClientLabel


Today it is mandatory to define sslClientLabel (aka Friendly Name) if SSLClientKeystoredb value="GSK_MS_CERTIFICATE_STORE" is set.

We have over 50,000 employees in our company and the "Friendly Name" is not set in the MS Certificate Store.

Even when the Friendly Name would be set (for example to the users name), the db2dsdriver.cfg file will look different for every user.

It must be possible to have a common db2dsdriver.cfg file for all users WITHOUT sslClientLabel set.

The certificate access should work as follows:

- If only one certificate is available in the MS certificate store, this certificate must be used.

- If more than one certificates is available, a selection prompt must appear to give the user the choice to select the right one.

Therefore, please implement that the PARM sslClientLabel is OPTIONALLY.

Actually like with a JDBC connection; there it also works without specifying a label.

Needed By Yesterday (Let's go already!)
  • Admin
    VIJAYA KATIKIREDDY
    Reply
    |
    Aug 3, 2023

    When implemented, CLI client will automatically pick up the certificate when there is only one. This RFE is prioritized for the next release after 11.5.9.

  • Guest
    Reply
    |
    Jul 26, 2022

    Based on discussions with different IBM parties, adding the below information to further clarify this requirement:


    High-level requirement:

    Enhance the Db2 Runtime Client driver with the functionality to auto-select an appropriate certificate, e.g. certA, from the list of available certificates, e.g. [certA, certB, certC], for client certificate authentication.

    This enables the use of client certificates in large environments. Furthermore it aligns the behavior with the Db2 JDBC driver.


    Requirement:

    The Db2 Runtime Client currently supports SSL client authentication using certificates. It does this by utilizing a sslClientLabel (aka Friendly Name). This sslClientLabel needs to be set for the certificate and it needs to be set in the db2dsdriver.cfg configuration file.

    This approach works on a technical level, but it requires individual configuration for every user. Furthermore, the required configuration changes break existing behavior of other applications. It is not manageable and not feasible for large, existing PKI environments.

    In order to overcome this limitation the Db2 Runtime Client driver shall be enhanced with the functionality to auto-select an appropriate certificate from the list of available certificates (aligned with the behavior of the Db2 JDBC driver).

    I.e. If no sslClientLabel is configured in the driver configuration, or if a specific keyword is set (e.g. SSLClientLabel = DB2_LOOKUP), then the Db2 Runtime Client driver shall pick one of the certificates that is currently available for authentication purposes.

    The list of certificates as provided by gsk8capicmd_64.exe -cert -list -db mscng might be a suitable approach.

  • Guest
    Reply
    |
    Oct 5, 2021

    Java driver uses JDK for ssl implementation and Non-Java driver uses IBM gskit library for ssl implementation. JDK supports separate keystore and truststore. Hence it is possible to use keystore for storing client certificate and truststore for storing server cerificate. So JDK knows that the certificate present in keystore is the client certificate that need to be send during connection, hence no need to specify the clientlabel from a jdbc application.

    But GSKit does not have separate trust store and keystore. There is only one keydb for storing both client certificate and server certificate. Hence it is mandatory for the non-jdbc application to identify the client certificate that need to be picked from keydb during connection using clientlabel keyword.

    There are 2 possible solutions for your scenario. You could try one of the below.

    1) Provide the same client label name(Eg:test) for all the users while adding/importing the certificate to the keydb. This way, all users can use the same db2dsdriver.cfg file where clientlabel will point to the same label name(Eg:test).

    2) If there is a default friendly name(label) for the certificate added/imported to the keydb and If this default friendly name(label) is same for all users, you can specify this default friendly name(label) as clientlabel in db2dsdriver.cfg file and use the same db2dsdriver.cfg for all users.

    Below is an example of a certificate with sample friendly name in keydb

    - "cn=test user##13:0:0:94:5c:b2:1f:c3:cc:3a:7d:39:63:0:0:0:0:94:5c##CN=IBM Issuing CA,DC=IBM,DC=com"

    The string before ## is the default friendly name. ie. cn=test user

    You can use the below command to list certificates/label names

    gsk8capicmd_64 -cert -list -db GSK_MS_CERTIFICATE_STORE