是否有任何编程方式可以安全地检查epub文件是否受DRM保护(加密)?
我发现META-INF目录中可能有一个rights.xml和一个encryption.xml。
是否存在这些文件中的任何一个或两个都意味着内容是加密的,如果没有,是否还有其他方法可以检查?
(要明确的是,我根本不想阅读带有DRM的ePub,我只想检查它们是否加密。)
答案 0 :(得分:5)
FWIW Wikipedia epub文章指出
据报道,从v1.0开始的epubcheck通过encryption.xml的存在来检测DRM保护并报告错误。 epub3 spec说如果存在,DRMed EPUB文件必须在ZIP容器的根级别的META-INF目录中包含名为rights.xml的文件。
META-INF目录中的可选encryption.xml文件 容器文件系统的根级别包含所有加密 有关容器内容的信息。该文件是XML 其根元素是加密的文档。加密元素 包含EncryptedKey和EncryptedData类型的子元素 由[XML ENC Core]定义。每个EncryptedData元素都描述了如何 容器中的一个或多个文件是加密的。 因此,如果 容器中的任何资源都是加密的,encryption.xml必须是 出现以表明资源已加密并提供 有关如何加密的信息。
EPUB3在rights.xml上是模糊的,它的含义以及它是否对DRM文件是强制性的,因此最好不要依赖它。