Signature du code

ownCloud gère la signature du code pour ownCloud et pour les applications. La signature du code donne à nos utilisateurs une couche de sécurité supplémentaire en assurant que personne d’autre que les personnes autorisées ne puissent mettre à disposition les mises à jour.

Cela assure aussi a*que les mises à jour ont exécutées correctement, de sorte qu’aucun ancien fichier ne reste en place et qu’ils soient tous correctement remplacés. Par le passé, des mises à jour invalides avaient provoqué beaucoup d’erreur lors de la mise à jour d’ownCloud.

FAQ

Pourquoi ownCloud a-t-il ajouté la signature de code ?

La signature du code donne à nos utilisateurs une couche de sécurité supplémentaire en assurant que personne d’autre que les personnes autorisées ne puissent mettre à disposition les mises à jour.

Verrouillons-nous ownCloud ?

Le projet ownCloud est open-source et le demeurera. Nous ne voulons pas ajouter de difficultés à nos utilisateurs pour exécuter ownCloud. Toute erreur de signature de code lors des mises à jour n’empêchera pas ownCloud de fonctionner, mais affichera un avertissement sur la page d’administration. Pour les applications non marquées « Officielle », la signature de code est facultative.

Plus open-source ?

Le projet ownCloud est open-source et le demeurera. La signature du code est un processus facultatif, bien que vivement recommandé. La vérification du code est activée pour ownCloud quand la branche de version a été définie à stable.

Pour les distributions personnalisées d’ownCloud, il est recommandé de modifier la branche pour autre chose que stable.

La signature du code est-elle obligatoire pour les applications ?

La signature de code est facultative pour toutes les applications tiers. Les applications marquées « Officielle » sur apps.owncloud.com nécessitent la signature de code.

Correction des messages d’intégrité de code invalide

Un message d’erreur d’intégrité de code (« Il y a eu des problèmes à la vérification d’intégrité du code. Plus d’infos… ») apparaît dans une bannière jaune en haut de l’écran dans l’interface Web d’ownCloud :

Bannière d'avertissement d'intégrité de code.

Note

La bannière jaune n’est affichée que pour les administrateurs.

Cliquer sur ce lien vous aménera sur la page d’administration d’ownCloud, qui propose les options suivantes :

  1. un lien vers cette entrée de documentation ;
  2. la liste des fichiers non valides ;
  3. une revérification.
Liens pour résoudre les avertissements d'intégrité de code.

Pour déboguer les problèmes provoqués par la vérification d’intégrité de code, cliquez sur « Liste des fichiers non valides… » et un document texte sera affiché listant les différents problèmes. Le contenu de ce fichier sera similaire à ce qui suit :

Technical information
=====================
The following list covers which files have failed the integrity check. Please read
the previous linked documentation to learn more about the errors and how to fix
them.

Results
=======
- core
      - INVALID_HASH
              - /index.php
              - /version.php
      - EXTRA_FILE
              - /test.php
- calendar
      - EXCEPTION
              - OC\IntegrityCheck\Exceptions\InvalidSignatureException
              - Signature data not found.
- tasks
      - EXCEPTION
              - OC\IntegrityCheck\Exceptions\InvalidSignatureException
              - Certificate has been revoked.

Raw output
==========
Array
(
    [core] => Array
        (
            [INVALID_HASH] => Array
                (
                    [/index.php] => Array
                        (
                            [expected] =>
                            f1c5e2630d784bc9cb02d5a28f55d6f24d06dae2a0fee685f3
                            c2521b050955d9d452769f61454c9ddfa9c308146ade10546c
                            fa829794448eaffbc9a04a29d216
                            [current] =>
                            ce08bf30bcbb879a18b49239a9bec6b8702f52452f88a9d321
                            42cad8d2494d5735e6bfa0d8642b2762c62ca5be49f9bf4ec2
                            31d4a230559d4f3e2c471d3ea094
                        )

                    [/version.php] => Array
                        (
                            [expected] =>
                            c5a03bacae8dedf8b239997901ba1fffd2fe51271d13a00cc4
                            b34b09cca5176397a89fc27381cbb1f72855fa18b69b6f87d7
                            d5685c3b45aee373b09be54742ea
                            [current] =>
                            88a3a92c11db91dec1ac3be0e1c87f862c95ba6ffaaaa3f2c3
                            b8f682187c66f07af3a3b557a868342ef4a271218fe1c1e300
                            c478e6c156c5955ed53c40d06585
                        )

                )

            [EXTRA_FILE] => Array
                (
                    [/test.php] => Array
                        (
                            [expected] =>
                            [current] =>
                            09563164f9904a837f9ca0b5f626db56c838e5098e0ccc1d8b
                            935f68fa03a25c5ec6f6b2d9e44a868e8b85764dafd1605522
                            b4af8db0ae269d73432e9a01e63a
                        )

                )

        )

    [calendar] => Array
        (
            [EXCEPTION] => Array
                (
                    [class] => OC\IntegrityCheck\Exceptions\InvalidSignature
                    Exception
                    [message] => Signature data not found.
                )

        )
    [tasks] => Array
        (
            [EXCEPTION] => Array
                (
                    [class] => OC\IntegrityCheck\Exceptions\InvalidSignatureException
                    [message] => Certificate has been revoked.
                )

        )

)

Dans la sortie d’erreur ci-dessus, on peut voir que :

  1. dans le cœur d’ownCloud (c’est-à-dire le serveur ownCloud lui-même) les « index.php » et « version.php » n’ont pas la bonne version ;
  2. dans le cœur d’ownCloud, le fichier supplémentaire « /test.php » a été trouvé ;
  3. il n’a pas été possible de vérifier la signature de l’application Agenda.
  4. Le certificat de l’application tâche a été révoqué.

Pour résoudre ce problème, les tâches suivantes doivent être réalisées :

  1. téléversez les fichiers « index.php » et « version.php » corrects par exemple à partir de l’archive de votre version d’ownCloud ;
  2. supprimez le fichier « test.php » ;
  3. contactez le développeur de cette application : une nouvelle version de l’application contenant un fichier de signature valide doit être publiée ;
  4. contactez le développeur de cette application : une nouvelle version de l’application signée avec une signature valide doit être publiée.

Pour d’autres moyens de recevoir de l’assistance, veuillez consulter https://owncloud.org/support/. Après avoir corrigé ces problèmes, cliquez sur « Relancer… ».

Note

Lors de l’utilisation d’un client FTP pour téléverser ces fichiers, assurez-vous d’utiliser le mode de transfert binaire plutôt qu’ASCII.

Vérifications

Elles sont déclenchées à l’installation et lors des mises à jour. Vous pouvez lancer les vérifications manuellement avec la commande occ. La première vérifie les fichiers du cœur d’ownCloud et la seconde ceux de l’application. Il n’existe pas encore de commande pour vérifier manuellement toutes les applications:

occ integrity:check-core
occ integrity:check-app $appid

Consulter Utilisation de la commande occ pour en apprendre plus sur la commande occ.

Erreurs

Avertissement

Veuillez ne pas modifier le fichier signature.json mentionné lui-même.

Les erreurs suivantes peuvent être rencontrées lors de la vérification de la signature du code :

  • INVALID_HASH

    • Le fichier a un « hash » différent de celui mentionné dans signature.json. Ceci arrive généralement quand le fichier a été modifié après l’écriture des données de signature.
  • MISSING_FILE

    • Le fichier ne peut être trouvé mais il a été indiqué dans le fichier signature.json. Un fichier a été oublié ou le fichier signature.json doit être modifié.
  • EXTRA_FILE

    • Le fichier n’existe pas dans signature.json. Ceci arrive généralement quand un fichier a été enlevé et que signature.json n’a pas été mis à jour. Cela survient aussi si vous avez ajouté des fichiers supplémentaires dans le dossier d’installation d’ownCloud.
  • EXCEPTION

    • Une autre exception a empêché la vérification du code. Il existe actuellemnt les exceptions suivantes :

      • Signature data not found.`
        • L’application est marquée comme devant être signée, mais aucun fichier signature.json n’a été trouvé dans le dossier appinfo.
      • Certificate is not valid.
        • Le certificat n’a pas été délivré par l’autorité racine de certification officielle d’ownCloud.
      • Certificate is not valid for required scope. (Requested: %s, current: %s)
        • Le certificat n’est pas valide pour l’application définie. Les certificats ne sont valides que pour l’identifiant d’application défini et ne peuvent être utilisé pour d’autres.
      • Signature could not get verified.
        • Il y a eu un problème en vérifiant la signature de signature.json.
      • Certificate has been revoked.
      • Le certificat utilisé pour signer cette application a été révoqué.
Toute la documentation est sous licence Creative Commons Attribution 3.0 Unported license — Traduction : Cédric Corazza.