Maison > développement back-end > tutoriel php > php A quoi sert le fichier php_openssl.dll ?

php A quoi sert le fichier php_openssl.dll ?

怪我咯
Libérer: 2023-03-12 20:00:01
original
2182 Les gens l'ont consulté

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.

2. Introduction à la technologie de cryptage.

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

Pour générer une clé privée, vous pouvez utiliser différents algorithmes de signature numérique

# 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

#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 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
aaaaaa
Utilisez 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

miibyayjkozihvcnaqcdoiibutcau0caqaxgekcaqawujbfmqswcqydvqqg zj77tcnt rxidzqMbc / lU063Slkvbk6mqmqmqmqt + npfooftzikdfvkdh0yyyyqhmzcy 64uwpokoael9rvqp9vgtifc / uxis5ueyzcws1z7jsihhhhhhhh 8aa + da /DQN0SOCX85ODK/TDEWNX8MTAYBBVF4JBZBGKQHHK9W0BBWEWGGYIKOZCN

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

222222333333

444444
aaaaaa



5. Cryptage simple des fichiers

Contenu du fichier texte clair :

$ test de chat .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.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 :

$ openssl enc -d -aes-256-cbc -in test.enc
entrez le mot de passe de décryptage aes-256-cbc :
1
22
333
4444
55555
Bonjour

6. Simplestringcryptage
chiffré en base64 :

$ echo " encode-moi" | 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
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.

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

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal