def verify_file(self, sign_file, data_filename=None):
        '''
        Verify given signature

        :param sign_file: File-like object containing sign
        :param data_filename: Assume signature is detached when not null
        :rtype: VerifyResult
        '''
        if data_filename is None:
            return self.execute(VerifyResult(), ('--verify',), None, sign_file)
        # Подпись для detached пишем в отдельный файл
        sign_filename, sign_fd = tempfile.mkstemp(prefix=__name__)
        os.write(sign_fd, sign_file.read())
        os.close(sign_fd)
        try:
            result = self.execute(
                VerifyResult(), ('--verify', sign_filename, data_filename))
        finally:
            os.remove(sign_filename)
        return result