1. Einführung in openssl
Die Übertragung von Informationen im Klartext ist in der Tat eine sehr unsichere Praxis.
Daten müssen in Chiffretext umgewandelt werden Daten und dann übertragen.
OpenSSL ist eine Reihe von Verschlüsselungstools für SSL/TLS-Protokolle:
1. Generieren Sie ein Zertifikat. ein digitales Signaturzertifikat, das einen öffentlichen Schlüssel enthält, der zum Ver- und Entschlüsseln von Daten in eine Richtung verwendet werden kann. Das heißt, mit dem öffentlichen Schlüssel verschlüsselte Daten können nur mit dem privaten Schlüssel entschlüsselt werden kann mit dem öffentlichen Schlüssel entschlüsselt werden
4 🎜>2. Einführung in die Verschlüsselungstechnologie
Verschlüsselung ist der Prozess der Umwandlung von Klartextdaten in Chiffriertextdaten, um die Vertraulichkeit des Klartextes zu gewährleisten.
Verschlüsselungsalgorithmus: Eine Methode, die im Datenverschlüsselungsprozess verwendet wird. Wird verwendet, um Klartext in Chiffretext umzuwandeln. Der Verschlüsselungsalgorithmus verschlüsselt die Klartextdaten, indem er einen bestimmten Vorgang mit dem Schlüssel ausführt, um verschlüsselte Daten zu generieren. Beim Entschlüsseln übergibt der Verschlüsselungsalgorithmus den Schlüssel Klartextdaten. Die heutige Verschlüsselungstechnologie und der Verschlüsselungsalgorithmus sind öffentlich, d der Datensicherheit.
3. Einführung in die Verwendung des OpenSSL-Tools
Um einen privaten Schlüssel zu generieren, können Sie unten vorgestellt werden
#DSA-Algorithmus verwenden
$ openssl dsaparam -noout -out dsakey0.pem -genkey 1024
#RSA-Algorithmus verwenden
$ openssl genrsa -out rsakey0 .pem 1024
#RSA-Algorithmus verwenden und Wenn Sie einen privaten Schlüssel generieren, müssen Sie ein Passwort eingeben, um den privaten Schlüssel zu schützen.
#Wenn Sie diesen privaten Schlüssel für Verschlüsselungs-/Entschlüsselungsvorgänge verwenden, müssen Sie auch ein Passwort eingeben, um den privaten Schlüssel zu schützen. Sie müssen dieses Passwort eingeben.
Generieren Sie den öffentlichen Schlüssel basierend auf dem privaten Schlüssel
#Generieren Sie den öffentlichen Schlüssel des DSA-Algorithmus
$ openssl dsa -in dsakey0.pem -pubout -out dsakey0-pub.pem
$ openssl rsa -in rsakey0.pem -pubout -out rsakey0-pub. pem3.Selbstsigniertes Zertifikat Generierungsmethode
#DSA-Algorithmus-Zertifikat generieren
$ openssl req -x509 -key dsakey0.pem -days 365 -out mycert-dsa.pem -new
#RSA-Algorithmus-Zertifikat generieren
$ openssl req -x509 -key rsakey0.pem -days 365 -out mycert-rsa.pem -new
4. Zertifikat für E-Mail-Verschlüsselung verwenden
Unser Klartext-Nachrichteninhalt:
$ cat test.txt
111111
222222
333333
444444
aaaaaa
Verwenden Sie das Zertifikat, um den Klartextbrief zu verschlüsseln und ihn in die etest.txt-Datei auszugeben:
$ openssl smime -encrypt -in test.txt -out etest.txt mycert-rsa.pem Den verschlüsselten Chiffretext-Inhalt anzeigen:
$ cat etest.txt
Inhalt -Disposition: Dateiname="smime.p7m"
Content-Type: application/x-pkcs7-mime; name="smime.p7m"
Content-Transfer-Encoding : base64
MIIBYAYJKoZIhvcNAQcDoIIBUTCCAU0CAQAxgewwgekCAQAwUjBFMQswCQYDVQQG
EwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lk
Z2l0cyBQdH kgTHRkAgkAr71mh4NRX/UwDQYJKoZIhvcNAQEBBQAEgYCbrA1WBwQK
Zj7TcNtrxiDz qMBc/Lu063SLKvBK6mQMqT+npFOOFtzIKdFVkldH0YyQhMZDSCyq
Da/DQN0sOCX85OdK/TDewNx8mTaYBbVf4jBZBgkqhkiG9w0BBwEwGgYIKoZIhvcN
AwIwDgICAKAAECNxsgiJ2 s+ 1ugDC6JknPL+rDYBCddcyPH+bMYjqrUP0hE/GQ5WSj
sv8CDkOUdvY5XG440yiAL3Z3ysI=Privaten Schlüssel zum Entschlüsseln und Ausgeben in die dtest.txt-Datei verwenden:
$ openssl smime -decrypt -in etest.txt -rsakey0.pem -out dtest. txt Sehen Sie sich den Inhalt des entschlüsselten Briefes an. Er stimmt vollständig mit dem Inhalt des ursprünglichen Klartextbriefs überein >aaaaaa
5. Einfache Datei Verschlüsselter
Inhalt der Nur-Text-Datei:
$ cat test.txt
1
22
333
4444
Hallo verschlüsselte Klartextdatei, die Ausgabe ist eine Test-.enc-Datei, geben Sie „123123“ als Verschlüsselungskennwort ein:
$ openssl enc -aes-256-cbc -salt -in test.txt -out test.enc
Geben Sie das AES-256-CBC-Verschlüsselungskennwort ein:
Überprüfung – Geben Sie das AES-256-CBC-Verschlüsselungskennwort ein: Entschlüsseln Sie den Chiffretext und geben Sie „123123“ als Entschlüsselungskennwort ein:
$ openssl enc -d -aes-256-cbc -in test.
aes-256-cbc-Entschlüsselungspasswort eingeben:
1
22
333
55555
Hallo
6. Einfache String-Verschlüsselung
Verschlüsseln mit base64:
$ echo "encode me" | den Verschlüsselungsalgorithmus, bevor Sie entschlüsseln können:
$ echo "ZW5jb2RlIG1lCg==" |. openssl enc -base64 -d
encode me
Starten Sie den SSL-Server mit dem privaten Schlüssel und Zertifikat „-www“. Die Funktion besteht darin, eine Statusinformations-Webseite an den Client zu senden, wenn der Client eine Verbindung zum Server herstellt
openssl s_server -key mykey.pem -. cert mycert.pem -www stellt eine Verbindung zum SSL-Server her und der Client erhält das Serverzertifikat:
openssl s_client -connect localhost:4433
Weitere Artikel zur Analyse der Rolle von PHP php_openssl.dll finden Sie auf der chinesischen PHP-Website!