Verifies a raw P-256 signature over a Soroban authorization payload hash.
key_data must be a 65-byte uncompressed SEC1 point (0x04 || X || Y),
and sig_data must be a low-S 64-byte compact signature (r || s). The
supplied 32-byte hash is passed directly to the Soroban host without
another hashing step.
P256VerifierError::InvalidHashLength] - hash is not 32 bytes.P256VerifierError::InvalidKeyEncoding] - key_data does not start
with the uncompressed SEC1 prefix 0x04.Error(Crypto, InvalidInput) - the point, signature
components, signature, key, or digest is cryptographically invalid.fn verify(
env: soroban_sdk::Env,
hash: soroban_sdk::Bytes,
key_data: soroban_sdk::BytesN<65>,
sig_data: soroban_sdk::BytesN<64>,
) -> bool
Returns the canonical 65-byte uncompressed SEC1 public key unchanged.
P256VerifierError::InvalidKeyEncoding] - key_data does not start
with the uncompressed SEC1 prefix 0x04.fn canonicalize_key(
env: soroban_sdk::Env,
key_data: soroban_sdk::BytesN<65>,
) -> soroban_sdk::Bytes
Canonicalizes every P-256 key while preserving input order.
P256VerifierError::InvalidKeyEncoding] - any key does not start
with the uncompressed SEC1 prefix 0x04.fn batch_canonicalize_key(
env: soroban_sdk::Env,
key_data: soroban_sdk::Vec>,
) -> soroban_sdk::Vec