Oracle網路加密傳輸配置

2021-10-08 17:46:40 字數 2084 閱讀 9946

很久前,公司使用oracle資料庫,很多時候會用定時任務在oracle資料庫間進行資料同步,在和三方對接過程中,可能需要在公網中布置oracle資料庫作為中間庫,對於安全較高的業務資料來說加密就顯得極為重要。經查詢,oracle自身支援加密傳輸,因此到官網查詢,完成相關配置並在本地抓包檢測。

檢視官網資料:

客戶端sqlnet.ora檔案中增加配置

sqlnet.encryption_client=accepted #表明客戶端接受安全網路傳輸請求(預設值就是accepted)
可選值:

rejected: 客戶端拒絕任何安全網路傳輸連線請求

requested: 如果另一方請求或需要安全服務,則該安全服務將被啟用

required: 只有當另一端接受安全網路傳輸時,客戶端才接受連線

服務端sqlnet.ora檔案中增加配置

sqlnet.encryption_server=required

sqlnet.encryption_types_server=

drivermanager.registerdriver(new oracle.jdbc.driver.oracledriver());

properties props = new properties();

props.put("oracle.net.encryption_client", "accepted");

props.put("oracle.net.encryption_types_client", "rc4_128");

props.put("user", "***");

props.put("password", "yyy");

connection conn = drivermanager.getconnection("jdbc:oracle:thin:@myhost:1521:mysid", props);

md5 or sha-1 

客戶端:

sqlnet.crypto_checksum_client = [ accepted | rejected | requested | required ] 

sqlnet.crypto_checksum_types_client =

伺服器端:

sqlnet.crypto_checksum_server = [ accepted | rejected | requested | required ] 

sqlnet.crypto_checksum_types_server =

oracle 11g版本的加密口令存放在sys.user$表中的spare4列中,而password列中仍保留以前版本加密口令。由於客戶端計算加密口令需要用到salt,在建立連線時,伺服器端將salt明文傳送給客戶端程式。oracle 11g中新的口令加密演算法中區分大小寫;由於加入了隨機數salt,兩個不同使用者的口令即便完全相同,計算得到的sha1的雜湊值也不同;不同db中相同使用者相同口令,sha1雜湊值也可能不同。

#sqlnet.ora檔案中做如下配置

# 伺服器端

sqlnet.encryption_server = required #開啟加密

sqlnet.encryption_types_server = aes128 #採用aes對稱加密演算法

sqlnet.crypto_checksum_server = required #需要對資料完整性進行驗證

sqlnet.crypto_checksum_types_server = md5 #簽名演算法

#客戶端

sqlnet.crypto_checksum_client = accepted

sqlnet.crypto_checksum_types_client = md5

未加密:

配置加密後:

wiki資源:

c 網路加密傳輸

網上已經有很多測試,我就不多說了。先說說我的測試。1.net framework 都應該合適。2.rsacryptoserviceprovider類在.net core 下無法呼叫xml匯出方法 windows 3.居網上說rsacryptoserviceprovider在linux上不支援,我還沒...

https加密傳輸詳解

https採用對稱加密與非對稱加密的混合加密方式 混合加密方式原理 1.服務端將非對稱加密的公鑰傳送給客戶端 2.客戶端拿著服務端發來的公鑰,對對稱加密的key做加密並發給服務端 3.服務端拿著自己的私鑰對發來的密文解密,從來獲取到對稱加密的key 4.二者利用對稱加密的key對需要傳輸的訊息做加解...

加密傳輸重要資訊

荊軻刺秦王 在專案中,我們往往需要傳遞一些重要資料 通常這些資料都和錢有關 為了防止這些資料被擷取篡改,我們經常會為資料加密處理。我們的思路是 md5 重要資訊 隨機字元 當前時間 key 這個key是md5加密後的隨機字串 具體步驟 1.nonestr 隨機獲取 1 9a za z 的24位字串 ...