def generate_hs_descriptor_raw(desc_id_base32, permanent_key_block,
    secret_id_part_base32, publication_time, introduction_points_part):
    """
    Generate hidden service descriptor string
    """
    doc = ['rendezvous-service-descriptor {}'.format(desc_id_base32),
        'version 2', 'permanent-key', permanent_key_block,
        'secret-id-part {}'.format(secret_id_part_base32),
        'publication-time {}'.format(publication_time),
        'protocol-versions 2,3', 'introduction-points',
        introduction_points_part, 'signature\n']
    unsigned_descriptor = '\n'.join(doc)
    return unsigned_descriptor
