Package org.globus.gsi.gssapi
Class SSLUtil
- java.lang.Object
-
- org.globus.gsi.gssapi.SSLUtil
-
public class SSLUtil extends java.lang.ObjectA collection of SSL-protocol related functions.
-
-
Constructor Summary
Constructors Constructor Description SSLUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanisSSLPacket(byte[] header)Determines if a given header is a SSL packet (has a SSL header)static booleanisSSLv2HelloPacket(byte[] header)Determines if a given header is a SSLv2 client or server hello packetstatic booleanisSSLv3Packet(byte[] header)Determines if a given header is a SSLv3 packet (has a SSL header) or a backward compatible version of TLS using the same header format.static intread(java.io.InputStream in, byte[] buf, int off, int len)Reads some number of bytes from the input stream.static voidreadFully(java.io.InputStream in, byte[] buf, int off, int len)Reads some number of bytes from the input stream.static byte[]readSslMessage(java.io.InputStream in)Reads an entire SSL message from the specified input stream.static inttoInt(byte[] buf, int off)Converts 4 bytes to anintat the specified offset in the given byte array.static longtoLong(byte[] buf, int off)Converts 8 bytes to alongat the specified offset in the given byte array.static shorttoShort(byte a, byte b)Converts 2 bytes to ashort.static inttoUnsignedShort(byte a, byte b)Converts 2 bytes to aunsigned short.static voidwriteInt(int v, byte[] buf, int off)Converts the specified int value into 4 bytes.
-
-
-
Method Detail
-
read
public static int read(java.io.InputStream in, byte[] buf, int off, int len) throws java.io.IOExceptionReads some number of bytes from the input stream. This function reads maximum data available on the stream.- Parameters:
in- the input stream to read the bytes from.buf- the buffer into which read the data is read.off- the start offset in array b at which the data is written.len- the maximum number of bytes to read.- Throws:
java.io.IOException- if I/O error occurs.
-
readFully
public static void readFully(java.io.InputStream in, byte[] buf, int off, int len) throws java.io.IOExceptionReads some number of bytes from the input stream. This function blocks until all data is read or an I/O error occurs.- Parameters:
in- the input stream to read the bytes from.buf- the buffer into which read the data is read.off- the start offset in array b at which the data is written.len- the maximum number of bytes to read.- Throws:
java.io.IOException- if I/O error occurs.
-
readSslMessage
public static byte[] readSslMessage(java.io.InputStream in) throws java.io.IOExceptionReads an entire SSL message from the specified input stream.- Parameters:
in- the input stream to read the SSL message from.- Returns:
- the byte array containing the SSL message
- Throws:
java.io.IOException- if I/O error occurs.
-
isSSLPacket
public static final boolean isSSLPacket(byte[] header)
Determines if a given header is a SSL packet (has a SSL header)- Returns:
- true if the header is a SSL header. False, otherwise.
-
isSSLv3Packet
public static final boolean isSSLv3Packet(byte[] header)
Determines if a given header is a SSLv3 packet (has a SSL header) or a backward compatible version of TLS using the same header format.- Returns:
- true if the header is a SSLv3 header. False, otherwise.
-
isSSLv2HelloPacket
public static final boolean isSSLv2HelloPacket(byte[] header)
Determines if a given header is a SSLv2 client or server hello packet- Returns:
- true if the header is such a SSLv2 client or server hello packet. False, otherwise.
-
toShort
public static short toShort(byte a, byte b)Converts 2 bytes to ashort.- Parameters:
a- byte 1b- byte 2- Returns:
- the
shortvalue of the 2 bytes
-
toUnsignedShort
public static int toUnsignedShort(byte a, byte b)Converts 2 bytes to aunsigned short.- Parameters:
a- byte 1b- byte 2- Returns:
- the
unsigned shortvalue of the 2 bytes
-
toInt
public static int toInt(byte[] buf, int off)Converts 4 bytes to anintat the specified offset in the given byte array.- Parameters:
buf- the byte array containing the 4 bytes to be converted to anint.off- offset in the byte array- Returns:
- the
intvalue of the 4 bytes.
-
writeInt
public static void writeInt(int v, byte[] buf, int off)Converts the specified int value into 4 bytes. The bytes are put into the specified byte array at a given offset location.- Parameters:
v- the int value to convert into 4 bytes.buf- the byte array to put the resulting 4 bytes.off- offset in the byte array
-
toLong
public static long toLong(byte[] buf, int off)Converts 8 bytes to alongat the specified offset in the given byte array.- Parameters:
buf- the byte array containing the 8 bytes to be converted to along.off- offset in the byte array- Returns:
- the
longvalue of the 8 bytes.
-
-