2011-02-08 10 views
1

私はいくつかのJavaアプリケーションを呼び出すC#アプリケーションを用意しています。現時点では、私はパスワードを尋ねるjavaコマンドラインアプリから多くのポップアップボックスを取得します。私はあなたがC#でパスワードを入力して、それをjavaアプリケーションに安全に渡す方法について具体的な提案があるのだろうかと思います。現時点では、私は多くのコマンドラインパラメータでシェルのexecを使ってJavaアプリケーションを呼び出します。C#からJavaアプリケーションへの安全なパスワードの転送

私が考えることができるのは、どうにかしてCでパスワードを暗号化して、それをjavaで解読することだけです。私は彼らが共通の解読プロセスを共有していないと思うか、もし彼らがプログラム間で鍵を渡さなければならないと思っても...

何か提案がありますか?

デビット

+0

パラメータ/コール経由でパスワードなどを渡す方法について一般的な質問をしていますか?または手元のアプリケーションでこれを行う方法を具体的に求めていますか?最後のものが当てはまる場合は、それらのアプリケーションが何であるかを知る必要があります。 – Bobby

+0

具体的にはC#とjavaですが、質問はより一般的です。 – GreyCloud

答えて

5

私は暗号化が良い解決策だと思います。

しかし、私はあなたに他の何かを提案することができます。あなたはC#アプリケーションからjavaアプリケーションの標準にクリアテキストでpasswodを書くことができます。 Javaアプリケーションは、STDINからパスワードを読み取り、使用する必要があります。リバースエンジニアリングやリモートデバッグAPIを使用してJVMに接続しない限り、このストリームを傍受する方法がわからないので、十分安全です。 C#とjavaの両方のアプリケーションが同じマシンで実行されている場合、ストリームを盗聴することはできません。

+0

これは実際には暗号化よりも安全です。暗号化キーをC#またはJavaから抽出するのは、難読化してもかなり簡単です。 – bjornars

+0

これはパスワードをコマンドライン引数として渡すのと同じくらい安全ですか? – GreyCloud

+0

私はC#とJavaの両方の暗号化方法と、同じ暗号化キーを共有する必要があるかどうかを知りたいですか? – GreyCloud

関連する問題