Cet article est une analyse détaillée et une introduction au rôle de php_openssl.dll dans php. Les amis qui en ont besoin peuvent s'y référer
OpensslIntroduction
Le cryptage des données est une partie importante de la transmission des informations. C'est en effet une pratique très dangereuse de transmettre des informations en texte brut. Par conséquent, doit chiffrer les données. les données sont converties en données chiffrées puis transmises.
OpenSSL est un ensemble d'outils de cryptage pour le protocole SSL/TLS. Ses fonctions sont :
1. 2. Générez un certificat, c'est-à-dire 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é publique.
clé privée .Les données cryptées à l'aide de la clé privée peuvent être déchiffrées à l'aide de la clé publique
3. Informations de calcul
Résumé 4. 🎜>5. Gérer le cryptage des balises et des e-mails S/MIME.
Le cryptage, c'est-à-dire le processus. de convertir des données en texte brut en données chiffrées. Pour garder le texte brut confidentiel.
Algorithme de cryptage : un algorithme utilisé dans le processus de cryptage des données. Clé : l'algorithme de cryptage utilise. une certaine méthode avec la clé Opération, cryptez les données en texte brut pour générer des données cryptées. Lors du déchiffrement, l'algorithme de cryptage utilise la clé pour convertir les données cryptées en données en texte clair
Dans la technologie de cryptage actuelle, l'algorithme de cryptage est. public, c'est-à-dire que tout le monde connaît la méthode de calcul utilisée dans le cryptage. Mais ce n'est qu'en utilisant la clé que le texte chiffré peut être déchiffré. Par conséquent, la protection de la clé 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
# Adopter l'algorithme DSA $ openssl dsaparam -noout -out dsakey0.pem -genkey 1024#Utiliser l'algorithme RSA
$ openssl genrsa -out rsakey0.pem 1024#Utiliser l'algorithme RSA et utilisez 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 ce mot de passe. openssl genrsa -des3 -out rsakey1 .pem 10242. Méthode de génération de clé publique
Générer une clé publique basée sur une clé privée
$ 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 Comment générer un certificat auto-signé
#Générer le. certificat de l'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 nos messages en texte brut :
$ cat test.txt
111111
222222333333444444
aaaaaaUtilisez le certificat pour crypter la lettre en texte brut et l'envoyer 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
MIME-Version : 1.0
Content-Dis
position
: filename="smime.p7m"Content-Type : application/x-pkcs7-mime ; "smime.p7m"
contenu-transfert-codage: base64
AWIWDGICAECNXSGIJ2S +1ugDC6JknPL+rDYBCddcyPH+bMYjqrUP0hE/GQ5WSj
sv8CDkOUdvY5XG440yiAL3Z3ysI=Utiliser privé clé pour décrypter et afficher dans le fichier dtest.txt :
$ openssl smime -decrypt -in etest.txt -inkey rsakey0.pem -out dtest .txt Affiche le contenu de la lettre déchiffrée, qui est exactement le même que le contenu de la lettre originale en texte brut
$ cat dtest.txt
111111
444444
aaaaaa
5. Cryptage simple des fichiers
1 $ openssl enc -d -aes-256-cbc -in test.enc $ echo " encode-moi" | openssl enc -base64 $ echo "ZW5jb2RlIG1lCg==" | openssl enc -base64 -d openssl s_server -key mykey.pem -cert mycert.pem -www connecte le Serveur SSL au client. Le client obtiendra le certificat du serveur : openssl s_client -connect localhost:4433
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.encentrez 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é et saisissez "123123" comme mot de passe de décryptage :
entrez le mot de passe de décryptage aes-256-cbc :
1
22
333
4444
55555
Bonjour
6. Simplestringcryptage
chiffré en base64 :
ZW5jb2RlIG1lCg== Lors du décryptage, vous devez connaître l'algorithme de cryptage avant de pouvoir décrypter :
encodez-moi
7. Test du client et du serveur SSL
Démarrez le serveur SSL en utilisant la clé privée et le certificat, le rôle de "-www " Oui, lorsque le client se connecte au serveur, une page Web d'informations d'état est envoyée au client.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!