Interface MultiPassStrategy

  • All Known Implementing Classes:
    InMemoryMultiPassStrategy, WriteToFileMultiPassStrategy

    public interface MultiPassStrategy
    Since for verification of cleartext signed messages, we need to read the whole data twice in order to verify signatures, a strategy for how to cache the read data is required. Otherwise, large data kept in memory could cause OutOfMemoryErrors or other issues. This is an Interface that describes a strategy to deal with the fact that detached signatures require multiple passes to do verification. This interface can be used to write the signed data stream out via getMessageOutputStream() and later get access to the data again via getMessageInputStream(). Thereby the detail where the data is being stored (memory, file, etc.) can be abstracted away.
    • Method Detail

      • writeMessageToFile

        static MultiPassStrategy writeMessageToFile​(File file)
        Write the message content out to a file and re-read it to verify signatures. This strategy is best suited for larger messages (e.g. plaintext signed files) which might not fit into memory. After the message has been processed completely, the messages content are available at the provided file.
        Parameters:
        file - target file
        Returns:
        strategy