gpt4 book ai didi

database - Oracle Advanced Security 的数据加密问题

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:22 25 4
gpt4 key购买 nike

我使用 Oracle Advanced Security 在数据传输过程中加密数据。我已使用以下参数成功配置 ssl 并重新启动了实例。我正在从下面给出的 Java 类中检索数据。但是我可以在不解密的情况下读取数据,数据没有被加密。

环境:

Oracle 11g 数据库

SQLNET.AUTHENTICATION_SERVICES= (BEQ, TCPS, NTS)

SSL_VERSION = 0

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

SSL_CLIENT_AUTHENTICATION = FALSE

WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = C:\Users\kcr\Oracle\WALLETS)
)
)

SSL_CIPHER_SUITES= (SSL_RSA_EXPORT_WITH_RC4_40_MD5)

Java 类:

try{
Properties properties = Utils.readProperties("weka/experiment/DatabaseUtils.props");
// Security.addProvider(new oracle.security.pki.OraclePKIProvider()); //Security syntax
String url = "jdbc:oracle:thin:@(DESCRIPTION =\n" +
" (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))\n" +
" (CONNECT_DATA =\n" +
" (SERVER = DEDICATED)\n" +
" (SERVICE_NAME = sal)\n" +
" )\n" +
" )";
java.util.Properties props = new java.util.Properties();

props.setProperty("user", "system");
props.setProperty("password", "weblogic");
// props.setProperty("javax.net.ssl.trustStore","C:\\Users\\kcr\\Oracle\\WALLETS\\ewallet.p12");
// props.setProperty("oracle.net.ssl_cipher_suites","SSL_RSA_EXPORT_WITH_RC4_40_MD5");
// props.setProperty("javax.net.ssl.trustStoreType","PKCS12");
//props.setProperty("javax.net.ssl.trustStorePassword","welcome2");

DriverManager.registerDriver(new OracleDriver());
Connection conn = DriverManager.getConnection(url, props);
/*8 OracleDataSource ods = new OracleDataSource();
ods.setUser("system");
ods.setPassword("weblogic");
ods.setURL(url);
Connection conn = ods.getConnection();*/

Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("select * from iris");
///////////////////////////
while(rset.next()) {
for (int i=1; i<=5; i++) {
System.out.print(rset.getString(i));
}
}

最佳答案

您是否希望您的 SELECT 语句返回加密数据并且您的 System.out.print 调用会导致屏幕上的加密输出?如果是这样,那不是高级安全性的工作方式——高级安全性允许您通过网络加密数据,但数据在 SQLNet 堆栈中是未加密的。因此,您的 SELECT 语句将始终看到未加密状态的数据。您需要执行 SQLNet 跟踪或使用某种数据包嗅探器来查看在线路上传输的加密数据。

关于database - Oracle Advanced Security 的数据加密问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3635550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com