2013-01-21 2 views
4

Есть ли какой-либо программный способ безопасно проверить, защищен ли файл epub защищенным DRM (зашифрован)?Как проверить, защищен ли файл ePub DRM?

Я обнаружил, что в каталоге META-INF могут быть права.xml и encryption.xml. Существует ли существование любого или обоих этих файлов, что содержимое зашифровано, а если нет, есть ли другой способ проверить?
(Чтобы было ясно, я не хочу читать ePubs с DRM на всех, я просто хочу, чтобы проверить, являются ли они зашифрованы или нет.)

ответ

5

FWIW EPUB статьи Википедии говорится

Когда они присутствуют , Файлы DRMed EPUB должны содержать файл с именем rights.xml в каталоге META-INF на корневом уровне ZIP-контейнера.

Сообщается, что epubcheck от версии 1.0 обнаруживает DRM-защиту через существование encryption.xml и сообщает об ошибке. epub3 spec говорит

Дополнительный encryption.xml файл в каталоге META-INF на уровне корневого контейнера файловой системы содержит все шифровании информации о содержимом контейнера. Этот файл представляет собой документ XML , корневым элементом которого является шифрование. Элемент шифрования содержит дочерние элементы типа EncryptedKey и EncryptedData как , определенные в [XML ENC Core]. Каждый элемент EncryptedData описывает, как один или несколько файлов в контейнере зашифрованы. Следовательно, если зашифрован любой ресурс в контейнере, encryption.xml должен быть , чтобы указать, что ресурс зашифрован и предоставить информацию о том, как он зашифрован.

EPUB3 расплывчато на rights.xml, его смысл и является ли оно обязательным для DRM'd файлов, так что может быть лучше, чтобы не зависеть от него.

+0

Спасибо за разъяснение. Я проверил некоторые DRMed ePubs, и файл encryption.xml перечисляет все файлы внутри ePub, защищенные с помощью шифрования. Поэтому я могу проверить, перечисляет ли encryption.xml любой из файлов в ePub (или любой из файлов .html или .xhtml?), И если это так, я считаю, что ePub зашифрован. –

+1

EPUB3 имеет [функцию обфускации файла] (http://www.idpf.org/epub/30/spec/epub30-ocf.html#fobfus-specifying), которая не является DRM, но также указана в 'encryption.xml '. Поэтому можно найти 'encryption.xml' в EPUB-файле без DRM. Это делает необходимым проанализировать XML-файл и проверить, не имеет ли какой-либо элемент 'EncryptionMethod' атрибут' Algorithm', который не является 'http: // www.idpf.org/2008/embedding' – toKrause