配置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/
- 上一篇: Informix Grid介绍及建立与管理
- 下一篇: Informix数据库表连接操作