diff --git a/content/slides/privacy/images/ssl/check-cert-ff.png b/content/slides/privacy/images/ssl/check-cert-ff.png
new file mode 100644
index 0000000000000000000000000000000000000000..a15e06ae93951866fb09b037375d84e0c7d91d67
Binary files /dev/null and b/content/slides/privacy/images/ssl/check-cert-ff.png differ
diff --git a/content/slides/privacy/images/ssl/check-cert-ff2.png b/content/slides/privacy/images/ssl/check-cert-ff2.png
new file mode 100644
index 0000000000000000000000000000000000000000..577c347d668a0c51212107fb480621be41204575
Binary files /dev/null and b/content/slides/privacy/images/ssl/check-cert-ff2.png differ
diff --git a/content/slides/privacy/images/ssl/https-chrome.png b/content/slides/privacy/images/ssl/https-chrome.png
new file mode 100644
index 0000000000000000000000000000000000000000..9caa78df0305a9c5bd59e0665979e5cb638aa65a
Binary files /dev/null and b/content/slides/privacy/images/ssl/https-chrome.png differ
diff --git a/content/slides/privacy/images/ssl/https-ff.png b/content/slides/privacy/images/ssl/https-ff.png
new file mode 100644
index 0000000000000000000000000000000000000000..1fc47349f386292357781b9337e77a8981487102
Binary files /dev/null and b/content/slides/privacy/images/ssl/https-ff.png differ
diff --git a/content/slides/privacy/images/ssl/https.png b/content/slides/privacy/images/ssl/https.png
new file mode 100644
index 0000000000000000000000000000000000000000..763ea9e53bdd80af0f194acfbc974d92db84a30a
Binary files /dev/null and b/content/slides/privacy/images/ssl/https.png differ
diff --git a/content/slides/privacy/images/ssl/known-good-signers.png b/content/slides/privacy/images/ssl/known-good-signers.png
new file mode 100644
index 0000000000000000000000000000000000000000..df651187a6dbd8c5faf7c1d78e27a2757d3ca730
Binary files /dev/null and b/content/slides/privacy/images/ssl/known-good-signers.png differ
diff --git a/content/slides/privacy/md/pgp.md b/content/slides/privacy/md/pgp.md
index 2ccb075c4ae250f4f28baa206b4fe7212c7112e1..263a196cf9bc860508fc64e8dba883f93cb7f6d4 100644
--- a/content/slides/privacy/md/pgp.md
+++ b/content/slides/privacy/md/pgp.md
@@ -50,4 +50,6 @@ On est en moyenne à 5.5 clés d’un autre utilisateur de PGP
 
 ## AndroidPG
 
+## https://openpgpjs.org/
+
 ## enigmail
diff --git a/content/slides/privacy/md/ssl.md b/content/slides/privacy/md/ssl.md
index 3a458075044c80a8b3722baf7b6c076975053be9..17c7fa351d78538c2588394810f11e2b21442a06 100644
--- a/content/slides/privacy/md/ssl.md
+++ b/content/slides/privacy/md/ssl.md
@@ -87,15 +87,15 @@ Informations ou contraintes d'utilisation
 
 ## générer une clé RSA
 
-```
-openssl genrsa -out ca.key 4096
+```bash
+$ openssl genrsa -out ca.key 4096
 ```
 
 * 4096 représente la taille de la clé
 * ```ca.key``` contient la clé privée ET la clé publique
 
-```
-openssl rsa -in ca.key -pubout
+```bash
+$ openssl rsa -in ca.key -pubout
 ```
 
 * Permet d'extraire la partie publique uniquement
@@ -103,38 +103,62 @@ openssl rsa -in ca.key -pubout
 
 ## générer un certificat
 
-```
-openssl req -new -x509 -days 1826 \
+```bash
+$ openssl req -new -x509 -days 1826 \
             -key ca.key -out ca.crt \
-            -subj '/CN=www.rootdom.com/O=My Root Company Name LTD./C=US'
+            -subj '/CN=m4z3.me'
 ```
 
-```
-% cat ca.crt
+```bash
+$ cat ca.crt
 -----BEGIN CERTIFICATE-----
 MIIC/zCCAeegAwIBAgIJAM4FANszQweWMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNV
 BAMMC2V4YW1wbGUuY29tMB4XDTE3MTAzMTExMzEzNFoXDTE3MTEzMDExMzEzNFow
 ```
 
-https://www.sslmarket.fr/ssl/help-la-difference-entre-certificats
+[différences entre certificats](https://www.sslmarket.fr/ssl/help-la-difference-entre-certificats)
 
 
-## faire parler un certificat
+## Certificat auto-signé
 
-```
-openssl x509 -text -noout -in ca.crt
-```
+* Issuer et Subject identiques
+* Tout le monde peut en fabriquer
+* Rejeté par défaut par les navigateurs
 
-```
-openssl s_client -connect isima.fr -showcerts
+
+#### faire parler un certificat
+
+local
+
+```bash
+$ openssl x509 -text -noout -in ca.crt
 ```
 
-Avec son navigateur en cliquant sur le cadenas
+distant
 
+```bash
+$ openssl s_client -connect isima.fr:443 -showcerts -servername isima.fr
 ```
-openssl x509 -purpose -in ca.crt  -inform PEM
+
+* [Using OpenSSL’s s_client command with web servers using Server Name Indication (SNI)](https://major.io/2012/02/07/using-openssls-s_client-command-with-web-servers-using-server-name-indication-sni/)
+
+usage du certificat
+
+```bash
+$ openssl x509 -purpose -in ca.crt  -inform PEM
 ```
-* Permet d'obtenir obtenir les usages possibles de la clé
+
+
+## faire parler un certificat
+
+![Check CERT Firfox](images/ssl/check-cert-ff.png)
+
+* Avec son navigateur en cliquant sur le cadenas
+
+
+## faire parler un certificat
+
+![Check CERT Firfox](images/ssl/check-cert-ff2.png)
 
 
 ## Autorité de certificaiton (CA)
@@ -157,103 +181,128 @@ openssl x509 -purpose -in ca.crt  -inform PEM
   * payer (le navigateur)
 
 
-## X.509 Autorité de certificaiton (CA) gratuites
+## CA racine
 
-* https://www.startcomca.com/index/support?v=1
-* CACERT n'est pas une autorité de certification intégré aux navigateurs
-* let's encrypt (http://formulae.isima.fr/)
+https://fr.wikipedia.org/wiki/Certificat_racine
 
+* clés publiques non signées, ou auto-signées
+  * sur lesquelles repose la confiance
 
-## known good signers
+* Les logiciels, comme les navigateurs web ou les clients de messagerie détiennent des certificats racines de nombreuses autorités de certification commerciales ou gouvernementales. Quand un navigateur ouvre une connexion sécurisée (TLS/SSL) vers un site possédant un certificat émis par une autorité connue, il considère le site comme sûr dans la mesure où le chemin de certification est validé. Le passage en mode sécurisé est alors transparent.
 
 
-<div style="text-align: center;">
-    <img src="images/ssl/known-good-signers.png" width="80%" />
-</div>
+## Chaînes de certification
+
+* Un certificat est rarement signé par une CA racine
+* La CA racine créé plusieurs CA intermédiaires
+  * sous scellé / déconnecté / sorti pour générer
+  * auto signé
+* Les CA intermédiaires signent
+  * les certificats des clients
+  * d'autres CA intermédiaires
+    * il faut alors fournir la chaîne de certification
+      * au cas où l'intermédiaire ne soit pas dans le navigateur
 
 
-## Certificate Authority (CA)
+## Known good signers
 
-<div style="text-align: center;">
-    <img src="images/ssl/https-ff.png" width="80%" />
-</div>
+![Known good signers](images/ssl/known-good-signers.png)
+
+
+## X.509 Autorité de certificaiton (CA) gratuites
+
+* [StartSSL free](https://www.startcomca.com/index/support?v=1)
+* [CAcert](http://www.cacert.org/) (not known good signers)
+* [Let's Encrypt](https://letsencrypt.org/) de fondé par l'[EFF](https://www.eff.org/fr) et [Mozilla](https://www.mozilla.org/fr/)
 
 
 ## Certificate Authority (CA)
 
-<div style="text-align: center;">
-    <img src="images/ssl/https-chrome.png" width="80%" />
-</div>
+![Warning](images/ssl/https-ff.png)
 
 
-## CA racine
+## Certificate Authority (CA)
 
-https://fr.wikipedia.org/wiki/Certificat_racine
+![Warning](images/ssl/https-chrome.png)
 
-es certificats racines sont des clés publiques non signées, ou auto-signées, dans lesquelles repose la confiance. Les logiciels, comme les navigateurs web ou les clients de messagerie détiennent des certificats racines de nombreuses autorités de certification commerciales ou gouvernementales. Quand un navigateur ouvre une connexion sécurisée (TLS/SSL) vers un site possédant un certificat émis par une autorité connue, il considère le site comme sûr dans la mesure où le chemin de certification est validé. Le passage en mode sécurisé est alors transparent.
 
-## Chaînes de certification
+## Différentes causes
 
-* Un certificat est rarement signé par une CA racine
-* La CA racine créé plusieurs CA intermédiaires
-  * sous scellé / déconnecté / sorti pour générer
-  * auto signé
-* Les CA intermédiaires signent
-  * les certificats des clients
-  * d'autres CA intermédiaires
-    * il faut alors fournir la chaîne de certification
-      * au cas où l'intermédiaire ne soit pas dans le navigateur
+* Certificat différent du nom de domaine
+  * wildcard
+    * https://amendes.gouv.fr
+* Certificats expirés
+* Autorités de certification non importée
+* ...
 
 
-## X.509 Demande de certificat Certificate Sign Request (CSR)
+## Certificate Sign Request
+### (CSR)
 
-```
-openssl req -new -newkey rsa:2048 -sha256 \
+```bash
+$ openssl req -new -newkey rsa:2048 -sha256 \
             -nodes -out user.csr -keyout user.key \
             -subj '/CN=example.com'
 ```
 
-```
-openssl req -in user.csr -text -noout
+* Générer un requête de certification
+* Un CSR est auto-signé (pour vérifier l'intégrité)
+
+```bash
+$ openssl req -in user.csr -text -noout
 ```
 
-vérifier le csr
+* Lire le CSR
 
-```
-openssl req -text -noout -verify -in user.csr
+```bash
+$ openssl req -text -noout -verify -in user.csr
 ```
 
-```
-openssl x509 \
+* Vérifier le CSR
+
+
+### Création d'un certfificat à partir d'un CSR
+
+```bash
+$ openssl x509 -req -days 365 \
        -CA ca.crt -CAkey ca.key \
        -CAcreateserial -CAserial serial \
        -in user.csr -out user.crt \
-       -req -days 365
 ```
 
-https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs
-
-* un CSR est auto-signé (pour vérifier l'intégrité)
-* l'AC vérifie que le domaine correspond à un nom de domaine géré par le compte courant
+* Génèrer un certificat à partir d'un CSR
+  * la CA vérifie qu'elle gère le domaine
+  * la CA ajoute quelques informations
+  * la CA signe avec sa clé privée
+    * la CA protège sa clé privée
 
-* la CA créée le certificat, en ajoutant quelques informations et en signant avec sa clé privée
-  * lui il a intérêt à bien gérer ses clés pour ne pas être compromis
-    * en case de compromission on révoque
+note:
+- https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs
 
 
 ## X.509 vérification de la signature
 
-```
-openssl verify -CAfile ca.crt user.crt
+```bash
+$ openssl verify -CAfile ca.crt user.crt
+user.crt: OK
 ```
 
-Certificat auto-signé
-* Issuer et Subject identiques
-  * X509v3 Subject Key Identifier = X509v3 Authority Key Identifier
-* Tout le monde peut en fabriquer
-* Rejeté par défaut par les navigateurs
-
-https://stackoverflow.com/questions/25482199/verify-a-certificate-chain-using-openssl-verify
+```bash
+$ openssl x509 -text -noout -in user.crt
+Certificate:
+    Data:
+        Version: 1 (0x0)
+        Serial Number:
+            f0:61:f4:c1:96:86:21:07
+    Signature Algorithm: sha256WithRSAEncryption
+        Issuer: CN=m4z3.me
+        Validity
+            Not Before: Jan 18 17:27:54 2018 GMT
+            Not After : Jan 18 17:27:54 2019 GMT
+        Subject: CN=example.com
+```
+note:
+- https://stackoverflow.com/questions/25482199/verify-a-certificate-chain-using-openssl-verify
 
 
 
diff --git a/content/slides/privacy/ssl.html b/content/slides/privacy/ssl.html
index 52fc195c3b5c41dd43e13f7f64c76fa55d99fef3..7e8db454bb85a406fc5302da7d44b18743ae9e99 100644
--- a/content/slides/privacy/ssl.html
+++ b/content/slides/privacy/ssl.html
@@ -12,6 +12,7 @@
     <!-- Theme used for syntax highlighting of code -->
     <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
     <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
+    <link rel="stylesheet" href="../main.css">
 
     <!-- Printing and PDF exports -->
     <script>