【问题标题】:How to check if an ePub file is DRM-protected?如何检查 ePub 文件是否受 DRM 保护?
【发布时间】:2013-01-04 18:19:05
【问题描述】:

是否有任何编程方式可以安全地检查 epub 文件是否受 DRM 保护(加密)?

我发现META-INF目录下可能有一个rights.xml和一个encryption.xml。 这些文件中的任何一个或两个都存在是否意味着内容已加密,如果不存在,是否有其他方法可以检查?
(需要说明的是,我根本不想使用 DRM 阅读 ePub,我只想检查它们是否被加密。)

【问题讨论】:

    标签: epub drm


    【解决方案1】:

    FWIW 维基百科 epub 文章状态

    如果存在,DRMed EPUB 文件必须在 ZIP 容器的根级别的 META-INF 目录中包含一个名为 rights.xml 的文件。

    从 v1.0 开始的 epubcheck 被报告为通过 encryption.xml 的存在来检测 DRM 保护并报告错误。 epub3 spec

    META-INF 目录中的可选 encryption.xml 文件 容器文件系统的根级别包含所有加密 有关容器内容的信息。这个文件是一个 XML 根元素为加密的文档。加密元素 包含类型为 EncryptedKey 和 EncryptedData 的子元素 由 [XML ENC 核心] 定义。每个 EncryptedData 元素描述了如何 容器内的一个或多个文件被加密。 因此,如果 容器内的任何资源都是加密的,encryption.xml 必须是 present 表示资源已加密并提供 有关如何加密的信息。

    EPUB3 在 rights.xml、其含义以及它是否对 DRM 文件是强制性的方面含糊不清,因此最好不要依赖它。

    【讨论】:

    • 感谢您的澄清。我检查了一些 DRMed ePub,encryption.xml 文件列出了 ePub 中受加密保护的所有文件。因此,我可能会检查 encryption.xml 是否列出了 ePub 中的任何文件(或任何 .html 或 .xhtml 文件?),如果有,我认为该 ePub 已加密。
    • EPUB3 有一个 file obfuscation feature,它不是 DRM,但也在 encryption.xml 中列出。因此,可以在无 DRM 的 EPUB 文件中找到encryption.xml。这使得有必要解析 XML 文件并检查是否有任何 EncryptionMethod 元素具有不是 http://www.idpf.org/2008/embeddingAlgorithm 属性
    猜你喜欢
    • 2019-10-06
    • 2023-03-03
    • 1970-01-01
    • 2015-08-24
    • 2013-02-05
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2014-12-30
    相关资源
    最近更新 更多