Class EncryptionHandler

java.lang.Object
org.ofdrw.archive.convert.handler.EncryptionHandler
All Implemented Interfaces:
ArchiveHandler

public class EncryptionHandler extends Object implements ArchiveHandler
处理器 0:解密文件解密(GB/T 42133-2022 6.16)

在管道最前端执行。若文档已加密且无法解密,则硬中断,不继续后续流程。

解密过程:打包当前 workDir → OFDDecryptor 解密 → 解压回 workDir。

Since:
2.4.0
Author:
权观宇
  • Constructor Details

    • EncryptionHandler

      public EncryptionHandler()
  • Method Details

    • addDecryptor

      public EncryptionHandler addDecryptor(UserFEKDecryptor decryptor)
      添加 FEK 解密器
      Parameters:
      decryptor - FEK 解密器
      Returns:
      this
    • handle

      public void handle(OFDReader reader, org.ofdrw.pkg.container.OFDDir ofdDir) throws IOException
      Description copied from interface: ArchiveHandler
      执行去技术化转换操作,就地修改 OFD 容器

      处理结果直接写入 ofdDir,调用者负责最终持久化和打包。

      Specified by:
      handle in interface ArchiveHandler
      Parameters:
      reader - OFD 阅读器,提供文档结构访问
      ofdDir - OFD 虚拟容器,修改结果写入此处
      Throws:
      IOException - 文件操作异常