Skip to main content

[エラー] "The signature from an auditor can't be validated with the validator." エラーでコントラクトの実行が失敗する

updated: 2024-10-08 10:40:57 JST

対象製品/バージョン​

  • ScalarDL v3.x

事象​

ScalarDL Ledger および ScalarDL Auditor 間の認証に HMAC を使用した構成で、コントラクト実行時に以下のエラーが発生しました。どう対応すれば良いですか?

    The signature from an auditor can't be validated with the validator.

原因​

ScalarDL Ledger および ScalarDL Auditor に設定する HMAC 認証用の secret key として、以下の二つのプロパティの値が一致していないことに起因している可能性があります。

  • ledger.ledgerProperties における scalar.dl.ledger.servers.authentication.hmac.secret_key の値
  • auditor.auditorProperties における scalar.dl.auditor.servers.authentication.hmac.secret_key の値

対処方法​

以下の設定値を確認し、ScalarDL Ledger と ScalarDL Auditor で同じ HMAC の secret key が指定されているかどうかご確認ください。

  • ScalarDL Ledger デプロイ時にご利用の custom values file における、
    ledger.ledgerProperties にご指定の scalar.dl.ledger.servers.authentication.hmac.secret_key の値
  • ScalarDL Auditor デプロイ時にご利用の custom values file における、
    auditor.auditorProperties にご指定の scalar.dl.auditor.servers.authentication.hmac.secret_key の値

詳細に関しましては、以下のドキュメントをご参照ください。

また、デプロイ時の custom values file で値を直接指定せず、環境変数経由でご設定の場合には、ScalarDL Ledger および ScalarDL Auditor の Pod でご利用の環境変数の内容をそれぞれご確認ください。あくまで参考情報とはなりますが、以下のように環境変数の内容を確認することが可能です。

    $ kubectl exec -it <ScalarDL LedgerのPod名> -- env | grep SCALAR_DL_HMAC_SECRET_KEY

関連する Scalar ドキュメント​

参考情報 (外部ドキュメント)​

なし