<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Openssl</id>
	<title>Openssl - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Openssl"/>
	<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Openssl&amp;action=history"/>
	<updated>2026-05-20T00:08:02Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Openssl&amp;diff=1093&amp;oldid=prev</id>
		<title>Jpinon : Page créée avec « Dans cette page je vais donner, en vrac, les commandes openssl que j&#039;utilise de temps en temps. Pas assez souvent pour qu&#039;elles soient dans ma tête mais assez souvent pour ne pas devoir demande à google.  == Les clés privées ==  === Taille de la clé privée. === On a une clé privée (comme avec la PKI familiale) et on ne se souviens plus de sa taille. On l&#039;a crée il y a longtemps, est elle toujours assez robuste vu l&#039;évolution des technologies?&lt;syntax... »</title>
		<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Openssl&amp;diff=1093&amp;oldid=prev"/>
		<updated>2025-04-22T12:50:49Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « Dans cette page je vais donner, en vrac, les commandes openssl que j&amp;#039;utilise de temps en temps. Pas assez souvent pour qu&amp;#039;elles soient dans ma tête mais assez souvent pour ne pas devoir demande à google.  == Les clés privées ==  === Taille de la clé privée. === On a une clé privée (comme avec la &lt;a href=&quot;/PKI_familiale&quot; title=&quot;PKI familiale&quot; data-bs-title=&quot;PKI_familiale&quot;&gt;PKI familiale&lt;/a&gt;) et on ne se souviens plus de sa taille. On l&amp;#039;a crée il y a longtemps, est elle toujours assez robuste vu l&amp;#039;évolution des technologies?&amp;lt;syntax... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Dans cette page je vais donner, en vrac, les commandes openssl que j&amp;#039;utilise de temps en temps. Pas assez souvent pour qu&amp;#039;elles soient dans ma tête mais assez souvent pour ne pas devoir demande à google.&lt;br /&gt;
&lt;br /&gt;
== Les clés privées ==&lt;br /&gt;
&lt;br /&gt;
=== Taille de la clé privée. ===&lt;br /&gt;
On a une clé privée (comme avec la [[PKI familiale]]) et on ne se souviens plus de sa taille. On l&amp;#039;a crée il y a longtemps, est elle toujours assez robuste vu l&amp;#039;évolution des technologies?&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ openssl rsa -in ca.key -text -noout | head -1&lt;br /&gt;
RSA Private-Key: (2048 bit, 2 primes)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On a une clé au format RSA (c&amp;#039;est ce qu&amp;#039;on a demandé) de &amp;#039;&amp;#039;&amp;#039;2048 bits&amp;#039;&amp;#039;&amp;#039;!&lt;br /&gt;
&lt;br /&gt;
== Les clés publiques ==&lt;br /&gt;
Toujours à partir de la même clé privée on peut en extraire la partie publique:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl rsa -in CA.key -pubout&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Nous donne sur la sortie standard la clé publique :&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN PUBLIC KEY-----&lt;br /&gt;
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5pvXlS6kiFmTPMWXlYV5&lt;br /&gt;
ygwiG+dw58EoLenOPkGrP0HNGv9Plyl+WgNB/PKbkKEVn2/cWNXNSBVJTT7sqedz&lt;br /&gt;
4jqZvCGrO+Szmn9TsPUV+weyOf8IcgcrEm9uEQktjXrHYXU6NhKxPt9FbTEaY/th&lt;br /&gt;
hdubH9ruevL/rqUDZ8BOozOIHCJTSR6wKHY4dEAXf3c+XpQWjpcP/RvJcfK6MMeg&lt;br /&gt;
TsRkIkL2TkE/KDspBiwHztf+uTZ1WLVsqwveKtr0/H/WsLKoo3+F2QQzY62ocSrB&lt;br /&gt;
4WaT/wsVCHyDISKhMjlJWj/qF9Y7UUyoSNeZmycSfCTT7KLjbj9uSABvawdTlexB&lt;br /&gt;
9wIDAQAB&lt;br /&gt;
-----END PUBLIC KEY-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Oui c&amp;#039;est la clé publique de ma PKI Familiale vous pouvez l&amp;#039;utiliser pour m&amp;#039;envoyer des fichier chiffrés ou vérifier l&amp;#039;intégrité de mes fichiers (vois signature ci dessous).&lt;br /&gt;
&lt;br /&gt;
Ou bien on la range dans un fichier :&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl rsa -in CA.key -pubout -out public.pem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Signatures ==&lt;br /&gt;
&lt;br /&gt;
=== Signer un fichier ===&lt;br /&gt;
On a un fichier test.png qui contient une image a signer (une photo dont on veut prouver être l&amp;#039;auteur).&lt;br /&gt;
&lt;br /&gt;
On dispose de :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;photo.png&amp;lt;/code&amp;gt; (la photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;private.key&amp;lt;/code&amp;gt; (la clé privée)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
openssl dgst -sha256 -sign CA.key -out photo.sha256 photo.png&lt;br /&gt;
openssl base64 -in photo.sha256 -out signature.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Le fichier signature.txt est plus facile a échanger (c&amp;#039;est du texte) alors que le fichier photo.sha256 est la version binaire. &lt;br /&gt;
&lt;br /&gt;
Ca nous donne une signature sous forme de digest sha256. Exemple:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
CYjn+0nqpskvi6rOseZ8X5BtoDcIDvIvm6uYN/jQqAkQl3OpkKtGDwt6/25Dn3Jt&lt;br /&gt;
0o4aOpcFAG0moNQTaVU2ut2M+UD9XEEALthkWmHWqK4t0JXj1ibuHiX4BC9f3V0i&lt;br /&gt;
vLDi14+yurQxQMUIOBkUI7mSGceVQ2aYQtxUMBWoM7nuEG9zsCXfr6aCgfwNS1W7&lt;br /&gt;
LBSkE50uIOnJKHS+rf/J06p69Fh8RRDwpDvkHqXINUysJg/I7QH6LdoCN275vz9k&lt;br /&gt;
rKcuvR4LfN0m9d2qK7cWSnvP7190P50eXqOz20ZYmg34bt4nwHGdq1sh0eHJAhR2&lt;br /&gt;
e5Pjcskbz7oqzoKdtMjZOA==&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;C&amp;#039;est sûr mais un peu long... mais c&amp;#039;est ça.&lt;br /&gt;
&lt;br /&gt;
=== Vérifier ===&lt;br /&gt;
On a besoin de trois choses :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;photo.png&amp;lt;/code&amp;gt; la photo que je veux protéger&lt;br /&gt;
* &amp;lt;code&amp;gt;public.pem&amp;lt;/code&amp;gt; ma clé publique&lt;br /&gt;
* &amp;lt;code&amp;gt;signature.txt&amp;lt;/code&amp;gt; le fichier de signature généré plus haut (ou directement le &amp;lt;code&amp;gt;photo.sha256&amp;lt;/code&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl base64 -d -in signature.txt -out sign.sha256 # Si on ne dispose plus du fichier binaire&lt;br /&gt;
openssl dgst -sha256 -verify public.pem -signature sign.sha256 photo.png&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Qui doit nous répondre &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Verified OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Lorsque tout se passe bien.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Verification Failure&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;sinon.&lt;/div&gt;</summary>
		<author><name>Jpinon</name></author>
	</entry>
</feed>