アプリ展開のための JCE「無制限の強度」ポリシー ファイルのインストールのバイパス
256 ビット AES 暗号化、Java アウトを利用するアプリケーションの展開-of-the-box の制限により、エンド ユーザーに対する JCE 無制限強度ポリシー ファイルのインストールに関する懸念が生じます。この記事では、機能を損なうことなくこの問題に対処するための代替アプローチについて詳しく説明します。
制限のある既存のソリューション
暗号化制限のリフレクションと削除
より型破りなソリューションは、リフレクションを利用してアクセス チェックをバイパスすることです。そして暗号化の制限を削除します。次のコード スニペットは、このアプローチを示しています。
private static void removeCryptographyRestrictions() { if (!isRestrictedCryptography()) { logger.fine("Cryptography restrictions removal not needed"); return; } try { // ... logger.fine("Successfully removed cryptography restrictions"); } catch (final Exception e) { logger.log(Level.WARNING, "Failed to remove cryptography restrictions", e); } }
静的イニシャライザーからこのメソッドを呼び出すことにより、アプリケーションは標準の JCE API によって課される制限をバイパスできます。ただし、このアプローチは Oracle Java 7 および 8 に固有であり、他のベンダーの VM や新しい Java バージョンには適用できない可能性があることに注意してください。
結論
提供されているソリューションはさまざまな程度の有効性を提供しますが、いずれも完全に満足のいくアプローチには達していません。ポリシー ファイルのインストールは依然として実行可能ではありますが、面倒な解決策ですが、代替ライブラリやリフレクション技術では複雑さが生じ、互換性の問題が生じる可能性があります。この問題に対するエレガントで普遍的に適用可能な解決策の探求は依然として残されています。
以上がJCE ポリシー ファイルのインストールを必要とせずに、256 ビット AES 暗号化を使用して Java アプリケーションをデプロイするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。