Documentation du fichier exécutable .jar AdeptActivateCli.jar
This commit is contained in:
101
src/EncryptEPub-fr.md
Normal file
101
src/EncryptEPub-fr.md
Normal file
@@ -0,0 +1,101 @@
|
||||
#### Aperçu
|
||||
|
||||
Pendant la traduction de libjourou du C++ vers Java, j'ai réalisé que j'avais
|
||||
besoin d'un ou de plusieurs fichiers ePub chiffrés pour mes tests. J'ai donc
|
||||
écrit EncryptEPub pour accomplir cette tâche. EncryptEPub.jar prend un
|
||||
fichier ePub non chiffré et le transforme en un fichier ePub chiffré.
|
||||
|
||||
Il commence par créer une clé symétrique AES de 128 bits (16 octets). Ensuite,
|
||||
en utilisant soit un fichier "activation.xml" compatible avec libgourou, soit
|
||||
les données du registre Windows, il chiffre cette clé symétrique avec la clé
|
||||
publique provenant du certificat de licence X509 de l'utilisateur
|
||||
("adept:licenseCertificate"). Il encode ensuite cette clé en base64 et, avec
|
||||
l'UUID de l'utilisateur et une UUID constante, il crée un document XML minimal
|
||||
"rights".
|
||||
|
||||
Il lit ensuite l'entrée '.opf' du fichier ePub original, telle qu'enregistrée
|
||||
dans l'entrée ZIP "META-INF/container.xml", et analyse son nœud XML <spine>.
|
||||
Il parcourt ensuite l'intégralité du fichier ePub original, copiant les entrées
|
||||
du fichier d'origine vers un nouveau fichier d'archive ZIP de sortie. Il
|
||||
commence par extraire chaque entrée et la décompresse en utilisant la méthode
|
||||
'Inflate'. Si l'entrée n'est pas référencée dans le nœud <spine> du fichier
|
||||
'.opf', il l'ajoute à la nouvelle archive en utilisant la méthode 'Deflate'
|
||||
(compression). Si elle est référencée, il la compresse en utilisant la méthode
|
||||
'Deflate' sans l'ajouter, chiffre les données compressées avec la clé symétrique
|
||||
AES, puis ajoute les données chiffrées à la nouvelle archive ePub en utilisant
|
||||
la méthode 'Store' (sans compression). Pour chaque fichier chiffré, il crée
|
||||
également un élément <EncryptedData> dans un document XML d'encryption,
|
||||
référençant le nom de l'entrée et spécifiant l'algorithme de chiffrement
|
||||
(AES-128-CBC).
|
||||
|
||||
#### Par example:
|
||||
|
||||
`<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#">`
|
||||
 `<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>`
|
||||
 `<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">`
|
||||
  `<resource xmlns="http://ns.adobe.com/adept">urn:uuid:82919621-81bd-419a-880b-c52eabc22bf1</resource>`
|
||||
 `</KeyInfo>`
|
||||
 `<CipherData>`
|
||||
  `<CipherReference URI="toc.html"/>`
|
||||
 `</CipherData>`
|
||||
`</EncryptedData>`
|
||||
|
||||
Enfin, les documents XML "rights" et "encryption" sont convertis en fichiers
|
||||
XML et ajoutés à l'ePub de sortie. Cette archive obtenue est le fichier ePub
|
||||
fortement chiffré, complet avec les métadonnées TPM nécessaire, le rendant
|
||||
prêt pour les tests.
|
||||
|
||||
#### Format d'utilisation:
|
||||
|
||||
> java -jar EncryptEPub.jar \[-hV\] \[--win\] \[-a=<nomFichierActivation>\]
|
||||
> \[-D=<dossierAdept>\] <fichierEPub>
|
||||
|
||||
#### Options de Ligne de Commande
|
||||
|
||||
> ##### "-h" ou "--help"
|
||||
>
|
||||
> Affiche l'aide du programme (instructions d'utilisation) puis se termine.
|
||||
>
|
||||
> ##### "-V" ou "--version"
|
||||
>
|
||||
> Affiche les informations de version puis se termine.
|
||||
>
|
||||
> ##### "<fichierEPub>"
|
||||
>
|
||||
> Le nom et le chemin du fichier ePub à traiter. S'il n'est pas spécifié, ou
|
||||
> s'il n'existe pas, le programme affichera un message d'erreur et se terminera.
|
||||
>
|
||||
> ##### "-a" ou "--activation-file" \[<nomFichierActivation>\]
|
||||
>
|
||||
> Spécifie le nom du fichier XML contenant l'UUID de l'utilisateur et son
|
||||
> certificat de clé publique, dans le même format que celui utilisé par le
|
||||
> fichier activation.xml de libgourou. Seuls les éléments <adept:user> et
|
||||
> <adept:privateLicenseKey> sont requis. Si ce paramètre n'est pas fourni,
|
||||
> le nom "activation.xml" sera utilisé par défaut.
|
||||
>
|
||||
> ##### "-D" ou "--adept-directory" \[<cheminDossier>\]
|
||||
>
|
||||
> Spécifie le répertoire qui contient le fichier d'activation. S'il n'est pas
|
||||
> spécifié, le répertoire de travail actuel sera utilisé.
|
||||
>
|
||||
> ##### "--win"
|
||||
>
|
||||
> Lit le certificat de licence et l'UUID de l'utilisateur directement du
|
||||
> Registre Windows au lieu d'utiliser le fichier d'activation. Si cette option
|
||||
> est spécifiée _et_ que le programme est exécuté sur Windows, il tentera de
|
||||
> lire l'UUID de l'utilisateur et le certificat de clé publique X509 à partir
|
||||
> des clés de Registre :
|
||||
>
|
||||
> HKEY_CURRENT_USER\Software\Adobe\Adept\Activation\0001\0000, et
|
||||
> HKEY_CURRENT_USER\Software\Adobe\Adept\Activation\0001\0002
|
||||
>
|
||||
> Ces clés doivent exister si Adobe Digital Editions a été installé et activé
|
||||
> sur la même machine que celle où EncryptEPub est exécuté.
|
||||
> ##### Gestion des erreurs
|
||||
>
|
||||
> Si l'option "--win" est spécifiée, et que les clés de Registre ne peuvent
|
||||
> être trouvées, le programme affichera un message d'erreur et se terminera.
|
||||
>
|
||||
> Si l'option "--win" n'est pas spécifiée, et que le fichier d'activation ne
|
||||
> peut être trouvé, le programme affichera un message d'erreur et se
|
||||
> terminera.
|
||||
Reference in New Issue
Block a user