org.bouncycastle.tls.NewSessionTicket Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bctls-jdk14 Show documentation
Show all versions of bctls-jdk14 Show documentation
The Bouncy Castle Java APIs for TLS and DTLS.
package org.bouncycastle.tls;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class NewSessionTicket
{
protected long ticketLifetimeHint;
protected byte[] ticket;
public NewSessionTicket(long ticketLifetimeHint, byte[] ticket)
{
this.ticketLifetimeHint = ticketLifetimeHint;
this.ticket = ticket;
}
public long getTicketLifetimeHint()
{
return ticketLifetimeHint;
}
public byte[] getTicket()
{
return ticket;
}
/**
* Encode this {@link NewSessionTicket} to an {@link OutputStream}.
*
* @param output the {@link OutputStream} to encode to.
* @throws IOException
*/
public void encode(OutputStream output)
throws IOException
{
TlsUtils.writeUint32(ticketLifetimeHint, output);
TlsUtils.writeOpaque16(ticket, output);
}
/**
* Parse a {@link NewSessionTicket} from an {@link InputStream}.
*
* @param input the {@link InputStream} to parse from.
* @return a {@link NewSessionTicket} object.
* @throws IOException
*/
public static NewSessionTicket parse(InputStream input)
throws IOException
{
long ticketLifetimeHint = TlsUtils.readUint32(input);
byte[] ticket = TlsUtils.readOpaque16(input);
return new NewSessionTicket(ticketLifetimeHint, ticket);
}
}