RPM-Bau für Anfänger

Seite: 25/27
(5396 Worte insgesamt im Text)
(17085 mal aufgerufen)  Druckerfreundliche Ansicht

GPG-Schlüssel erstellen

Um später nicht durcheinander zu kommen und auch, um den RPM-Schlüssel evtl. besser zu schützen als den "privaten" Schlüssel, lohnt es sich im allgemeinen, einen eigenen GPG-Schlüssel für die eigenen RPMs zu erzeugen.

Mit diesem Schlüssel werden dann die eigenen RPM-Pakete signiert - und natürlich stellt man den Nutzern seinen eigenen Schlüssel auch als RPM zur Verfügung, damit diese ihn "wie gewohnt" installieren können.

Zunächst erstellen wir nun einen Schlüssel, speziell für RPMs. Um nicht versehentlich den Schlüssel für die eigenen Emails und Dateien zu überschreiben, fertigen Sie bitte vorher ein Backup des Verzeichnisses ~/.gnupg an. Sollte das Verzeichnis sowieso noch nicht in ihrem Homeverzeichnis existieren, dann erzeugen Sie es spätestens jetzt mit dem Befehl:

mkdir ~/.gnupg

Nun erzeugen Sie einen GPG-Schlüssel mit dem Befehl:

gpg --gen-key

Hier ein Beispiel für den weiteren Ablauf:

GPG-Keyabfrage
/home/myuser> gpg --gen-key
Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
(1) DSA und ElGamal (voreingestellt)
(2) DSA (nur signieren/beglaubigen)
(4) RSA (nur signieren/beglaubigen)
Ihre Auswahl? 1
Das DSA-Schlüsselpaar wird 1024 Bit haben.
Es wird ein neues ELG-E Schlüsselpaar erzeugt.
kleinste Schlüssellänge ist 768 Bit
standard Schlüssellänge ist 1024 Bit
größte sinnvolle Schlüssellänge ist 2048 Bit
Welche Schlüssellänge wünschen Sie? (1024) 2048
Die verlangte Schlüssellänge beträgt 2048 Bit
Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
0 = Schlüssel verfällt nie
<n> = Schlüssel verfällt nach n Tagen
<n>w = Schlüssel verfällt nach n Wochen
<n>m = Schlüssel verfällt nach n Monaten
<n>y = Schlüssel verfällt nach n Jahren
Wie lange bleibt der Schlüssel gültig? (0) 0
Key verfüllt nie.
Ist dies richtig? (j/n) j

Sie benötigen eine User-ID, um Ihren Schlüssel eindeutig zu machen; das
Programm baut diese User-ID aus Ihrem echten Namen, einem Kommentar und
Ihrer E-Mail-Adresse in dieser Form auf:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Ihr Name ("Vorname Nachname"): Lars Rupp
E-Mail-Adresse: L.Rupp@web.de
Kommentar: RPM Key
Sie haben diese User-ID gewählt:
"Lars Rupp (RPM Key) <l.rupp@web.de>"

Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden?f
Sie benötigen eine Passphrase, um den geheimen Schlüssel zu schützen.
[...]
Öffentlichen und geheimen Schlüssel erzeugt und signiert.
Schlüssel ist als uneingeschränkt vertrauenswürdig gekennzeichnet.

pub 1024D/72496AA8 2005-04-18 Lars Rupp (RPM Key) <l.rupp@web.de>
Schl.-Fingerabdruck = 5565 536C 6FAE EA1F 70FC 7479 EAFF C76B 7249 6AA8
sub 2048g/DDB4A434 2005-04-18
</n></n></n></n>

Damit ist der neue Schlüssel erstellt. Nun sollten Sie zunächst feststellen, ob der Schlüssel auch richtig erstellt und in ihren persönlichen Schlüsselbund importiert wurde. Dafür lassen Sie sich nun einmal die Schlüssel in ihrem persönlichen Schlüsselbund ausgeben:

gpg --list-keys

Hier sollte nun auch ihr neu erzeugter Schlüssel auftauchen. Dieser Schlüssel sollte sich mindestens im Kommentar (RPM Key) von ihrem anderen Schlüssel unterscheiden (schlau, was? icon_wink .

Im nächsten Schritt exportieren Sie den öffentlichen Schlüssel, um ihn anschließend als root in die Paketdatenbank einzupflegen. Beim Export geben wir dem Schlüssel gleich einen "sprechenden" Namen und einen "geschütztes" ASCII-Aussehen, wie es die RPM-Regeln verlangen:

gpg --output linux-schulserver-lrupp.asc --armor --export 72496AA8

Durch output schreibt gpg direkt in eine Datei und diese Datei ist nach dem Schema <organisation>-<packager>.asc</packager></organisation> aufgebaut. Hinter export geben wir einfach die Schlüsselnummer des öffentlichen Schlüssels an.

Nun importieren wir diesen Key zunächst als root in die eigene RPM-Datenbank.

rpm --import linux-schulserver-lrupp.asc

Nun wirds ein wenig kniffelig: um später ein RPM mit unserem öffentlichen Schlüssel verteilen zu können, brauchen wir den RPM_DB_KEY unseres eigenen Schlüssels. Dazu müssen wir in der Paketdatenbank erst einmal unseren eigenen Schlüssel suchen. Erst einmal lassen wir uns alle vorhandenen Schlüssel in der Datenbank anzeigen:

rpm -q gpg-pubkey-*

Das gibt jetzt eine mehr oder weniger lange Liste mit:
gpg-pubkey-9c800aca-40d8063
gpg-pubkey-72496aa8-42640352
...

Jetzt müssen wir herausfinden, welcher der angegebenen Schlüssel in der Datenbank "unser" Schlüssel ist. Dazu fragen wir einfach für jeden gefundenen Schlüssel die Werte aus der Datenbank ab:

for i in `rpm -q gpg-pubkey-*`; do rpm -qi $i; done

Die Ausgabe sollte uns dann in der Summary irgendwann auch "unseren" Schlüssel liefern. Jetzt haben wir den RPM_DB_NAMEn unseres Schlüssels: gpg-pubkey-72496aa8-42640352

Diesen Namen stellen wir nun an den Begin unserer Export-Datei, damit man später leichter den Schlüssel in der Datenbank findet - und umgekehrt. Die resultierende Datei linux-schulserver-lrupp.asc sieht dann ungefähr so aus:

Schlüsseldatei für die RPM-Datenbank
RPMDB_NAME = gpg-pubkey-72496aa8-42640352

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.5 (GNU/Linux)

mQGiBEJkA1IRBACT0edBxZbcANt0M1S/M0vDqV2Grq3fYquIxUZ3thZKRFQnMANm
z1m+IeFdSeaGkhezUO8JbjbWaunXPmMPZmiEi1DBxi5ho6Zuhr8yeRAR0n9Erwk7
uzSBhUNxBcCjaVpRt9hHzlOpPPdBnEU51c1E+D4Smf0ukJD48atGvI3qkwCg+jwG
//afL+DpMzUBgIoMkh7g5Q8D/0F+bDYoDynEZfJ/pMDSnp6hdIziZCjdCyK6ITMk
Uls+f++qvZTDi3MYzHMOB+90lvvPcEa+pBOZHrTT1LC2fCU/O3YPiZSq+AeWDhZp
uwWNbof9IXhonNGTl2EFrYZkauiWqSURtWwCErGjpNa5wEJUN83cj1L3nreq0XF4
iZnEA/98YrUFWZVQDsVpgWPMElqmYd3To512BP4llxVgQr1ZSisatl9Is8l3vJSq
LePkA73oLrqVW9FSnbFqLZ3gZoOR8FRSc69nzJqBAe2A/EUndJezljnHsBW73aNP
kTptwKSxLauqTAZWBJ9IoUpj+JSFVo7PzZwTEkHrCNTpdjma4bQjTGFycyBSdXBw
IChSUE0gS2V5KSA8TC5SdXBwQHdlYi5kZT6IXgQTEQIAHgUCQmQDUgIbAwYLCQgH
AwIDFQIDAxYCAQIeAQIXgAAKCRDq/8drcklqqPC/AJ9sLHleBjfrtyA6tU5VOwWO
PmG+LwCeNr0zh5b5ar/o/Vw4IKm1uuhl3RK5Ag0EQmQDhhAIANx5zVL3XJcJOyIN
K1KTPnBBYnfc1UfaEu+ngNIqAs6vR+C6qAGEPtm/dhZbjNGc5CJsLDd/YngQKLxu
hgxW4Gde6jE6OPczvKW2KCO7EWCIFBalqZxcOlBxNl27QdqiAcqm5bMsASCYU8wf
UisYTB7hYT0uW3gI39OuqOOUMBmcszApdpfvFpmDWpQSFWLheRuRdF8dLu+Yc/Hj
P+Akt3Ap/26vaMwxACgjGz3JBNHFvLHhKPbt5LvLL1AgTZ8bfbVQ8x6lz0Ei/OpH
fKfYV2mKKJkPtddExGmDZxlopRHvovWM6dXPkbt34fXzKW2PawTRLcgkGWD46C3A
AgfZvzMAAwYH/2hwF9tgz+Z+3vmbKJhthAP7geLW6jgFURNcoO7YXNfbwcWfIRDf
H1VmSAf17jMTs0g/Ya6+RoLsoUNVuddHDWyZVKUIF6vwclM0K4y+biM75CQYtWRa
LVTEowxhgEACa5hcQ9blN9v/TXoDMD5KP4NKeEENJhjTgJ+Fn+yyOa2f6IGJLPpC
dbkoD23guIArh+60T48jCWeX7ey9AZu/7iEdqTEEYHmtey0L3gUaxmdxeA0Sy81q
RzUTy/Uo4FW5yxijaNKvoZ76fzxRBlIk112iPbHqIoCNFKD6guuMnyLI3/6Nntnj
ha55vz7164yic7Fi1QGH370fEyJ9VvfmUc+ISQQYEQIACQUCQmQDhgIbDAAKCRDq
/8drcklqqOF/AKCESokOCQz9DE2H/eDsdf9+hJxkegCg5RMMTFt2eDzTbT4ZMsiG
aHsKpC4=
=Bdf5
-----END PGP PUBLIC KEY BLOCK-----

Jetzt haben wir eigentlich alles, um unsere eigenen RPM-Pakete zu signieren und um ein erstes, eigenes RPM herstellen zu können!




Kommentare

Einen Kommentar hinzufügen



 Suchen:


 Umfrage

(Nur für angemeldete Benutzer)

Was wird hier am meisten vermisst?

[ Ergebnis | Umfragen ]

Stimmen: 621
Kommentare: 0

 Zitate

Der einzige Unterschied beim Benutzen eines Wächterprogramms ist, dass Du vor dem Absturz dreimal OK anklicken darfst.

-- anonymous