@shinyaz

AWS Payment Cryptography の HMAC 鍵は Java SDK v2.31.9 から作成できない

約1分

AWS Payment Cryptography で HMAC_SHA256 の MAC 鍵を Java SDK v2 から作成しようとしたら、KeyAlgorithm enum に HMAC_SHA256 が定義されていなかった。fromValue("HMAC_SHA256")UNKNOWN_TO_SDK_VERSION を返し、API には null が送信されてエラーになる。

さらに厄介なのが Data Plane 側。MacAlgorithm enum には HMAC_SHA256 が存在するが、HMAC_SHA256 鍵と組み合わせると API が「HMAC MacAlgorithm を使え」と返す。しかし HMAC という enum 値は SDK にない。

Output
Invalid MacAlgorithm HMAC_SHA256 used with KeyAlgorithm HMAC_SHA256.
Please use HMAC Key with 'HMAC' MacAlgorithm.

対処法は 2 つ。CMAC(TR31_M6_ISO_9797_5_CMAC_KEY + AES_256 + MacAlgorithm.CMAC)で代替するか、鍵の作成だけ CLI で行って ARN を Java コードで使う。詳しくは AWS Payment Cryptography 番外編 を参照。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援をしており、クラウドアーキテクチャや AI/ML に関する学びをこのサイトで発信しています。このサイトの内容は個人の見解であり、所属企業の公式な意見や見解を代表するものではありません。