148ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood/*
248ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * Copyright (c) 2006-2011 Christian Plattner. All rights reserved.
348ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * Please refer to the LICENSE.txt for licensing details.
448ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood */
548ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwoodpackage ch.ethz.ssh2.packets;
648ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
748ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwoodimport java.math.BigInteger;
848ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
948ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood/**
1048ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * PacketKexDHInit.
1148ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood *
1248ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * @author Christian Plattner
1348ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * @version 2.50, 03/15/10
1448ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood */
1548ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwoodpublic class PacketKexDHInit
1648ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood{
1748ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	byte[] payload;
1848ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
1948ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	BigInteger e;
2048ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
2148ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	public PacketKexDHInit(BigInteger e)
2248ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	{
2348ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood		this.e = e;
2448ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	}
2548ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
2648ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	public byte[] getPayload()
2748ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	{
2848ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood		if (payload == null)
2948ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood		{
3048ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood			TypesWriter tw = new TypesWriter();
3148ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood			tw.writeByte(Packets.SSH_MSG_KEXDH_INIT);
3248ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood			tw.writeMPInt(e);
3348ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood			payload = tw.getBytes();
3448ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood		}
3548ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood		return payload;
3648ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	}
3748ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood}
38