加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长百科 > 正文

How to use Oracle Wallet

发布时间:2021-03-19 11:41:16 所属栏目:站长百科 来源:网络整理
导读:Wallet可以将其当作一种免密连接的方式,在DB端配置好wallet,然后将验证文件拷贝到客户端,客户端在使用这个连接的时候就可以不用密码登陆了。 简单配置: 1,创建一个存储wallet的位置:mkdir -p /tmp/wallet/orcl 2,在tnsnames.ora里面配置你的连接串:

Wallet可以将其当作一种免密连接的方式,在DB端配置好wallet,然后将验证文件拷贝到客户端,客户端在使用这个连接的时候就可以不用密码登陆了。

简单配置:

1,创建一个存储wallet的位置:mkdir -p /tmp/wallet/orcl

2,在tnsnames.ora里面配置你的连接串:

  ORCL_WALLET= 
   (DESCRIPTION= 
     (ADDRESS=((PROTOCOL=tcp)(HOST=test1.com)(PORT=1630))) 
    (CONNECT_DATA= (SERVICE_NAME=ORCL)))    

3,使用mkstore创建wallet: ?mkstore -wrl <wallet_location> -create

  mkstore -wrl /tmp/wallet -create

  这一步会生成?cwallet.sso?和?ewallet.p12,?cwallet.sso是auto login wallet,用于免去交互式密码登录,ewallet.p12则是PKCS #12 wallet,用来存储传输个人登录认证信息。

4,往wallet里面添加认证信息: mkstore -wrl <wallet_location> -createCredential <db_connect_string> <username> <password>

  例子,比如说配置账号为scott,密码为tiger的免密登录:

  mkstore -wrl?/tmp/wallet/orcl -createCredential ORCL_WALLET scott tiger

  小tips:

  a,推荐使用tnsnames.ora配置连接串的方式

  b,如果你使用的不是tnsnames.ora来配置<db_connect_string>的话,而是使用?(DESCRIPTION=?(ADDRESS=((PROTOCOL=tcp)(HOST=test1.com)(PORT=1630)))?(CONNECT_DATA= (SERVICE_NAME=ORCL)))这种形式,你要注意使用双引号将其包含起来,因为任何特殊字符都会导致失败

  c,你可以在客户端保存多个DB多个wallet,但是在服务端,你不能往一个wallet里面添加多个登录认证信息,比如说,你创建了一个wallet,然后往这个wallet添加了用户scott,那么就算你是同一个DB的,你也不能再往这个wallet里面添加其他用户了。多个schema要配置多个wallet。

测试:

1,在sqlnet.ora里面配置  

WALLET_LOCATION =
   (SOURCE =
     (METHOD = FILE)
     (METHOD_DATA =
       (DIRECTORY = /tmp/wallet/orcl)
     )
    )

SQLNET.WALLET_OVERRIDE = TRUE
SSL_CLIENT_AUTHENTICATION = FALSE
Note: 当一个应用使用了SSL加密的话,SQLNET.WALLET_OVERRIDE设置为true,它会在SSL认证后,使用wallet中存储的用户密码认证DB

2,在tnsnames.ora里面配置,注意alias必须跟你之前创建wallet的时候一样,不然会认证失败

  ORCL_WALLET= 
   (DESCRIPTION= 
     (ADDRESS=((PROTOCOL=tcp)(HOST=test1.com)(PORT=1630))) 
    (CONNECT_DATA= (SERVICE_NAME=ORCL)))    

3,测试,连接串也是使用相同的alias

  sqlplus /@ORCL_WALLET

?

其他的一些管理:

1,用户更新密码后,记得更新wallet

mkstore -wrl <wallet_location> -modifyCredential <dbase_alias> <username> <password>

2,DB信息更新后,记得更新tnsnames.ora

3,删除wallet里面的认证信息?

mkstore -wrl <wallet_location> -deleteCredential <db_alias>

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读