[Eisfair_dev] certs-Paket: Änderungen für den Download des Mozilla-Bundles

Marcus Roeckrath marcus.roeckrath at gmx.de
Do Feb 18 18:54:19 CET 2016


Hallo Jürgen,

ich habe das Script zum Download/Extrahieren des Mozilla-Bundles 
überarbeitet und zwar aus folgenden Gründen.

Das certs-Paket liefert das Skript

/var/install/bin/certs-download-mozilla-ca-bundle.pl (1)

mit, welches nicht anderes als das originale mk-ca-bundle.pl Skript ist, 
allerdings in einer Version von 2011.

Aktuell ist aber eine Version von 2014.

Es ist aber unnötig dieses Skript (1) überhaupt noch mit dem certs-paket 
auszuliefern, da es im perl_addons_01-Paket mitgeliefert wird und 
per_addons_01 ein Require des certs-Paketes ist.

Ich habe nun folgenden Code in dem von mir zum certs-Paket beigesteuerten
certs-extract-certs-from-ca-bundle geändert 
bzw. neu eingefügt:

# Determine mk-ca-bundle.pl from perl_addons_01 package filelist
mkcabundlescript="/"`grep 
mk-ca-bundle.pl /etc/filelist.d/perl_addons_01-files.txt | cut -d " " -f 
6-6`

# Download mozilla bundle and convert it to ca-bundle.crt file
${mkcabundlescript} $*

Es wird also zunächst der Pfad zu mk-ca-bundle.pl aus der Fieliste des 
perl_addons_01 Paketes ausgelesen und dann mit allen an

/var/install/bin/certs-extract-certs-from-ca-bundle

übergebenen Optionen aufgerufen.

Damit ist auf der Komandozeile auch ein --help bzw. die Auswahl anderer 
Mozilla-Downloadquellen als des Defaults release möglich.

Unser altes Download-pl-Skript verwendet noch eine alte 
Mozilla-Download-URL, die noch funktioniert, aber wer weiß, wann die 
endgültig nicht mehr gültig ist/abgeschaltet wird. Das neue Skript aus dem 
perl-Paket hat da neuere URLs und zudem mehrer verschiedenen Quellen 
(release, beta, ...) drin.

Daneben habe ich in einigen Mozilla-Bundles nun einen Zertifikatsnamen 
entdeckt, der einen / enthält, was bei der jetzigen Logik des 
Extrakt-Skriptes einen Fehler rausschmeisst; das habe ich über eine 
Umsetzung des / nach _ korrigiert:

War:
filename=`printf "%b\n" "${prevprevcaline}" | sed -e 's# \+#_#g' -e 
's#[()]##g'`

Nun:
filename=`printf "%b\n" "${prevprevcaline}" | sed -e 's#/#_#g' -e 's# 
\+#_#g' -e 's#[()]##g'`

In

/var/install/bin/certs-extract-certs-from-ca-bundle

hatte ich schon in der aktuellen Version den Hinweis

   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    # Update der Revocation List?
    # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  # /var/install/bin/certs-update-crl --all

eingefügt?

Wenn das Updaten der Revocation List nach Updaten/Installieren des Bundles 
notwendig ist, müsste der Aufruf noch aktiviert werden.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair_dev