import struct


def get_signing_input_rep(isd_as, timestamp, exp_time, cipher):
    """
    Pack the input such that it can be signed.

    :param ISD_AS isd_as: the ISD_AS.
    :param int timestamp: signature creation time (format: drkey_time()).
    :param int exp_time: DRKey expiration time (format: drkey_time()).
    :param bytes cipher: the encrypted first order DRKey.
    :returns: the packed input to sign.
    :rtype: bytes
    """
    ts = struct.pack("!Q", timestamp)
    exp = struct.pack("!Q", exp_time)
    return b"".join([isd_as.pack(), cipher, ts, exp])