在本文中,我们将介绍Db2数据服务器驱动程序11.1版本的配置步骤,便于通过SSL与Db2服务器进行通信。这个步骤的先决条件是要为SSL配置Db2服务器。我们在SSL连接配置IBM Db2 LUW 版本11.1(自签名证书)的文章中描述了如何执行此操作。
本文还介绍了如何配置较旧的客户端(版本10.5 之前的客户端)。由于并非所有生成的文件都有对应的选项。因此,在通读本文后,您可根据自身需要,决定使用哪种版本。
如要生成密钥数据库和证书,必须安装GSKit。在无法安装GSKit时,我们可以在数据库服务器上生成所有必需的文件,再将其移至客户端。
存储在Db2服务器上的证书文件夹应包含以下文件:
server.arm
server.crl
server.kdb
server.rdb
server.sth
我们可以打开终端,然后将位置更改为这些文件所在的路径。 并运行以下命令,以创建客户端密钥库。
gsk8capicmd_64 -keydb -create -db "client.kdb" -pw "Passw0rd" –stash

您可在上文所提及的文中找到有关命令参数的说明。
如需将服务器证书添加到客户端密钥库,请运行以下命令:
gsk8capicmd_64 -cert -add -db "client.kdb" -pw "Passw0rd" -label "mylabel" -file "server.arm" -format ascii –fips
在文件参数中定义服务器证书的路径。
运行此命令后,文件夹中应包含以下文件:
client.crl
client.kdb
client.rdb
client.sth
server.arm
server.crl
server.kdb
server.rdb
server.sth

将文件client.sth,client.kdb(版本10.5之前)和server.arm一同移动到客户机器中。

如果您的客户端版本低于10.5,则需要安装GSKit才能建立与数据库的SSL连接。不过,安装GSKit在Db2客户端安装的范畴之外。
如何在Windows上安装GSKit:
不要忘记确保bin目录“%GSKIT_HOME%/ lib”和“%GSKIT_HOME%/ ”均在PATH系统变量中。变量%GSKIT_HOME%指向GSKit的安装位置。本地DB2客户端的配置需要执行以下命令:
接下来,列出编目数据库。
您可以看到已列出的样本数据库

接下来,尝试连接到数据库,以查看是否可以使用以下命令来建立连接:
db2 connect to sample user <username> using <password>
结果如下:

IBM Db2客户端版本10.5及更高版本(数据服务器驱动程序)
无需安装GSKit,您就可以打开CMD窗口,使用命令建立新连接,并将其添加到Db2驱动程序中。此时,客户端驱动程序将创建一个内部密钥数据库并将证书添加至其中。
如需添加位于服务器192.168.139.138和端口50001上的样本数据库,请执行以下命令:

现在,由于使用了自签名证书,我们需要与客户端进行配置。在Db2 10.5 中,我们只需使用服务器公共密钥文件,无需使用存储文件或密钥文件。
在10.5 或更高版本中,我们只需添加服务器公钥并激活SSL。
使用以下命令检查配置是否有效:
db2cli validate –dsn SAMPLE

最后一步是测试连接情况:
testconn40 "DATABASE=alias;UID=userid;PWD=password;"

完美!此时您已可以成功连接。
现在打开Toad for DB2,并尝试连接到应用程序中的数据库。


如果在数据库资源管理器中成功看到数据库对象,则说明已安装完成。本文演示了如何配置Db2数据服务器客户端,以使用自签名SSL证书。我们讨论了版本10.5 之前和版本10.5之后的配置差异,以及Db2客户端与Db2数据服务器驱动程序之间的配置差异。
上一条:Toad如何在IBM Db2 云数据库上建立SSL连接
下一条:如何使用IBM Data Server Driver来安装Toad for DB2 6.3