我正在尝试将密码存储在Oracle Wallet文件中,我将从代码中检索并使用。
我尝试创建钱包并在那里保存凭证: -
$ mkstore -wrl <wallet_location> -createCredential sid scott tiger
Oracle Secret Store Tool : Version 12.1.0.2
Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved.
Enter wallet password:
Create credential oracle.security.client.connect_string1
创建不会出现任何错误,但是当我尝试列出凭据时,我什么都没得到。
$ mkstore -wrl -listCredential
Oracle Secret Store Tool : Version 12.1.0.2
Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved
另外,如何使用java检索此密码?
答案 0 :(得分:2)
使用wallet连接Oracle DB需要进行以下更改。
您需要创建钱包商店,您还需要为钱包选择密码,并且在修改钱包时需要使用此密码
例如 C:\ Oracle_11.2.0 \ product \ client_1 \ bin \ mkstore -wrl C:\ Users \ sample \ app \ wallet
您需要在tnsnames.ora中添加tns条目( OracleClientHome /network/admin/tnsnames.ora),同样的tns条目名称将用于我们的钱包连接字符串
例如 C:\ Oracle_11.2.0 \ product \ client_1 \ network \ admin \ tnsnames.ora
您需要使用凭据为上述tns条目创建钱包条目,您还需要提供您在创建钱包时提供的钱包密码。
例如 C:\ Oracle_11.2.0 \ product \ client_1 \ bin \ mkstore -wrl C:\ Users \ sample \ app \ wallet -createCredential SAMPLEDB_RO示例样本
您需要添加sqlnet.ora文件以将钱包位置和钱包覆盖标志更新为true
<强> e.g。强>
使用wallet和oracle客户端测试数据库连接,以确保钱包配置正确
OracleClientHome / bin / sqlplus / nolog
连接 DB_Username / DB_Password @ TNS_Entry_Name
<强> e.g。强>
你需要让java应用程序准备好使用钱包并运行带有以下JVM参数的java程序
<强> OracleClientHome 强> /jlib/osdt_core.jar
<强> e.g。强>
C:\ Oracle_11.2.0 \产品\的Client_1 \ jlib \ osdt_core.jar
更改应用程序配置瘦URL以使用钱包
JDBC:预言:瘦:/ @的 TNS_Entry_Name / Wallet_Entry_name 强>
<强> e.g。强>
JDBC:预言:瘦:/ @ SAMPLEDB_RO
还添加以下属性作为JVM参数,这有助于库找到oracle钱包
-Doracle.net.tns_admin = OracleClientHome / network / admin -Doracle.net.wallet_location = 您要存储钱包的位置
例如 -Doracle.net.tns_admin = C:\ Oracle_11.2.0 \ product \ client_1 \ network \ admin -Doracle.net.wallet_location = C:\ Users \ sample \ app \钱包
你们都准备好了!
OracleClientHome / bin / mkstore -wrl 您要存储钱包的位置 -listCredential
例如 C:\ Oracle_11.2.0 \ product \ client_1 \ bin \ mkstore -wrl C:\ Users \ sample \ app \ wallet -listCredential
答案 1 :(得分:0)
必须记住的一件事是,为createCredential
命令选择的别名必须与用于连接的URL 相同。
当您的JDBC连接字符串看起来像jdbc:oracle:thin:/@dbsrv:1521/orcl
时,您必须使用命令
mkstore -wlr /foobar -createCredential dbsrv:1521/orcl USER PASSWORD