src/share/classes/org/openjdk/jigsaw/cli/Signer.java

Print this page

        

*** 38,47 **** --- 38,48 ---- import javax.security.auth.DestroyFailedException; import static java.lang.System.err; import static java.lang.System.in; import static java.lang.System.out; + import java.nio.channels.Channels; import static java.security.KeyStore.PasswordProtection; import static java.security.KeyStore.PrivateKeyEntry; import java.util.Map; import org.openjdk.jigsaw.*;
*** 245,259 **** File tmpFile = (signedModuleFile == null) ? new File(moduleFile + ".sig") : signedModuleFile; try (RandomAccessFile mraf = new RandomAccessFile(moduleFile, "r"); RandomAccessFile raf = new RandomAccessFile(tmpFile, "rw")) { raf.setLength(0); // Transfer header and module-info from module file // to signed module file. ! long remainderStart = ModuleFileHeader.LENGTH + SectionHeader.LENGTH + moduleInfoLength; FileChannel source = mraf.getChannel(); FileChannel dest = raf.getChannel(); for (long pos = 0; pos < remainderStart;) { --- 246,263 ---- File tmpFile = (signedModuleFile == null) ? new File(moduleFile + ".sig") : signedModuleFile; try (RandomAccessFile mraf = new RandomAccessFile(moduleFile, "r"); RandomAccessFile raf = new RandomAccessFile(tmpFile, "rw")) { + ModuleFileHeader header = ModuleFileHeader.read(Channels.newInputStream(mraf.getChannel())); + + mraf.seek(0); raf.setLength(0); // Transfer header and module-info from module file // to signed module file. ! long remainderStart = header.getLength() + SectionHeader.LENGTH + moduleInfoLength; FileChannel source = mraf.getChannel(); FileChannel dest = raf.getChannel(); for (long pos = 0; pos < remainderStart;) {