if (self::
strlen($sig) !== ParagonIE_Sodium_Compat::CRYPTO_SIGN_BYTES
) { throw new TypeError('Argument 1 must be CRYPTO_SIGN_BYTES bytes'
);
} if (self::
strlen($publicKey) !== ParagonIE_Sodium_Compat::CRYPTO_SIGN_PUBLICKEYBYTES
) { throw new TypeError('Argument 3 must be CRYPTO_SIGN_PUBLICKEYBYTES bytes'
);
} if (self::
strlen($sig) < 64
) { throw new SodiumException('Signature is too short'
);
} if (PHP_INT_SIZE === 4
) { return self::
verify_core32($sig,
$filePath,
$publicKey);
} /* Security checks */
if ( (ParagonIE_Sodium_Core_Ed25519::
chrToInt($sig[63
]) & 240
) &&
ParagonIE_Sodium_Core_Ed25519::
check_S_lt_L(self::
substr($sig, 32, 32
)) ) { throw new SodiumException('S < L - Invalid signature'
);
} if (ParagonIE_Sodium_Core_Ed25519::
small_order($sig)) {