Pular para o conteúdo

util_verify

Verifica uma assinatura criptográfica

  • Se a chave pública tiver o prefixo 0xED, então usa ED25519
  • Caso contrário, assume SECP256k1
int64_t util_verify (
uint32_t dread_ptr,
uint32_t dread_len,
uint32_t sread_ptr,
uint32_t sread_len,
uint32_t kread_ptr,
uint32_t kread_len
);
if (!util_verify(payload_ptr, payload_len,
signature_ptr, signature_len,
publickey_ptr, publickey_len))
rollback("Invalid Signature", 17, 60);
NomeTipoDescrição
dread_ptruint32_tPonteiro para os dados assinados
dread_lenuint32_tTamanho dos dados assinados
sread_ptruint32_tPonteiro para a assinatura
sread_lenuint32_tTamanho da assinatura
kread_ptruint32_tPonteiro para a chave pública
kread_lenuint32_tTamanho da chave pública
TipoDescrição
int64_t0 - a validação falhou, a assinatura é inválida.
1 - a validação foi bem-sucedida, a assinatura é válida.

Se negativo, um erro:
OUT_OF_BOUNDS
- ponteiros/tamanhos especificados fora da memória do hook.