Digital signature 如何向xlsx文件添加数字签名

Digital signature 如何向xlsx文件添加数字签名,digital-signature,docx4j,Digital Signature,Docx4j,我正在尝试向xlsx文件添加数字签名。。。似乎找不到这方面的任何资源(除了向文本/常规xml文件添加签名)。docx4j是否可以实现这一点?我看到它包括jaxb xmldsig,但我找不到任何示例。也许有人能给我指出正确的方向 编辑:根据Jason的说法,我通过演示webapp查看了这些差异 [Content\u Types].xml中有两个新条目: 新顶级目录(_xmlsignatures)中的两个新部分: /_xmlsignatures/origin.sigs /_xmlsigna

我正在尝试向xlsx文件添加数字签名。。。似乎找不到这方面的任何资源(除了向文本/常规xml文件添加签名)。docx4j是否可以实现这一点?我看到它包括jaxb xmldsig,但我找不到任何示例。也许有人能给我指出正确的方向

编辑:根据Jason的说法,我通过演示webapp查看了这些差异

[Content\u Types].xml中有两个新条目:

新顶级目录(_xmlsignatures)中的两个新部分:

  • /_xmlsignatures/origin.sigs
  • /_xmlsignatures/sig1.xml

在_xmlsignatures中还有一个_rels目录,其中包含一个文件origin.sigs.rels。如果有帮助的话,我可以发布更多信息。

这不是扩展属性中的DigSig吗

  • 见:
  • 见: (数字签名)
  • 请参阅:docx4j\xsd\docProps\shared-documentpropertieseextended.xsd

    数字签名>包含一个二进制Blob

如果是,您可以通过编辑ExtendProperty将DigSig添加到属性中

DocPropsExtendedPart docPropsExtPart = wordMLPackage.getDocPropsExtendedPart();
Properties extProp = docPropsExtPart.getContents();
ExtendedProperties.modifyProp(props.getExtendedProperties(), extProp);
wordMLPackage.setPartShortcut(docPropsExtPart, Namespaces.PROPERTIES_EXTENDED);

您是否在Excel中创建了这样的xlsx?这样做,然后解压缩它以查看添加了什么(或者更好地上传到docx4j webapp或通过PartsList运行)。有了这些信息,我们可以看到在docx4j中做这件事涉及到什么。我不确定——但我不这么认为。当我查看签名xlsx的内容时,在任何与签名相关的文件中都没有二进制blob数据。或者至少我找不到他们。但是,最终我不确定这些是否是相同的东西(可能是吗?)