简单步骤,没太多说明
vim /etc/services
添加SSL连接通道端口,我给原来的50000中间加443
db2cs_db2inst1 54430
定义变量给后面命令使用。库名DB,密钥库文件存放位置DIR
export DB=AAA;
export DIR=~/sqllibs/security/keystores
创建存放密钥库文件的文件夹,不给一般用户访问
mkdir $DIR;
#chown root:db2iadm1 $DIR;
#chmod 770 $DIR;
gskit命令位置,发现直接在文件夹下用./运行失败,但是全路径运行还是正常的
export PATH=~/sqllib/gskit/bin/:$PATH;
创建密钥库kdb
给kdb创建自签证书
导出证书arm文件给客户端使用
cd $DIR;
gsk8capicmd_64 -keydb -create -db "$DB.kdb" -pw "myServerPassw0rdpw0" -stash ;
gsk8capicmd_64 -cert -create -db "$DB.kdb" -pw "myServerPassw0rdpw0" -dn "CN=myhost.mycompany.com,O=myOrganization,OU=myOrganizationUnit,L=myLocation,ST=ON,C=CA" -label "myselfsigned" -expire 3650 -default_cert yes;
gsk8capicmd_64 -cert -extract -db "$DB.kdb" -pw "myServerPassw0rdpw0" -label "myselfsigned" -target "$DB.arm" -format ascii -fips ;
修改DB2属性。
db2set“增加” SSL连接
db2 update dbm cfg using SSL_SVR_KEYDB $DIR/$DB.kdb ;\
db2 update dbm cfg using SSL_SVR_STASH $DIR/$DB.sth ;\
db2 update dbm cfg using SSL_SVR_LABEL myselfsigned ;\
db2 update dbm cfg using SSL_SVCENAME db2cs_db2inst1 ;\
db2set db2comm=tcptip,ssl ;\
db2stop force; db2start
客户端用keytool创建密钥库,导入前面的arm文件
端口改54430
连接参数增加
> sslConnection true
> sslTrustStoreLocation /opt/a.jks
> sslTrustStorePassword aa