SUPPORT

Un problème de certificat ? Besoin d'être dépanné rapidement ? Nos ingénieurs répondent à vos questions.

0 897 690 444 Service 0,80 €/min +prix appel
Menu
picture of tbs certificates
picture of tbs certificates
Les produits
Notre gamme
Partenaires
Support
Numéro vert
Focus


Prouver le controle d'une clé privée à l'aide d'Openssl

Il est possible de prouver cryptographiquement que l'on possède une clé privée, sans la divulguer, a l'aide d'Openssl et d'un encodeur/décodeur base64.

Terminologie

Ces termes seront utilisés de manière consistante afin de lever toute ambiguïté.
  • Demandeur : La personne demandant la preuve
  • Démonstrateur : La personne démontrant qu'elle possède la clé privée

Procédure

Étape 1 : Le demandeur génère un message aléatoire

Il est très important que ce soit le demandeur qui génère le message et non le démonstrateur, afin de pouvoir limiter les risques de "tricherie", par exemple par répétition de preuve.

Il est également important que le message soit de taille importante, dans cet exemple 512 octets.

openssl rand -base64 512 > messagetbs

Étape 2 : le démonstrateur fait la signature

Le démonstrateur utilise le message messagetbs et sa clé privée proofCert.pkey pour générer la signature messagetbs.sig.

base64 -d messagetbs | openssl dgst -sha256 -sign proofCert.pkey | base64 > messagetbs.sig 

Étape 3 : Le demandeur vérifie la signature

base64 -d messagetbs.sig > messagetbs.sig.bin

openssl x509 -in proofCert.cer -pubkey -noout > proofCert.pubkey

base64 -d messagetbs | openssl dgst -sha256 -verify proofCert.pubkey -signature messagetbs.sig.bin

Openssl indiquera alors si la signature est valide.

Verified OK