我正在尝试将密码存储在 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
Run Code Online (Sandbox Code Playgroud)
创建没有给出任何错误,但是当我尝试列出凭据时,我什么也没得到。
$ mkstore -wrl -listCredential
Oracle Secret Store Tool : Version 12.1.0.2
Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved
Run Code Online (Sandbox Code Playgroud)
另外,如何使用java检索此密码?
使用 wallet 连接 Oracle DB 需要进行以下更改。
你需要创建一个钱包商店,你还需要为钱包选择一个密码,修改钱包时需要使用这个密码
例如C:\Oracle_11.2.0\product\client_1\bin\mkstore -wrl C:\Users\sample\app\wallet
您需要在 tnsnames.ora ( OracleClientHome /network/admin/tnsnames.ora ) 中添加 tns 条目,并且将使用相同的 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
例如
使用钱包和oracle客户端测试数据库连接以确保钱包配置正确
OracleClientHome /bin/sqlplus /nolog
连接DB_Username / DB_Password @ TNS_Entry_Name
例如
您需要使 Java 应用程序准备好使用钱包并使用以下 JVM 参数运行 Java 程序
OracleClientHome /jlib/osdt_core.jar
例如
C:\Oracle_11.2.0\product\client_1\jlib\osdt_core.jar
更改应用程序配置细 url 以使用钱包
jdbc:oracle:thin:/@ TNS_Entry_Name/Wallet_Entry_name
例如
jdbc:oracle:thin:/@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\wallet
你都准备好了!!
OracleClientHome /bin/mkstore -wrl钱包存放位置 -listCredential
例如C:\Oracle_11.2.0\product\client_1\bin\mkstore -wrl C:\Users\sample\app\wallet -listCredential
| 归档时间: |
|
| 查看次数: |
20380 次 |
| 最近记录: |