the resulf of signature check is stored in ->{valid_signature}, not ->{error}{...}