配置informix使用SSL

系统环境:RHEL6U4 64bit
数据库版本:Informix 12.10.FC4

配置informix使用ssl(使用自签名CA)步骤

1,修改ONCONFIG配置文件。

数据库服务名和专用于SSL的服务别名均需要配置

DBSERVERNAME ids1210
DBSERVERALIASES ids1210ssl

视需要增加相应的encrypt VP

VPCLASS encrypt,num=1

同时增加相应的网络类型

NETTYPE socssl,1,50,NET

增加数字证书标签名称,之后将使用到该标签

SSL_KEYSTORE_LABEL ssltestlabel

2,配置SQLHOST文件

ids1210         onsoctcp        rhel64   12100
ids1210ssl      onsocssl        rhel64   12101

3,创建服务器端keystore

服务器端keystore和stash文件存放位置为
$INFORMIXDIR/ssl/dbservername.kdb
$INFORMIXDIR/ssl/dbservername.sth
其中的dbservername即是ONCONFIG中的DBSERVERNAME

以下命令是使用gsk8capicmd_64(64位系统,32位系统的是gsk8capicmd)创建keystore,stash和自签名CA

[informix@rhel64 ssl]$ gsk8capicmd_64 -keydb -create -db ids1210.kdb -pw mypasswd -type cms -stash
[informix@rhel64 ssl]$ gsk8capicmd_64 -cert  -create -db ids1210.kdb -pw mypasswd -label ssltestlabel -dn "CN=liaosnet.com,O=liaosnet,C=CN" -size 1024 -default_cert yes

导出ASCII码的CA

[informix@rhel64 ssl]$ gsk8capicmd_64 -cert -extract -db ids1210.kdb -format ascii -label ssltestlabel -pw mypasswd -target ssltestlabel.cert

4,创建客户端keystore

以下命令是使用gsk8capicmd_64(64位系统,32位系统的是gsk8capicmd)创建keystore,stash

[informix@rhel64 ssl]$ gsk8capicmd_64 -keydb -create -db clikeydb.kdb -pw mypasswd -type cms -stash

导入服务器端的CA

[informix@rhel64 ssl]$ gsk8capicmd_64 -cert -add -db clikeydb.kdb -pw mypasswd -label ssltestlabel -file ssltestlabel.cert -format ascii

注:不论是服务器端还是客户端keystore,权限建议设置为664,如果$INFORMIXDIR仅安装有INFORMIX,权限建议是600或者640,属主、组均为informix

5,配置conssl.cfg文件

conssl.cfg供SQLI客户端程序使用(dbaccess, esqlc等),位于$INFORMIXDIR/etc目录下,相应的两个客户端keystore,即之前创建的.kdb和.sth

# config file conssl.cfg in $INFORMIXDIR/etc
SSL_KEYSTORE_FILE    /home/informix/ssl/clikeydb.kdb
SSL_KEYSTORE_STH    /home/informix/ssl/clikeydb.sth

按上述配置完成后,重新启动数据库,即可使用SSL方式连接数据库。
可通过onstat -g ntt检查,应当有socssl的网络接口启用。

配置SSL远程客户端连接到INFORMIX库
Windows
系统环境:Windows 2003 32bit
CSDK版本:CSDK 3.70.TC8

1,获取证书文件

获取clikeydb.kdb, clikeydb.sth, ssltestlabel.cert 三个在服务端生成的文件,放入本地客户端CSDK或者CONNECT安装目录的ssl目录下。默认地址是:C:\Program Files\IBM Informix Client SDK

2,修改配置$INFORMIXDIR/etc/conssl.cfg

增加相应的两个客户端keystore,即下载的.kdb和.sth。需要特别注意的是,目录名中不能使用空格,如下所示:

SSL_KEYSTORE_FILE C:\PROGRA~1\IBMINF~1\ssl\clikeydb.kdb 
SSL_KEYSTORE_STH C:\PROGRA~1\IBMINF~1\ssl\clikeydb.sth

3,在CSDK的setnet32中配置相应的SQLHOSTS信息

ids1210ssl    onsocssl        rhel64    12101

完成之后可以使用ConnectTest Demo 测试通过ssl连接到数据库服务器。

Linux
系统环境:RHEL5U8 64bit
CSDK版本:CSDK 3.50.FC9

1,获取证书文件

获取clikeydb.kdb, clikeydb.sth, ssltestlabel.cert 三个在服务端生成的文件,放入本地客户端CSDK或者CONNECT安装目录的ssl目录下。

2,修改配置$INFORMIXDIR/etc/conssl.cfg

增加相应的两个客户端keystore,即下载的.kdb和.sth。

SSL_KEYSTORE_FILE    /home/informix/ssl/clikeydb.kdb 
SSL_KEYSTORE_STH    /home/informix/ssl/clikeydb.sth

3,配置相应的SQLHOSTS信息

ids1210ssl    onsocssl        rhel64    12101

编写简单的ESQLC程序连接到远程数据库服务器,使用类似于connect to 'sysmaster@ids1210ssl' 这样的语句连接即可。

来源:http://www.ibm.com/developerworks/data/library/techarticle/dm-0912securesockets1/

标签: none

添加新评论