当前位置:文档之家› 安全连接-配置使用安全套接层连接oracle

安全连接-配置使用安全套接层连接oracle

配置安全套接层连接oracle目录1. 配置简介 (2)2. 使用Wallet Manager创建Wallet和生成认证请求 (2)2.1. 创建Wallet (2)2.2. 创建认证请求 (3)2.3. 导出证书请求 (3)2.4. 保存Wallet位置 (3)2.5. 让Wallet自动登录 (4)3. 使用openssl工具制作数字证书 (4)3.1. 创建制作证书目录 (4)3.2. 制作发行证书 (4)3.3. 制作用户证书 (5)4. 导入信认根证书和用户证书 (5)4.1. 导入信认根证书 (5)4.2. 导入用户证书 (5)5. 配置使用SSL的TCP/IP连接服务端 (5)5.1. 确认服务器已经生成Wallet (6)5.2. 指定监听服务Wallet存放位置 (6)5.3. 创建监听使用ssl的TCP/IP协议 (7)5.4. 配制数据库监听位置 (8)6. 配置使用SSL的TCP/IP连接客户端 (10)6.1. 确认客户端已经生成Wallet (11)6.2. 配置的Oracle网络服务名称 (11)6.3. 客户端配置Wallet位置 (13)7. 连接数据库 (14)8. 疑难解答 (14)9. Wallet管理方案 (18)10. 参考文献 (18)1.配置简介这里采用安全套接层连接oracle指的是使用ssl的tcp/ip协议连接oracle数据库,由于ssl的tcps/ip协议是采用公钥和私钥进行数据加密,为了解决通信双方的可信问题,使用了数字证书,而orcle是采用“Wallet Manager”来管理证书和公钥和私钥。

配置ssl的tcp/ip协议连接oracle数据库,大体步骤分为以下6步:●使用Wallet Manager创建Wallet和生成认证请求;●使用openssl工具制作数字证书;●导入信认根证书和用户证书;●配置使用SSL的TCP/IP连接服务端;●配置使用SSL的TCP/IP连接客户端;●连接数据库。

注意!以下例子使用的数据库版本为ORACLE 10g 10.2.0.4,如果是其他版本,会有所差异。

2.使用Wallet Manager创建Wallet和生成认证请求Wallet Manager 有以下几点功能:●产生公私密钥对,并生成证书请求;●存储用户证书相匹配的私钥;●配置可信任证书详细配置步骤如下:2.1. 创建Wallet首先启动Wallet Manager工具:•(Windows) 选择开始, 程序, Oracle-HOME_NAME, 集成管理工具, Wallet Manager•(UNIX) 在命令行, 输入owm。

打开Wallet Manager工具后,选择Wallet,新建。

在弹出对话框输入密码,此密码是oracle的Wallet密码,密必是字母和数字结合,而且大于8位字符,Wallet选择标准,点确定。

2.2. 创建认证请求在上面操作点确定以后,提示“是否希望现在创建一个认证请求?”点是。

也可以在选择操作,添加认证请求,在弹出输入信息,信息内容如下表格:2.3. 导出证书请求选择左边树的Wallet下的证书[请求],在选择操作,导出认证请求。

输入要保存文件名[c:\ssl\ request.txt],点保证后导出。

导出认证请求后,接下来就需要使用第3节使用openssl工具来制作数字证书了。

2.4. 保存Wallet位置Wallet创建以后,需要保存Wallet信息,oracle建议保存系统默认位置。

系统默认的Wallet 文件存放如下Unix和Windows平台:•(UNIX) etc/ORACLE/WALLETS/username•(Windows) %USERPROFILE%\ORACLE\WALLETS选择Wallet,系统默认位置,或保存,输入保存路径,点确认。

注!如果Wallet不存放在默认位置,oracle一些程序无法使用。

2.5. 让Wallet自动登录如果不选择Wallet自动登录,在连接数据库的时候会报ORA-28759: 无法打开文件。

选择Wallet,自动登录,把自动登录勾打上。

3.使用openssl工具制作数字证书OpenSSL是一个开放源代码的实现了SSL及相关加密技术的软件包,由加拿大的Eric Yang等发起编写的。

OpenSSL的官方网站为/,源代码可以从ftp:///source/上下载,也可以从OpenSSL的镜像网站下载。

注!在redhat linux下,默认安装有安装好的openssl,而/都是原代码,而且需要懂的C语方的编译才能编译成功,此处从网上收集了for Windows openssl 已经编译好的二进制代码。

我们这里使用openssl用来生成根证书和信任的用户证书。

由于网上收集这两个包压开来需要经过配置,而我的机器又装有MKS Toolkit for Developers Web-extracting tool带有openssl,以下例子使用openssl是MKS Toolkit for Developers Web-extracting tool工具上带的,如果是使用redhat linux,也可以在redhat linux下制作。

3.1. 创建制作证书目录mkdir c:\sslcd sslmkdir ca3.2. 制作发行证书由于证书需要一个发行机构,我们就用openssl制作一个发行证书。

然后在把这个发行证书导入到可信任根证下面,这样这个发行的证书就全部生效了。

首先来制作一个发行证书的请求。

openssl req -new -newkey rsa:1024 -nodes -out c:/ssl/ca/ca.csr –keyout c:/ssl/ca/ca.keyopenssl x509 -signkey c:/ssl/ca/ca.key -req -in c:/ssl/ca/ca.csr -out c:/ssl/ca/ca.crt -CAcreateserial -days 3653.3. 制作用户证书以上已经制作好发行的信任证书了,现在就根据上面发行的信任证书来制作用户证书。

这里用户证书的请求就是第2节的导出证书请求的文件,此例中文件名为:c:\ssl\ request.txt,输入如下命令:求用户者。

4.导入信认根证书和用户证书通过第三节已经制作好用户证书了,但此用户证书制作机构不是“VeriSign Class 3 Public Primary CA”等在名顶顶的认证机构,我们首先需要把制作用户发行机构的证书导入到可信根证书,也就是第3节的c:/ssl/ca/ca.crt文件。

4.1. 导入信认根证书打开oracle的Wallet Manager工具,选择操作,导入信任证书,选择包含证书的文件,点确定,选择c:\ssl\ca\ca.crt文件。

在左边的树中出现导入信任证书。

4.2. 导入用户证书在以上导入了信任证书后,就可以导入用户证书了。

选择操作,导入用户证书,选择包含证书的文件,点确定,选择c:\ssl\user.crt文件。

在左边的树中出现证书[就绪]。

至此,证书的制作和导入都已经完成。

然后按快捷键Ctl+W来保存,同时检查Wallter 菜单下自动登录旁边框打上小钩。

接下来就配制服务端监听ssl的配置了。

5.配置使用SSL的TCP/IP连接服务端在配置服务器端的ssl的TCP/IP连接需要以下几步骤:●确认服务器已经生成Wallter●指定监听服务Wallter存放位置●创建监听使用ssl的TCP/IP协议配置好以后,需要重新启动监听服务,在命令行下输入lsnrctl stoplsnrctl start5.1. 确认服务器已经生成Wallet确认第2节中的Wallet是否创建,确认用户证书是否就绪,同时检查Wallet是否自动登录。

5.2. 指定监听服务Wallet存放位置首先启动Net Manager工具:•(Windows) 选择开始, 程序, Oracle-HOME_NAME, 配置和移植工具, Net Manager•(UNIX) 在命令行, 输入netmgr打开Net Manager工具后,选择右边Oracle Net配置,本地,概要文件,在右边最上面下拉框选择Oracle 高级安全性,单击SSL标签。

配置方法:选择文件系统。

Wallet目录:输入Wallet存放位置。

为以下目标配置SSL选择服务器。

输入以上信息后,点文件菜单下的保存网络配置。

在sqlnet.ora和listener.ora文件更新如下:WALLET_LOCATION =(SOURCE =(METHOD = FILE)(METHOD_DATA =(DIRECTORY = d:\oracle\WALLETS)))5.3. 创建监听使用ssl的TCP/IP协议在Net Manager工具左边树中选择Oracle Net配置,本地,监听程序,LISTENER(如果不存在监听程序,程序编辑菜单下的创建来创建一个监听),在右边最上面下拉框选择监听位置,在下面点添加地址。

协议:使用SSL的TCP/IP;主机:输入机器名或要监听的本机IP地址;端口:输入监听的端口号,Oracle 推荐使用的2484作为SSL的TCP/IP协议监听端口;点显示高级,出现高级协议参数;发送缓冲区大小总计:32768;接收缓冲区大小总计:32768。

提示!由于windows默认缓冲区大小小于32K,而当数据库存有clob和log类型时候,此值要设置大于32k,否则会出现ORA-03114错误,exp时候会出ORA-03113和ORA-24324。

输入以上信息后,点文件菜单下的保存网络配置。

在sqlnet.ora文件更新如下:注意,TCPS必需存在,如果这行不存在或这行值没有TCPS,可以手工加sqlnet.ora这个文件内容。

5.4. 配制数据库监听位置由于我们配制监听的时候使用了2484这个端口,而这个端口不是oracle默认动态PMON 进程向监听注册端口,所以我们需要配置静态监听数据库服务。

在Net Manager工具左边树中选择Oracle Net配置,本地,监听程序,LISTENER(如果不存在监听程序,程序编辑菜单下的创建来创建一个监听),在右边最上面下拉框选择数据库服务。

如果要监听的数据服务已经配置,接下来就不需要配置了。

点下面按钮的添加数据库。

全局数据库名:输入创建数据时候的全局名。

Oracle主目录:输入Oracle的Home目录,如:D:\oracle\product\10.2.0\db_1SID:输入数据库实例的sid。

输入以上信息后,点文件菜单下的保存网络配置。

相关主题