in jsign-core/src/main/java/net/jsign/mscab/CFHeader.java [83:102]
public void read(SeekableByteChannel channel) throws IOException {
if ((channel.size()) < BASE_SIZE + CFFolder.BASE_SIZE) {
throw new IOException("MSCabinet file too short");
}
ByteBuffer buffer = ByteBuffer.allocate(BASE_SIZE).order(ByteOrder.LITTLE_ENDIAN);
channel.read(buffer);
buffer.flip();
readHeaderFirst(buffer);
if (isReservePresent()) {
buffer.clear();
buffer.limit(4);
channel.read(buffer);
buffer.flip();
readHeaderSecond(buffer);
if (this.cbCFHeader > 0) {
ByteBuffer ab = ByteBuffer.wrap(this.abReserved);
channel.read(ab);
}
}
}