program gpggraph; {$R *.res} uses mystringlistunit, classes, sysutils, graphunit; const gpgCommand = 'gpg --no-auto-check-trustdb --fast-list-mode --fixed-list-mode'; var lKeys,kKeys: tMyStringList; baum: tList; wurzel,spitze: int64; i: longint; cK: tKnoten; begin lKeys:=tMyStringList.create; kKeys:=tMyStringList.create; lKeys.loadFromPipe(gpgCommand+' --list-keys'); lKeys.grep('^pub'); lKeys.replace('^\S+\s+[^ /]+/([0-9A-F]{8}) .*$','0x$1'); kKeys.loadFromPipe(gpgCommand+' --list-keys --homedir /var/cache/kernelKeys/.gnupg'); kKeys.grep('^pub'); kKeys.replace('^\S+\s+[^ /]+/([0-9A-F]{8}) .*$','0x$1'); lKeys.sort; kKeys.sort; lKeys.uniq('-'); kKeys.uniq('-'); writeln(inttostr(lKeys.count)+' lokale Schlüssel'); writeln(inttostr(kKeys.count)+' Kernel-Schlüssel'); lKeys.append(kKeys); kKeys.clear; lKeys.sort; lKeys.uniq('d'); lKeys.grep('^0x(CAFAA3E1|00411886|76E21CBB|65D0FD58)$',true); kKeys.loadFromPipe(gpgCommand+' --list-keys '+lKeys.text); kKeys.grep('^pub'); kKeys.grep('expired|revoked',true); kKeys.replace('^\S+\s+[^ /]+/([0-9A-F]{8}) .*$','$1'); kKeys.sort; wurzel:=strtoint('$'+kKeys[0]); writeln('folgende Kernelschlüssel sind auch lokal vorhanden:'); write(kKeys.text); writeln('davon nehme ich jetzt '+kKeys[0]); kKeys.clear; kKeys.loadFromPipe(gpgCommand+' --list-sigs');// --homedir /var/cache/kernelKeys/.gnupg'); kKeys.grep('^(pub|sig)'); kKeys.replace('^pub .*/([0-9A-F]{8}) .*$','pub $1'); kKeys.replace('^sig .* ([0-9A-F]{8}) .*$','sig $1'); kKeys.uniq('-'); baum:=tList.create; i:=0; while i