76.6. ハッシュメッセージ認証コード (HMAC)


転送中の暗号化されたデータに対する攻撃を回避するために、CryptoDataFormat は、設定可能な MAC アルゴリズムに基づいて、暗号化されたエクスチェンジコンテンツのメッセージ認証コードを計算することもできます。計算された HMAC は、暗号化後にストリームに追加されます。復号化フェーズでストリームから分離されます。MAC は再計算され、送信されたバージョンに対して検証され、送信中に改ざんされていないことが保証されます。メッセージ認証コードの詳細については、http://en.wikipedia.org/wiki/HMAC を参照してください。

KeyGenerator generator = KeyGenerator.getInstance("DES");

CryptoDataFormat cryptoFormat = new CryptoDataFormat("DES", generator.generateKey());
cryptoFormat.setShouldAppendHMAC(true);

from("direct:hmac")
    .marshal(cryptoFormat)
    .to("mock:encrypted")
    .unmarshal(cryptoFormat)
    .to("mock:unencrypted");

または Spring 付き。

<crypto id="hmac" algorithm="DES" keyRef="desKey" shouldAppendHMAC="true" />

デフォルトでは、HMAC は HmacSHA1 mac アルゴリズムを使用して計算されますが、これは別のアルゴリズム名を指定することで簡単に変更できます。設定されたセキュリティープロバイダーを通じて利用可能なアルゴリズムを確認する方法については、こちらを参照してください。

KeyGenerator generator = KeyGenerator.getInstance("DES");

CryptoDataFormat cryptoFormat = new CryptoDataFormat("DES", generator.generateKey());
cryptoFormat.setShouldAppendHMAC(true);
cryptoFormat.setMacAlgorithm("HmacMD5");

from("direct:hmac-algorithm")
    .marshal(cryptoFormat)
    .to("mock:encrypted")
    .unmarshal(cryptoFormat)
    .to("mock:unencrypted");

または Spring 付き。

<crypto id="hmac-algorithm" algorithm="DES" keyRef="desKey" macAlgorithm="HmacMD5" shouldAppendHMAC="true" />
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.