2017-11-14 9 views
1

私は快活お城のDiffie-Hellman鍵交換プロトコルを使用して対称鍵を生成していますが、私は私の生成の秘密を表示するとき、それはのDiffie-Hellmanの対称キーの表示の問題

java.langで私に次のエラーを与えます。 IllegalStateException:鍵合意がまだ完了していない

以下のコードから、鍵合意プロセスが正常に完了し、ハッシュから両方の鍵が似ていることを確認します。

MessageDigest hash = MessageDigest.getInstance("SHA1"); 
    byte[] aShared = hash.digest(aKeyAgree.generateSecret()); 
    byte[] bShared = hash.digest(bKeyAgree.generateSecret()); 
    System.out.println(Arrays.toString(aKeyAgree.generateSecret())); 

答えて

2

おそらくaKeyAgree.generateSecret()を2回呼び出すことが問題になることは間違いありません。鍵合意は一度だけ実行する必要があります。結果を印刷する場合は、代わりに(一時的な)変数に格納する必要があります。

+0

はい、問題は正しいです。ご助力ありがとうございます。 – Mubee