Java 将xmlns:mdssi添加到XMLObject
我正在做一个关于微软office文件docx、xlsx、pptx上数字签名的java项目 我可以使用以下方法创建将添加到xml签名中的对象:Java 将xmlns:mdssi添加到XMLObject,java,xml,openxml,xml-namespaces,Java,Xml,Openxml,Xml Namespaces,我正在做一个关于微软office文件docx、xlsx、pptx上数字签名的java项目 我可以使用以下方法创建将添加到xml签名中的对象: XMLSignatureFactory xml_fac = XMLSignatureFactory.newInstance("DOM"); XMLObject xml_object = XMLSignatureFactory.newXMLObject(... ArrayList<XMLObject> obj_list = new ArrayL
XMLSignatureFactory xml_fac = XMLSignatureFactory.newInstance("DOM");
XMLObject xml_object = XMLSignatureFactory.newXMLObject(...
ArrayList<XMLObject> obj_list = new ArrayList<XMLObject>();
obj_list.add(xml_object);
XMLSignature xml_sig = xml_fac.newXMLSignature(...,...,obj_list,...
我要补充一点:
xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature"
打开标签
但java中的XMLObject无法添加这些内容,它只有Id、MimeType、编码和内容
有什么建议吗
SignatureProperty property = XML_SIGNATURE_FACTORY.newSignatureProperty(
...);
SignatureProperties properties = XML_SIGNATURE_FACTORY.newSignatureProperties(
Collections.singletonList(property), ...);
XMLObject object = XML_SIGNATURE_FACTORY.newXMLObject(
Collections.singletonList(properties), ...);
第2版:
故事来了。我使用Java。JSR-105
我正在为W3C小部件挖掘XML数字签名
签名/对象
-第一次看到API似乎很容易。我刚刚创建了如上所述的XMLObject
但是,正如spec所说,我必须插入一个引用1创建的XMLObject的引用。
-什么?如何引用输出节点?
-如何为尚未创建的节点返回数据
我意识到我应该准备一个org.w3c.dom.Document,其中包含元素及其子元素,并将其用作参考。
->使用UrideReference,您可以从此文档的getDocumentElement结果返回NodeSetData
所以解决办法来了
创建一个org.w3c.dom.Document实例,其中包含作为其根元素的元素。您可以根据需要添加任何属性和子元素。
您可以将XML签名作为分离或封装方案生成。
看看这个。这就是我找到解决办法的地方。我想你的问题会解决的。
对不起,我的英语很差。我是韩国人
我的问候。
Jin Kwon如何将这个问题放在今天的未回答列表的首位?最后有人回答了,但是,问题还没有解决,我需要的是添加名称空间xmlns:mdssi=。。。进入“对象”开头标记,如下所示:
SignatureProperty property = XML_SIGNATURE_FACTORY.newSignatureProperty(
...);
SignatureProperties properties = XML_SIGNATURE_FACTORY.newSignatureProperties(
Collections.singletonList(property), ...);
XMLObject object = XML_SIGNATURE_FACTORY.newXMLObject(
Collections.singletonList(properties), ...);