return non-zero value unless signature is valid