2

是否有任何存档格式提供以下内容:

  1. 可以使用来自 Verisign 等受信任来源的数字证书进行数字签名 - 以防止更改文件(我不是指只读,但如果文件被更改,则不应再对其进行签名,告诉用户这不是原始文件)
  2. 可流式传输 - 即使并非所有内容都已传输(也不是严格线性),也可以打开
  3. 是“可读的” - 能够读取数据而无需提取到临时文件夹(AFAIK,如果您在 zip 存档中打开文件,它首先被提取,即使对于 OOXML 等基于 zip 的格式也是如此。这不是我想)
  4. 可移植 - 至少支持 Windows、Linux 和 Mac OS X 是必须的,或者至少是未来的支持
  5. 没有专利 - 是开源的 - 最好是允许商业使用的许可证(据我所知,GPL 是一个类似共享的许可证,所以它不允许商业使用,另一方面,BSD 允许它)

注意:虽然它最终可能会派上用场,但我现在无法想到同时需要第 1 点和第 2 点的场景。或者让它只在下载整个文件时才能检查签名。

我对以下内容不感兴趣:

  1. 能够被压缩
  2. 在遗留系统上得到支持

是否有任何现有的存档格式符合此描述(想到像 DAR 和 pax 这样的 tar 演变)?如果有,是否有可用于上述操作系统的编程库?如果没有,那么很难创造出这样的东西吗?

使用场景:我想用它来创建一个新的媒体容器。当前的媒体容器直接包含音频、视频和字幕流。Matroska 是目前最先进的容器,具有附件和菜单等附加功能。然而,菜单功能没有实现并且非常有限。我想创造的是更高的层次。我想创建一个类似于 OOXML 的文件。此外,所有的菜单都应该在 HTML5 (因为它现在的标签允许使用任何类型的编解码器)和 CSS 等 Web 技术中完成。也就像你在 dvd 上有全息图来证明真实性我想创建一个可签名的文件

研究笔记:在问这个问题之前,我偶然发现: Whats the best way of digitally sign a zip file for download using .Net

虽然分离签名对于此存档中包含的单个文件是可行的,但它不是存档文件的优雅解决方案。对最终用户不友好。最终用户应该能够双击文件以在 VLC 等媒体播放器中打开它,并看到该文件合法的消息(就像您在浏览器中看到的页面通过 HTTPS 使用 SSL 传输一样或不)

编辑:澄清第 5 点

编辑 2:添加注释以澄清第 1 点和第 2 点

编辑 3:添加的使用场景

编辑 4:添加了研究笔记部分

PS:这是我在 StackOverflow 上的第一个问题

4

1 回答 1

0

我怀疑您是否找到了这种开箱即用的格式。我了解如何借助我们的SolFS构建此类解决方案,但 SolFS 没有内置签名(您可以轻松添加签名)。

于 2010-12-23T19:31:46.183 回答