● Demander une adresse IP full stack chez Free pour avoir tous les ports
● Réparation d'un radio réveil impossible à mettre à l'heure et qui affiche 7L7
● Réparation d'une VMC: condensateur HS
● Raspberry Pi en récepteur audio Bluetooth (A2DP audio sink)
● Twitter devient x.com et son logo n'est pas sans rappeler celui x.org
● Enfouissement de pales d'éoliennes: vrai ou faux?
L'explosion du Ship vue depuis la Floride, regarder jusqu'à la fin. ▶
Rattrapage du Booster Super Heavy réussi mais avec 2 moteurs qui ne se sont pas rallumés lors du boostback burn et 1 lors de la phase de décélération. Malheureusement le Ship a encore été perdu. Il a eu une avarie de moteurs, plusieurs se sont é[...]
Début du direct de SpaceX, décollage toujours à l'heure prévue (00 H 30 en France).
Lancement annulé !
Décollage repoussé à 00 H 45, les préparatifs sont en cours.
Quand j'ai écris ce tuto, j'ai repris le fonctionnement d'un récepteur BT qui ne demande pas d'authentification. Il doit être possible de faire un système où il faut appuyer sur un bouton pour se mettre en mode appairage comme pour une enceinte BT en utilisant le GP[...]
Salut Jesus Forainsuper tuto merci beaucoup, ça marche nickel :) Je vais essayer de renforcer un peu la sécu, je suis en appart' et laisser l'appairage BT ouvert ça me plait moyen. Encore merci pour la publication @++Pete
Bonjour! J'ai enfin réussi ! Le problème résidait dans bluez, malgré les multiples distros que j'ai testé j'avais toujours un conflit quelque part, et là après une énième réinstalle propre et de longues recherches sur toutes les l[...]
Le problème doit venir du réseau Free. Si c'était le VPN de l'entreprise ça ne fonctionnerait pas quelque soit le fournisseur. Et l'IP partagée n'empêche pas l'utilisation d'un VPN, c'est surtout utile si comme moi tu héberges un serveur web et que tu [...]
Bonjour, Merci pour ton blog et toutes ces infos. J'ai un soucis un peu tricky. Depuis quelques semaines (impossible de me rappeler quand exactement), lorsque je suis en télétravail via le VPN de mon entreprise (via ma freebox pop), j'ai des erreurs reseau (fermeture de socket) entre l[...]
Quand on fait du développement web, on a souvent besoin d'utiliser le protocole HTTPS nécessitant d'avoir un certificat SSL. Ce certificat on peut facilement le générer avec openssl sauf que le problème est qu'un tel certificat n'est pas reconnu par le navigateur web qui affiche un avertissement. Pour qu'il soit reconnu, il faut un certificat signé par une autorité de certification reconnue mais ce genre de certificat ne peut être émis que pour un domaine t'appartenant, donc impossible à avoir pour un nom de domaine limité à ton réseau local sur lequel tu fais du développement.
La solution est de créer un certificat pour sa propre autorité de certification et de signer les certificats SSL avec celui-ci.
ATTENTION! Si tu utilises la méthode décrite ici, ton certificat ne sera toujours pas reconnu comme étant valide par n'importe quel navigateur internet. Il va falloir installer manuellement dans le navigateur le certificat de l'autorité de certification qui va permettre à ton navigateur de valider ton certificat correspondant à un nom de domine et ainsi ne plus t'afficher aucun avertissement de sécurité.
L'autorité de certification est l'organisme qui émets les certificats, par exemple Let's encrypt. Ici on va créer notre propre autorité de certification, ce qui reviens à créer un certificat correspondant à l'autorité de certification et qui va servir à signer les certificats que l'on va émettre pour un nom de domaine (ça peut aussi être une adresse IP).
Cette clé va servir à créer les certificats de l'autorité de certification et sera utilisée pour signer les certificats SSL de nom de domaine. Une fois généré, ce fichier doit être conservé et ne plus être modifié si tu veux créer de nouveaux certificats pour cette autorité de certification.
En conditions réelles, si l'on était une véritable autorité de certification, on garderait cette clé secrète.
openssl genrsa -out CA.key 4096
Tu dois obtenir un fichier CA.key
Pour le paramètre “-subj” libre à toi de mettre ce que tu veux dans les champs tant que tu respectes la syntaxe. Pour ne pas s'embêter, puisque notre certificat sera utilisé juste pour faire du développement et des tests, on crée un certificat valable 100 ans avec la paramètre “-days 36500”.
En conditions réelles, ce certificat est rendu public et est intégré aux navigateurs internet par leurs éditeurs.
openssl req \
-x509 \
-sha256 \
-new \
-nodes \
-subj '/C=FR/ST=/L=/O=hôte locale/OU=/CN=certificat racine localhost/emailAddress=' \
-key CA.key \
-days 36500 \
-out CA.pem
Tu dois obtenir un fichier CA.pem
Ici on choisit elliptic curve car c'est plus rapide.
En conditions réelles, ce fichier est donné au demandeur du certificat mais est gardé secret. Ce fichier est utilisé par le serveur web pour valider les connexions des clients.
openssl ecparam -name prime256v1 -genkey -out server.key
Tu dois obtenir un fichier server.key
Pour le paramètre “-subj”, comme pour l'autorité de certification, libre à toi de mettre ce que tu veux.
openssl req \
-new \
-sha256 \
-key server.key \
-subj "/C=FR/ST=/O=dev server/CN=localhost" \
-out server.csr
Tu dois obtenir un fichier server.csr
Dans “-extfile” indique tous les noms de domaines que tu sera susceptible d'utiliser dans ton navigateur pour accéder à ton serveur web. Comme dans l'exemple, tu peux utiliser aussi bien une adresse IP qu'un nom de domaine. Pour utiliser tes propres noms de domaines, utilise le fichier hosts de la machine cliente.
openssl x509 \
-req \
-extfile <(printf "subjectAltName = IP:127.0.0.1, IP:192.168.1.123, DNS:localhost, DNS:*.jesus-forain-dev.fr, DNS:jesus-forain-dev.fr, DNS:www.jesus-forain-dev.fr") \
-in server.csr \
-CA CA.pem \
-CAkey CA.key \
-CAcreateserial \
-out server.crt \
-days 36500 \
-sha256
Tu dois obtenir un fichier server.crt
Ton serveur web a besoin des fichiers server.crt et server.key. N'oublie pas de le redémarre pour appliquer les changements.
Dans la section “VirtualHost” configure ces 2 paramètres:
SSLCertificateFile /<CHEMIN>/server.crt
SSLCertificateKeyFile /<CHEMIN>/server.key
Dans la section “server {” configure ces 2 paramètres:
ssl_certificate /<CHEMIN>/server.crt;
ssl_certificate_key /<CHEMIN>/server.key;
Pour que notre certificat soit reconnu, il va falloir importer le certificat de l'autorité de certification CA.pem dans le navigateur. L'opération est propre à chaque navigateur.
Firefox:
“Paramètres” >
“Vie privée et sécurité” (colonne de gauche) >
descendre jusqu'à la section “Certificats” puis “Afficher les certificats…” >
“Autorités” >
“Importer” puis sélectionner le fichier CA.pem
Charge la page, elle doit s'ouvrir sans avertissement et si tu clique sur le cadenas il devrait t'indiquer que la connexion est sécurisée. Cependant, Firefox t'informe qu'un certificat a été importé et t'affiche un message sans conséquences “Connexion vérifiée par un émetteur de certificat non reconnu par Mozilla.”.
Android:
Le certificat doit être installé au niveau du système pour que le navigateur Google Chrome le reconnaisse comme étant valide. À chaque démarrage du téléphone, tu auras une notification te disant qu'un certificat non reconnu a été installé mais c'est juste pour t'avertir d'un point de vue sécurité et ça n'a pas de conséquences sur le reste.
La procédure peut différer selon la version du système et la surcouche constructeur.
Copier le certificat CA.pem sur le téléphone, peu importe que ce soit la carte SD ou le stockage interne du téléphone.
Ouvrir les paramètres (icône engrenage) puis aller dans
“Sécurite et confidentialité” >
“Autres paramètres de sécurité” >
"Installer depuis stock. appar.” >
“Certificat AC” > sélectionner le fichier CA.pem
Afficher les infos d'un certificat.
openssl x509 -in <CERTIFICAT> -noout -text
Afficher les infos du fichier csr
openssl req -in <FICHIER_CSR> -noout -text