fun unsign()

in lib/src/main/kotlin/org/jetbrains/zip/signer/signing/ZipSigner.kt [42:63]


    fun unsign(
        inputFile: File,
        outputFile: File
    ) {
        RandomAccessFile(inputFile, "r").use { inputRandomAccessFile ->
            RandomAccessFile(outputFile, "rw").use { outputRandomAccessFile ->
                outputRandomAccessFile.setLength(0)
                val inputDataSource = SeekableByteChannelDataSource(inputRandomAccessFile.channel)
                val inputZipSectionsInformation = ZipUtils.findZipSectionsInformation(inputDataSource)
                val inputSigningBlock = ZipMetadata.findInZip(inputDataSource, inputZipSectionsInformation)
                val inputZipSections =
                    ZipUtils.findZipSections(inputDataSource, inputZipSectionsInformation, inputSigningBlock)


                inputZipSections.beforeSigningBlockSection.feed(outputRandomAccessFile.channel)
                inputZipSections.centralDirectorySection.feed(outputRandomAccessFile.channel)

                val outputEocdRecord = getModifiedEocdRecord(inputZipSections, 0)
                outputRandomAccessFile.channel.write(outputEocdRecord)
            }
        }
    }