Création d'un certificat numérique pour la signature des leçons

En quoi consiste la signature numérique ?

La signature numérique est un mécanisme permettant de garantir l'intégrité d'un document électronique une fois signé et d'en authentifier le signataire.

 

Comment ca marche ?

Pour signer des données, nous utilisons un certificat au format PEM (couple certificat / clé privée) sur un "hash" de données.

 

L'étape préalable est donc la création du certificat. 2 solutions possibles :

- Utiliser un certificat obtenu auprès d'un autorité compétente (payant)
- Auto générer son certificat (gratuit)

Paramètrage dans planning.aero


Pour enregistrer les paramètres sur planning.aero: section paramètres -> paramètres-> divers -> pédagogie

 

Auto générer son certificat

Pour générer un certificat, nous allons utiliser openssl depuis un shell

$ openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout moncertif.key -out moncertif.cert

 

Il sera valable 3650 jours, la clé privée sera moncertif.key, le certificat sera moncertif.cert

 

Vous devrez répondre à quelques lors de la génération, ci dessous un exemple de génération

 

Generating a 2048 bit RSA private key
..............+++
..................................................................................................................+++
writing new private key to 'moncertif.key'
-----
You are about to be asked to enter information that will be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value, If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:FR
State or Province Name (full name) []:France
Locality Name (eg, city) []:Montpellier
Organization Name (eg, company) []:planning.aero
Organizational Unit Name (eg, section) []:
Common Name (eg, fully qualified host name) []:planning.aero
Email Address []:contact@planning.aero

 

Ce qui est signé (hash)

 Le hash correspond aux données JSON encodées en base64. Les données intégrées sont:

- ID utilisateur
- Date progression
- Nombre d'heure progression
- Note progression
- Commentaire progression
- Temps tachy du vol
- Temps moteur du vol
- Temps de vol
- ID instructeur
- ID leçon
- ID logsbook (vol ou théorique)
- ID progression

 

Signer une leçon

Pour signer une leçon, il existe 2 formulaires

- Formulaire admin: permet de faire signer l'instructeur ainsi que l'élève
- Formulaire élève: permet de faire signer l'élève de façon autonome

Pour valider uns signature l'élève et/ou l'instructeur doit indiquer son mot de passe.

Vérifier une signature

Pour vérifier une signature vous aurez besoin du certificat.
Cela permettra de valider que la signature à bien été faite à partir de la clé privée de ce certificat.

Depuis la fiche de progression d'un élève, cliquez sur l'onglet détails, affichez les leçons d'un chapitre, cliquez sur "progression signée".

Vous pouvez ainsi vérifier l'exactitude des données.

 

Suppression d'une signature

En cas de mise à jour du vol ou du cours théorique, la signature est supprimée

 

Liens externes:

Installer Cygwin et openssl: https://www.ssl.com/how-to/install-openssl-on-windows-with-cygwin/

 

Article Details

Article ID:
15
Category:
Rating :