2014-01-27 5 views
0

Я пытаюсь добавить цифровую подпись в файл xlsx ... Кажется, не удается найти какие-либо ресурсы для этого (кроме добавления подписей в литерал/обычные xml-файлы) , Возможно ли это с docx4j? Я вижу, что это включает jaxb-xmldsig, но нет образцов, которые я мог бы найти. Может быть, кто-то может указать мне в правильном направлении?Как добавить цифровую подпись к файлу xlsx

EDIT: Пер Джейсоном, я смотрел на различия через демо веб-приложение ....

Есть два новых записей в [Content_Types] .xml:

  • < По умолчанию Extension = "Sigs " CONTENTTYPE =" применение/vnd.openxmlformats-package.digital-подписи происхождения "/ >
  • < Override CONTENTTYPE =" применение/vnd.openxmlformats-package.digital-подписи xmlsignature + XML "PartName ="/_ xmlsignatures /sig1.xml"/ >

Два новых деталей в пределах нового каталога верхнего уровня (_xmlsignatures):

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

Существует также каталог _rels в _xmlsignatures, который содержит один файл origin.sigs.rels. Я могу опубликовать дополнительную информацию, если это будет полезно.

+0

Вы создали такой xlsx в Excel? Сделайте это, затем разархивируйте его, чтобы посмотреть, что добавлено (или лучше загрузить в docx4j webapp или запустить через PartList). С помощью этой информации мы можем видеть, что это делается в docx4j. – JasonPlutext

ответ

0

Это не DigSig из расширенных свойств?

Если есть, вы можете добавить DigSig к правительству, отредактировав extendPropertie

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

Я не уверен, но я так не думаю. Когда я посмотрел содержимое подписанного xlsx, в файлах, связанных с сигнатурой, не было бинарных данных blob. Или, по крайней мере, я не мог их найти. Но, в конечном счете, я не уверен, являются ли они такими же (они могут быть?) – user3241461

Смежные вопросы