署名検証の内部動作
Verify API は、以下の手順で署名検証を行います。 ステップの途中で検証に失敗した場合、そこで検証を打ち切り、エラーもしくは検証結果を返します。
- 証明書チェーンの確認
- 有効期限の確認
- 対象の証明書が有効期限内であることを確認します。
- 有効期限の検証に失敗した場合、検証結果コード
RESULT_CERTIFICATE_EXPIRED
が返されます。
- 署名値の確認
- 署名値が、証明書に記載された公開鍵に対応する秘密鍵によって作成されたものであることを確認します。
- 署名値の確認に失敗した場合、検証結果コード
RESULT_SIGNATURE_MISMATCH
が返されます。
- 失効確認
- 証明書の失効確認を行います。
- 失効確認に失敗した場合、検証結果コード
RESULT_CERTIFICATE_REVOKED
が返されます。
上記のステップを全て通過した場合、検証結果コード RESULT_OK
が返されます。
対応するハッシュ関数
ダイジェストの作成に利用できるハッシュ関数は、CRYPTREC 暗号リスト(電子政府推奨暗号リスト)で推奨されるハッシュ関数のみです。 PocketSign Verify API では、CRYPTREC LS-0001-2022を参照しており、このうち以下のハッシュ関数のみに対応しています。
- SHA-256
- SHA-384
- SHA-512