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;) {