2017-12-29 24 views
0

OpenSSLと秘密鍵を使用してエンコードしたメッセージがあります。公開鍵を使用してMySQLのストアドプロシージャでメッセージをデコードしたいMySQLのテーブルに格納)。ここでMySQL Community ServerのストアドプロシージャでOpenSSLを使用して作成したメッセージをデコードする

は、私はBase64で文字列のことを渡す場合ここで

echo "The message I want encoded" | openssl rsautl -encrypt -inkey private_key.pem -out >(base64) 

は、それが生成する出力は、...今

B7b2L7AMD7NBcg30N+DrO4gJFojzw06GKJFZTJsJCEjIeHBNjN2tUh7Nx18Y69wN342FhVQ4HYxv 
A5+kVB5LN2v81R1y4qTn/z/PqPTVdAiH/F7zNb/XsrzkLhTCqHgCwxwRPuiR4PTZ8InSo4X88r68 
v7LcQD58z20bLq98dcXmPRPpsLqwY4KSofSajkh4LZ4+K+5wiWRv0LyMnFtHCuc97Rafzm7kYf7c 
Nvts0C3mmwieUXzBCJiunLw8Hn6waD451Kvm3cCjhyPIYOpyA5Vkzxb2XQy3KOpAHK8TOqdUI4Gy 
TPK8OCBaEknM4ywF0AuMdpV9ntk0JfLAyka6WQ== 

です...私は、Linuxのコマンドラインからのメッセージを生成する方法であります公開鍵でMySQLのプロシージャに、私はそれをデコードできますか?

これも可能ですか?私は例を見つけることができません。私は、AES_DECRYPTが使用するコマンドだと推測していますが、これを行うには正しい方法であるかどうか、あるいは理解できません。

私は実験モードになっているので、私はこれをすべて手作業で行っているので、最後に呼び出すMySQLストアドプロシージャ以外に特別な言語はありません。しかし、単純なSQLは、これがどのように行われるかを実証するために働くでしょう。

開始するにはちょうどナッジが必要です。例えば、@ pubkeyという名前の変数に公開鍵を格納し、@messageという名前の変数にメッセージを格納した場合、このようなSQLを使用しますか?

select AES_DECRYPT(from_base64(@message),@pubkey) as result; 

私はちょうどそれを試み、デコードしませんでした。だから私はそれがもっとあると仮定します。どんな助けでも大歓迎です。

答えて

0

最終的に私が探していたものが見つかりました.MySQLコミュニティサーバーは、私が望んでいた賞賛者をサポートしていないようです。

私が欲しい機能はMySQL Enterpriseだけなので、私がやろうとしていることをするには、アプリケーションで暗号化/復号化を行う必要があります。 https://dev.mysql.com/doc/refman/5.6/en/enterprise-encryption-functions.html

+0

PS:

問題のコマンドに興味がある人にとって、MySQLのサイトをチェックアウトすること自由に感じ、私はとにかく私の頭の中で間違ったプロセスを持っていました。秘密鍵で暗号化せずに、公開鍵で復号化します。しかし、私のアプリケーションで同じ機能を果たす小さなブロックをこのようにSIGNすることができます。 –

関連する問題