From 89b0f59605712d3cdf436934cd469b905295aa6a Mon Sep 17 00:00:00 2001 From: Marcello Calisto Date: Sun, 3 Mar 2024 11:26:46 +0100 Subject: [PATCH] =?UTF-8?q?Text=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KN03/KN03.md | 12 ++++++++++-- KN03/x_res/02c_mac_priv2pub_1000.png | Bin 10204 -> 10179 bytes 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/KN03/KN03.md b/KN03/KN03.md index c1e0466..9058dab 100644 --- a/KN03/KN03.md +++ b/KN03/KN03.md @@ -79,11 +79,17 @@ Um den öffentlichen Schlüssel aus einer RSA PEM-Datei auf einem Mac zu extrahi 2. Verwenden Sie den folgenden Befehl, um den öffentlichen Schlüssel aus der RSA PEM-Datei zu extrahieren: - Schritt 1: Öffentlichen Schlüssel aus einer .pem-Datei extrahieren| + Option RSA : Öffentlichen **RSA** Schlüssel aus einer .pem-Datei extrahieren| :-------------------------:| ![public1](./x_res/02a_mac_priv2pub_1000.png) | _Ersetzen Sie your_rsa_key.pem durch den tatsächlichen Namen Ihrer RSA PEM-Datei_ + Option ECDSA : Öffentlichen **ECDSA** Schlüssel aus einer .pem-Datei extrahieren| + :-------------------------:| + ![public1](./x_res/02c_mac_priv2pub_1000.png) | +_Ersetzen Sie your_ecdsa_key.pem durch den tatsächlichen Namen Ihrer ECDSA PEM-Datei_ + + 3. Wenn Ihre PEM-Datei mit einem Passwort geschützt ist, werden Sie aufgefordert, das Passwort einzugeben. Der Befehl gibt den öffentlichen Schlüssel auf dem Bildschirm aus. Der öffentliche Schlüssel beginnt normalerweise mit "-----BEGIN PUBLIC KEY-----" und endet mit "-----END PUBLIC KEY-----". @@ -93,8 +99,10 @@ _Ersetzen Sie your_rsa_key.pem durch den tatsächlichen Namen Ihrer RSA PEM-Date ![public1](./x_res/02b_mac_priv2pub_1000.png) | Kopieren Sie den öffentlichen Schlüssel aus der Ausgabe für Ihre Verwendung. +Dieser Befehl geht davon aus, dass die PEM-Datei einen privaten **RSA-Schlüssel** enthält (erstes Beispiel oben). + + -Dieser Befehl geht davon aus, dass die PEM-Datei einen privaten **RSA-Schlüssel** enthält. Wenn die PEM-Datei einen Zertifikatsschlüssel enthält, können Sie stattdessen den Befehl verwenden, den ich zuvor für Zertifikate gegeben habe:
diff --git a/KN03/x_res/02c_mac_priv2pub_1000.png b/KN03/x_res/02c_mac_priv2pub_1000.png index 96bc7ce1af3f3cb2652116ba2fb0e986fa52b9a6..d81a502021cfa14c834a3a28cab8ae1f0e0a4040 100644 GIT binary patch literal 10179 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 S>l*ly3?-w}t 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 Y;NJD~);@A@JP%4yR#m1}$}H@E07x#D2><{9