- - PR -
SunJCEでAESのSecretKeyFactoryが生成できない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-09-16 17:18
不思議に思ったので投稿します。
Windows版JRE1.4.2_09およびJRE1.5.0_04にて(外部の暗号化プロバイダは未導入) 下記のコードを実行すると、例外が送出されます。 コード: SecretKeyFactory skf = SecretKeyFactory.getInstance("AES"); 例外: java.security.NoSuchAlgorithmException: Algorithm AES not available at javax.crypto.SunJCE_b.a(DashoA12275) at javax.crypto.SecretKeyFactory.getInstance(DashoA12275) ドキュメントには、JRE1.4のSunJCEプロバイダはAESのSecretKeyFactory 生成をサポートしているらしい記述があります。 http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/jce/JCERefGuide.html#AppA ちなみに、AES指定によるCipher生成やKeyGeneratorの生成には成功しますし、 それを用いた暗号化/復号化は実行できています。 …なぜSecretKeyFactoryの生成だけ失敗するのか、ご存知の方はいらっしゃいませんでしょうか? |
|
投稿日時: 2005-09-16 18:30
すみません、自己解決しました^^;
AES共通鍵を作成する際にはSecretKeyFactoryは不要でした。 SecretKeySpecのコンストラクタを呼び出すことで、AESのSecretKey オブジェクトが作成できました。 SecretKeySpec sks = new SecretKeySpec(param,"AES"); #SecretKeySpec implements SecretKey ということに気が付かなかった… #でも、ということはそもそもSecretKeyFactory自体をdeprecated #扱いにすべきでは?と思いましたが・・・ |
1