1. Introduction à openssl
Le cryptage des données est une partie importante de la transmission d'informations. La transmission de toute information en texte clair est en effet une pratique très dangereuse. Par conséquent,
les données doivent être cryptées. données puis les transmettre.
OpenSSL est un ensemble d'outils de cryptage pour le protocole SSL/TLS. Ses fonctions sont :
1. Générer une clé privée.
2 .Générer un certificat. un certificat de signature numérique, qui contient une clé publique qui peut être utilisée pour crypter et déchiffrer les données dans un sens. Autrement dit, les données cryptées à l'aide de la clé publique ne peuvent être déchiffrées qu'à l'aide de la clé privée
. peut être déchiffré à l'aide de la clé publique.
3. Calculer le résumé du message
4. Tests côté client et serveur SSL
5. 🎜>2. Introduction à la technologie de cryptage.
Clé : L'algorithme de cryptage crypte les données en texte brut en effectuant une certaine opération avec la clé pour générer des données cryptées,
Convertit les données cryptées en. données en texte brut.
La technologie de cryptage et l'algorithme de cryptage d'aujourd'hui sont publics, c'est-à-dire que tout le monde connaît la méthode de calcul utilisée pour le cryptage. Mais seule l'utilisation de la clé peut
crypter le texte chiffré. Par conséquent, la protection des clés est au cœur. de la sécurité des données.
3. Introduction à l'utilisation de l'outil openssl
1. Méthode de génération de clé privée
#Utiliser l'algorithme DSA
$ openssl dsaparam -noout -out dsakey0.pem -genkey 1024
#Utiliser l'algorithme RSA
#Utiliser l'algorithme RSA et utiliser la protection par mot de passe. Lors de la génération d'une clé privée, vous devez saisir un mot de passe pour protéger la clé privée.
#Lorsque vous utilisez cette clé privée pour des opérations de cryptage/déchiffrement, vous devez également saisir un mot de passe pour protéger la clé privée. Vous devez saisir ce mot de passe.
$ openssl genrsa -des3 -out rsakey1.pem 10242. Méthode de génération de clé publique
Générer la clé publique basée sur la clé privée
#Générer la clé publique de l'algorithme dsa
$ openssl dsa -in dsakey0.pem -pubout -out dsakey0-pub.pem
#Générer la clé publique de l'algorithme rsa
$ openssl rsa -in rsakey0.pem -pubout -out rsakey0-pub. pem3.Méthode de génération de certificat auto-signé
#Générer un certificat d'algorithme DSA
$ openssl req -x509 -key dsakey0.pem -days 365 -out mycert-dsa.pem -new
#Générer un certificat d'algorithme RSA
$ openssl req -x509 -key rsakey0.pem -days 365 -out mycert-rsa.pem -new
4. Utiliser un certificat pour le cryptage des e-mails
Contenu de notre message en texte brut :
$ cat test.txt
111111
222222
444444
aaaaaa
Utilisez le certificat pour crypter la lettre en texte brut et envoyez-la dans le fichier etest.txt :
$ openssl smime -encrypt -in test.txt -out etest.txt mycert-rsa.pem Afficher le contenu du texte chiffré :
$ cat etest.txt
Version MIME : 1.0
Contenu -Disposition : pièce jointe ; filename="smime.p7m"
Content-Transfer-Encoding ; : base64
miibyayjkozihvcnaqcdoiibutcau0caqaxgewwgekcaqawujbfmqswcqydvqg
ewjbvtetmbega1Uecbmku29tzs1tdgf0ztehmb8ga1Uechmysw50zxjuzxwgv2 2l0cybqdhkg thrkagkar71mh4nrx / uwdqyjkozihvcnaqebbqaegycbra1wbwqk
zj7tcntxidzqmbc / lu063slkvbk6mqmqt N0AHRT 1UG DC6JKNPL RDYBCDDCYPH BMYJQRUP0HE / GQ5WSJ
$ openssl smime -decrypt -in etest.txt -inkey rsakey0.pem -out dtest.txt Afficher le contenu de la lettre déchiffrée et la lettre originale en texte brut. Le contenu est exactement le même.
$ cat dtest.txt
111111
222222
333333
444444
Contenu du fichier en texte brut :
$ cat test.txt
1
22
333
4444
55555
Bonjour fichier texte brut crypté, la sortie est un fichier test.enc, entrez " 123123" comme mot de passe de cryptage :
$ openssl enc -aes-256-cbc -salt -in test.txt -out test.enc
entrez le mot de passe de cryptage aes-256-cbc :
Vérification - entrez le mot de passe de cryptage aes-256-cbc : Décryptez le texte chiffré, entrez "123123" comme mot de passe de décryptage :
$ openssl enc -d -aes-256-cbc -in test.enc
entrez aes -256-cbc mot de passe de décryptage :
1
333
4444
55555
6. Cryptage de chaîne simple
adopter Chiffrer en base64 :
$ echo "encode me" | openssl enc -base64
ZW5jb2RlIG1lCg== Lors du décryptage, vous devez connaître l'algorithme de cryptage avant de pouvoir décrypter :
$ echo "ZW5jb2RlIG1lCg == " | openssl enc -base64 -d
encodez-moi
7. Test du client et du serveur SSL
openssl s_server -key mykey.pem -cert mycert.pem -www se connecte au serveur SSL et le client obtiendra. le certificat du serveur :
openssl s_client -connect localhost:4433
Pour plus d'articles sur l'analyse du rôle de php php_openssl.dll, veuillez faire attention au site Web PHP chinois !