---
categories: ['OpenBSD','Système','Base']
date: 2017-07-31T13:50:49+01:00
description: "Petit rappel pour l'utilisation de l'outil signify sous OpenBSD."
draft: false
tags: ['OpenBSD','Signify','Mini-Tuto']
title: "[Mini-Tuto] Signify (OpenBSD)"
translationKey: 'openbsd-signify'
---
## Description
Un mini-tutoriel concernant l'usage de l'outil {{< man signify >}} !
Pour ceux qui ne connaissent pas, *signify* est un outil natif du projet
OpenBSD, dont le but est de générer une signature cryptographique d'un
fichier ou ensemble de fichiers.
## Vérification de signature
Vous avez récupéré un fichier de clé publique, créé avec signify, ainsi
que le fichier de signature ; pour vérifier que les fichiers fournis
avec soient intègres, il vous faudra utiliser signify ainsi :
`$ signify -C -p Nom_Projet.pub -x Nom_Projet.sig`
Cette commande signifie de vérifier avec la clé publique du projet
Untel, tous les fichiers écrites dans le fichier de signature.
Cette commande peut être légèrement abrégée :
`$ signify -Cp Nom_Projet.pub -x Nom_Projet.sig`
## Création de signature
Maintenant, voyons comment créer un ensemble de fichiers de clé
privée/publique avec signify :
`$ signify -G -p Nom_Projet.pub -s Nom_Projet.sec`
L'invite de commande vous demandera d'écrire une passphrase et de la
confirmer !
{{< color red >}}Ne pas oublier la passphrase ; et, mettez en sécurité le
fichier de clé privée `*.sec`, en lieu sûr !{{< /color >}}
Si pour des raisons quelconques, vous avez besoin de générer une
signature sans passphrase, exécutez signify ainsi :
`$ signify -G -n -p Nom_Projet.pub -s Nom_Projet.sec`
## Génération du fichier de signature
Nous savons donc vérifier un ensemble de fichiers grâce à un fichier de
signature, créer un ensemble de clé privée/publique, voyons comment
générer un fichier de signature !
`$ signify -S -e -x Nom_Projet.sig -s Nom_Projet.sec`
### Cas d'utilisation
Profitons de la possibilité de coupler l'outil signify, avec une fonction de hachage cryptographique, telle `sha512` !
- En premier lieu, générons un fichier de condensats cryptographiques, e.g :
`find ./ -exec sha512 {} + > Nom_Projet.sha512`
- Puis, occupons nous du fichier de signature :
`$ signify -S -s Nom_Projet.sec -m Nom_Projet.sha512 -e -x Nom_Projet.sig`
{{< note tip >}}À-propos de l'usage de l'algorithme de cryptographie sha512 :
La génération de hashes cryptographiques peut être faite par l'outil `cksum` en utilisant l'option `-a` pour cibler l'algorithme `sha512` *(entres autres…)* !
{{< /note >}}
----
{{< note info >}}Le terme "somme de contrôle" est communément accepté pour parler des condensats/hashes cryptos générés à partir d'une fonction de hash. Cet usage peut être considéré comme impropre par des spécialistes. Par exemple, pour explication :
----
Une somme de contrôle est utile pour détecter des modifications accidentelles des données, mais n'a pas vocation à assurer une protection contre les modifications intentionnelles. Plus précisément, elle ne peut en général pas assurer directement l'intégrité cryptographique des données. Pour éviter de telles modifications, il est possible d'utiliser une fonction de hachage adaptée, comme SHA-256, couplée à un élément secret (clé secrète), ce qui correspond au principe du HMAC. *[source](https://fr.wikipedia.org/wiki/Somme_de_contr%C3%B4le#Somme_de_contr%C3%B4le_et_cryptographie)*
{{< / note >}}
## Documentation
* Le manpage officiel - *en anglais* - : {{< man signify >}}
* Celui de la fonction de hachage cryptographique - *en anglais* - : {{< man sha512 >}}
* Celui à-propos de l'outil en ligne de commande - *en anglais* - : {{< man cksum >}}
* La page {{< wp "Somme_de_contrôle" >}}.
------------------------------------------------------------------------