2011-07-25 15 views
1

デジタル署名用のユーティリティを作成する必要があります。私はすでに次のサンプルコードを使ってこれを行っています。パスワードなしのデジタル署名

KeyStore ks = KeyStore.getInstance(KeyStoreType); 
ks.load(new java.io.FileInputStream(pfxPath), password.toCharArray()); 

今問題/要件は、PFXの所有者がパスワードを共有する準備ができていないと私は2番目にヒットの数千人を想定しているので、私はまた、PFXファイルを毎回ロードしたくないということ、です。

私の質問は、何らかのキーストア(または証明書データベースなど)を作成して、PFXの所有者が初めてパスワードを入力して、このキーストアを署名用にさらに使用できることです。

+3

プログラムの開始時(または最初の使用時)にこのコードを1回実行してから、この同じキーストアを再利用する際の問題はどこですか? –

+0

コードに問題はありません。私のサンプルコードはどのデータにも署名できます。しかし、私はPFXファイルとそのパスワードを提供する必要があるたびに。私がそれを静的なKSにすると、私は起動時にパスワードを提供する必要があります。しかし、私はWebベースのアプリケーションを作っています。私は最初にパスワードをどのように渡すのですか? – noquery

+0

アプリケーションが実行されているインフラストラクチャは?サーブレットを使用している場合、init-paramを渡すことができますか? [リンク](http://www.exampledepot.com/egs/javax.servlet/GetInit.html) – PhilW

答えて

1

KSオブジェクトを持つシリアライズされたファイルを生成できるスタンドアロンコードを開発することができます。あなたのクライアントは自分のマシンで自分のパスワードを渡すことができます。だから、リスクフリーです。

アプリケーションでファイルの内容を逆シリアル化して、後で使用することができます。

+1

私のスタンドアロンアプリケーションがキーストアを作成し、そのキーストアを私のコード。この場合、シリアライズ/デシリアライズは必要ありません。 – noquery

+0

これはまた良い方法です –