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

标签 database oracle security ssl

我使用 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/

相关文章:

php - 大于 bigint 的 MySQL 字段

c# - 大型数据库表的数据完整性

sql - SQL创建表在列使用%type

android - SSRS 网页的 Monodroid WebView 身份验证

security - 我应该通过 Twitter 上的直接消息向用户提供丢失的凭据吗?

java - SecureRandom.ints() 安全吗?

sql - 为什么当我使用临时表时,oracle 中的查询需要更长的时间?

database - 什么技术可以帮助我快速搜索、过滤和分组广泛数据集中的任何列?

sql - 查找特定记录的值(value)相对于整个结果的百分比

node.js - Elastic Beanstalk 上的环境变量/oracledb