私は暗号化が初めてで、Linux gpg コマンドと Oracle の dbms_crypto パッケージが連携できるかどうかを調べようとしています。Oracle のバージョンは 11R2 です。別のシステムで暗号化されたファイルを受け取り、可能であれば PL/SQL を介して復号化したいと考えています。これが可能かどうかを確認するために、POC として以下のスレッドを実行しています。
Linux プロンプトで、次のコマンドでキーを作成しました。
gpg --gen-key
このコマンドで公開鍵を作成しました (実際のメールアドレスを使用):
gpg --armor --export xxx@yyy.com > mypublickey
そして、私のファイルを次のように暗号化しました:
gpg -r xxx@yyy.com --output input.txt.encrypted --encrypt input.txt
stdout の中には、次のメッセージがありました。
gpg: encrypted with 2048-bit RSA key
これで、暗号化されたファイルができました。
blob/clobs を使用して、暗号化されたファイルと公開鍵を Oracle テーブルにロードしました。dbms_crypto.decrypt 関数を使用してファイルを復号化しようとしています。
select dbms_crypto.decrypt(
encrypted_file,
?,
utl_raw.cast_to_raw('public_key'),
null)
from crypto_test_lobs
この時点で、「使用するストリームまたはブロック暗号のタイプと修飾子」である 2 番目の引数に渡す値がわかりません。おそらく投稿する価値のないさまざまな例外が発生するいくつかの異なる組み合わせを試しました。
だから私の質問は:
- これは可能ですか?
- その2番目の引数をどのように把握しますか?
ありがとう