我是加密新手,想弄清楚Linux gpg命令和Oracle的dbms_crypto軟件包是否可以一起工作。 Oracle版本是11R2。如果可能的話,我將接收由不同系統加密的文件,並希望通過PL/SQL解密它們。我正在通過下面的線程作爲POC來查看這是否可能。Oracle PL/SQL dbms_crypto包可以解密使用Linux gpg命令加密的文件嗎?
在Linux提示我創建了這個命令的關鍵:
gpg --gen-key
創建與此命令公鑰(使用實際的電子郵件地址):
gpg --armor --export [email protected] > mypublickey
和加密我的文件中像此:
gpg -r [email protected] --output input.txt.encrypted --encrypt input.txt
標準輸出之間是這樣的信息:
gpg: encrypted with 2048-bit RSA key
所以現在我有一個加密文件。
使用blobs/clobs我將我的加密文件和我的pub密鑰加載到Oracle表中。我試圖使用dbms_crypto.decrypt功能解密文件:
select dbms_crypto.decrypt(
encrypted_file,
?,
utl_raw.cast_to_raw('public_key'),
null)
from crypto_test_lobs
在這一點上我不能確定什麼值,以通爲這是「流或塊加密類型和修飾符的第二個參數使用」。我嘗試了幾種不同的組合,這些組合導致了各種可能不值得發佈的異常。
所以我的問題是:
- 這可能嗎?
- 如何找出第二個參數?
由於
你嘗試過這個參數是什麼?根據http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_crypto.htm,它是一個整數與常量組合如DBMS_CRYPTO.ENCRYPT_AES256,DBMS_CRYPTO.CHAIN_CBC,DBMS_CRYPTO.PAD_PKCS5 –
試過幾個表39-5,7和8的組合。從這裏http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_crypto.htm#CHDBJIEF。真的只是在黑暗中刺傷。不知道拉斐爾提到的對稱/非對稱密碼。 – John