def base128Stringified(value):
    """
    Encodes the given integral value into a string that is an encoded comma-
    separated series of bytes, base-128, with all but the last byte having
    the high bit set, in C++ hex notation, as required by the DER rules for the
    nodes of an OID after the first two.

    >>> base128Stringified(1)
    '0x01'
    >>> base128Stringified(10045)
    '0xce, 0x3d'
    """
    if value < 0:
        raise ValueError("An OID must have only positive-value nodes.")

    format = "0x%.2x"

    # least significant byte has highest bit unset
    result = format % (value % 0x80)
    value /= 0x80

    while value != 0:
        # other bytes have highest bit set
        result = (format % (0x80 | (value % 0x80))) + ", " + result
        value /= 0x80

    return result