2009-10-19 58 views

回答

1

我不知道這種格式,但是既然你說「OpenXML」,你可能只需要打開它和解碼的base64數據;

1

根據我的研究,它是壓縮的.fo文件。 如果您將.zfo重命名爲.zip,您可以使用常用歸檔程序將其打開,並且您可以找到那裏的.fo文件,它是xml格式,您可以使用任何文本編輯器查看。

0
在Linux

ZFO - > XML

openssl smime -inform DER -in file.zfo -verify -noverify -out file.zfo.xml 

在XML是在元件

<p:dmFiles> 

附着物數據(文件名,文件類型,數據)

0

以我體驗.zfo消息只是簽名的XML文件(CMS/PKCS#7標準)。所有你需要做的就是刪除加密的信封,它給你一個你可以輕鬆閱讀的XML文件。在捷克ISDS的情況下,所有附件都列在<p:dmFiles>元素中。

XML例如:

... 
<p:dmFiles xmlns:p="http://isds.czechpoint.cz/v20"> 
    <p:dmFile dmMimeType="doc" ... > 
    <p:dmEncodedContent> ... </p:dmEncodedContent> 
    </p:dmFile> 
    <p:dmFile dmMimeType="pdf" ...> 
    <p:dmEncodedContent> ... </p:dmEncodedContent> 
    </p:dmFile> 
</p:dmFiles> 

可以使用C#這樣達到內容元素:

var message = new System.Security.Cryptography.Pkcs.SignedCms(); 
message.Decode(System.IO.File.ReadAllBytes("message.zfo")); 

var doc = new System.Xml.XmlDocument(); 
using (var ms = new System.IO.MemoryStream(message.ContentInfo.Content)) 
{ 
    doc.Load(ms); 
    var list = d.DocumentElement.GetElementsByTagName("p:dmEncodedContent"); 
}