配置oracle用安全套接层连接Word格式文档下载.docx
- 文档编号:16902244
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:20
- 大小:194.19KB
配置oracle用安全套接层连接Word格式文档下载.docx
《配置oracle用安全套接层连接Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《配置oracle用安全套接层连接Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
Description描述
公用CommonName名称
Mandatory.必填项。
Enterthenameoftheuser'
sorservice'
sidentity.输入的用户的名称或服务的身份。
Enterauser'
snameinfirstname/lastnameformat.输入用户的姓名。
Example:
Eileen.Sanger
OrganizationalUnit组织单元
Optional.可选项。
Enterthenameoftheidentity'
sorganizationalunit.输入部门的名称。
Example:
Finance.例如:
财务。
Organization组织
Optional.Enterthenameoftheidentity'
sorganization.可选项。
输入组织的名称身。
XYZCorp.例如:
某公司
Locality/City地区/城市
可选项。
Enterthenameofthelocalityorcityinwhichtheidentityresides.输入居住城市。
State/Province省/市/自治区
Enterthefullnameofthestateorprovinceinwhichtheidentityresides.输入姓名的州或省的身份在其中居住。
Enterthefullstatename,becausesomecertificateauthoritiesdonotaccepttwo–letterabbreviations.输入完整的国家的名字,因为有些证书当局不接受两个字母的缩写。
Country国家
必填项。
SelectCountrytoviewalistofcountryabbreviations.选择国家,以查看清单,国家缩写。
Selectthecountryinwhichtheorganizationislocated.选择在哪个国家组织的所在地。
中国为CN
KeySize密钥长度
SelectKeySizetoviewalistofkeysizestousewhencreatingthepublic/privatekeypair.选择密钥长度,建议选择1024以上长度。
DNAdvanced
SelectAdvancedtoviewtheAdvancedCertificateRequestdialogpanel.选择高级,以查看高级证书申请对话。
Usethisfieldtoeditorcustomizetheidentity'
sdistinguishedname(DN).使用该字段编辑或自定义身份的辨别名称(DN)。
Forexample,youcaneditthefullstatenameandlocality.例如,您可以编辑充分国家名称和地点。
以上表格必填项填好后,点确定生成认证表求。
接下来的工作是导出证书请求了。
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及相关加密技术的软件包,由加拿大的EricYang等发起编写的。
OpenSSL的官方网站为http:
//www.openssl.org/,源代码可以从ftp:
//ftp.openssl.org/source/上下载,也可以从OpenSSL的镜像网站下载。
注!
在redhatlinux下,默认安装有安装好的openssl,而http:
//www.openssl.org/都是原代码,而且需要懂的C语方的编译才能编译成功,此处从网上收集了forWindowsopenssl已经编译好的二进制代码。
我们这里使用openssl用来生成根证书和信任的用户证书。
由于网上收集这两个包压开来需要经过配置,而我的机器又装有MKSToolkitforDevelopersWeb-extractingtool带有openssl,以下例子使用openssl是MKSToolkitforDevelopersWeb-extractingtool工具上带的,如果是使用redhatlinux,也可以在redhatlinux下制作。
3.1.创建制作证书目录
mkdirc:
\ssl
cdssl
mkdirca
3.2.制作发行证书
由于证书需要一个发行机构,我们就用openssl制作一个发行证书。
然后在把这个发行证书导入到可信任根证下面,这样这个发行的证书就全部生效了。
首先来制作一个发行证书的请求。
opensslreq-new-newkeyrsa:
1024-nodes-outc:
/ssl/ca/ca.csr–keyoutc:
/ssl/ca/ca.key
输入发行机构的信息后,根据生成的证书请生成证书。
opensslx509-signkeyc:
/ssl/ca/ca.key-req-inc:
/ssl/ca/ca.csr-outc:
/ssl/ca/ca.crt-CAcreateserial-days365
3.3.制作用户证书
以上已经制作好发行的信任证书了,现在就根据上面发行的信任证书来制作用户证书。
这里用户证书的请求就是第2节的导出证书请求的文件,此例中文件名为:
c:
\ssl\request.txt,输入如下命令:
opensslx509-req-inc:
\ssl\request.txt-outuser.crt-CAc:
/ssl/ca/ca.crt-CAkeyc:
/ssl/ca/ca.key-CAcreateserial-days365
以上命令生成用户证书名为user.crt,现在把c:
/ssl/ca/ca.crt和user.crt文件都发给申请请求用户者。
4.导入信认根证书和用户证书
通过第三节已经制作好用户证书了,但此用户证书制作机构不是“VeriSignClass3PublicPrimaryCA”等在名顶顶的认证机构,我们首先需要把制作用户发行机构的证书导入到可信根证书,也就是第3节的c:
/ssl/ca/ca.crt文件。
4.1.导入信认根证书
打开oracle的WalletManager工具,选择操作,导入信任证书,选择包含证书的文件,点确定,选择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协议
配置好以后,需要重新启动监听服务,在命令行下输入
lsnrctlstop
lsnrctlstart
5.1.确认服务器已经生成Wallet
确认第2节中的Wallet是否创建,确认用户证书是否就绪,同时检查Wallet是否自动登录。
5.2.指定监听服务Wallet存放位置
首先启动NetManager工具:
∙(Windows)选择开始,程序,Oracle-HOME_NAME,配置和移植工具,NetManager
∙(UNIX)在命令行,输入netmgr
打开NetManager工具后,选择右边OracleNet配置,本地,概要文件,在右边最上面下拉框选择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协议
在NetManager工具左边树中选择OracleNet配置,本地,监听程序,LISTENER(如果不存在监听程序,程序编辑菜单下的创建来创建一个监听),在右边最上面下拉框选择监听位置,在下面点添加地址。
协议:
使用SSL的TCP/IP;
主机:
输入机器名或要监听的本机IP地址;
端口:
输入监听的端口号,Oracle推荐使用的2484作为SSL的TCP/IP协议监听端口;
点显示高级,出现高级协议参数;
发送缓冲区大小总计:
32768;
接收缓冲区大小总计:
32768。
提示!
由于windows默认缓冲区大小小于32K,而当数据库存有clob和log类型时候,此值要设置大于32k,否则会出现ORA-03114错误,exp时候会出ORA-03113和ORA-24324。
在listener.ora文件更新如下:
LISTENER=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCPS)(HOST=zhoujunhe)(PORT=2484)(SEND_BUF_SIZE=32768)(RECV_BUF_SIZE=32768))
在sqlnet.ora文件更新如下:
SQLNET.AUTHENTICATION_SERVICES=(BEQ,TCPS,NTS)
注意,TCPS必需存在,如果这行不存在或这行值没有TCPS,可以手工加sqlnet.ora这个文件内容。
5.4.配制数据库监听位置
由于我们配制监听的时候使用了2484这个端口,而这个端口不是oracle默认动态PMON进程向监听注册端口,所以我们需要配置静态监听数据库服务。
在NetManager工具左边树中选择OracleNet配置,本地,监听程序,LISTENER(如果不存在监听程序,程序编辑菜单下的创建来创建一个监听),在右边最上面下拉框选择数据库服务。
如果要监听的数据服务已经配置,接下来就不需要配置了。
点下面按钮的添加数据库。
全局数据库名:
输入创建数据时候的全局名。
Oracle主目录:
输入Oracle的Home目录,如:
D:
\oracle\product\10.2.0\db_1
SID:
输入数据库实例的sid。
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=)
(ORACLE_HOME=D:
\oracle\product\10.2.0\db_1)
(SID_NAME=ora10g)
至此,服务端的SSL的TCP/IP协议已经配置完,如果监听已经启动,可以重启监听了,在命令行下输入:
如果没有报错,证明配制正确。
以下是重启监听信息:
C:
\>
LSNRCTLfor32-bitWindows:
Version10.2.0.4.0-Productionon28-7月-200915:
37:
43
Copyright(c)1991,2007,Oracle.Allrightsreserved.
正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=zhoujunhe)(PORT=2484)))
命令执行成功
46
启动tnslsnr:
请稍候...
TNSLSNRfor32-bitWindows:
Version10.2.0.4.0-Production
系统参数文件为D:
\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入D:
\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
监听:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=)(PORT=2484)))
LISTENER的STATUS
------------------------
别名LISTENER
版本TNSLSNRfor32-bitWindows:
启动日期28-7月-200915:
48
正常运行时间0天0小时0分2秒
跟踪级别off
安全性ON:
LocalOSAuthentication
SNMPOFF
监听程序参数文件D:
监听程序日志文件D:
\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
服务摘要..
服务"
"
包含1个例程。
例程"
ora10g"
状态UNKNOWN,包含此服务的1个处理程序...
如果启动过程有错误,证明配置有错误,查看后面疑难解答。
6.配置使用SSL的TCP/IP连接客户端
在上面一节讲的是服务器端的配置,如果使用是本机连接,这节只需要配置第2小节就可以跳转到第7节连接数据库
6.1.确认客户端已经生成Wallet
如果客户机和服务端不在同一台机器,在一步前必需确认Wallet是否创建,而且确认自动登录,如果没有创建好,请返回前面三节来创建Wallet,并生成证书。
如果是本机连接,由于配置服务端的时候,Wallet和ssl都已经配置好了,只需要配置下面节的Oracle网络配置就可以连接数据库了。
6.2.配置的Oracle网络服务名称
在NetManager工具左边树中选择OracleNet配置,本地,服务命名,选择要配制服务名(如果需要重新创建一个服务名,程序编辑菜单下的创建来创建一个服务名)。
服务名:
输入和配置数据库监听相同服务名;
连接类型:
选择数据库默认设置。
在地址配置先项
选择使用SSL的TCP/IP;
主机名:
输入服务器的机器名或IP地址;
端口号:
输入服务配置使用SSL的TCP/IP协议端口号(oracle推荐使用2484),此处端口号和服务端端口一致。
在配置好以上信息后,须手动修改客户端的网络配置文件tnsnames.ora和sqlnet.ora。
在不同系统位于不同位置
●(UNIX)$ORACLE_HOME/network/admin/
●(Windows)%ORACLE_BASE%\%ORACLE_HOME%\network\admin\
在添加如下粗体信息
SSL=
(ADDRESS_LIST=
(CONNECT_DATA=
(SERVICE_NAME=)
(SECURITY=
(SSL_SERVER_CERT_DN="
cn=finance,cn=OracleContext,c=us,o=acme"
)
双引号里的内容必必是服务端用户证书的DN(主题名),此DN可以用WalletMangaget打开服务端的Wallet来查看用户证书的DN(主题名)。
6.3.客户端配置Wallet位置
打开NetManager工具,选择右边OracleNet配置,本地,概要文件,在右边最上面下拉框选择Oracle高级安全性,单击SSL标签。
输入客户端Wallet存放位置。
为以下目标配置SSL选择客户机。
这样,以上一个简单的ssl协议连接已经配置好,接下来测试连接数据了。
7.连接数据库
sqlplususer/password@ssl
连接信息如下:
sqlplustest/test@ssl
SQL*Plus:
Release10.2.0.4.0-Productionon星期五7月3111:
41:
492009
Copyright(c)1982,2007,Oracle.AllRightsReserved.
连接到:
OracleDatabase10gEnterpriseEditionRelease10.2.0.4.0-Production
WiththePartitioning,OracleLabelSecurity,OLAP,DataMining
andRealApplicationTestingoptions
SQL>
如果连接报有错误,查看后面疑难解答。
8.疑难解答
ThefollowingsectionliststhemostcommonerrorsyoumayreceivewhileusingtheOracleAdvancedSecuritySSLadapter.
Itmaybe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 配置 oracle 安全 套接 连接