NSS-3.88.1
Introduction à NSS
Le paquet Network Security Services (services de sécurité réseau)
(NSS) est un ensemble de
bibliothèques conçues pour supporter le développement en
plate-forme croisée d'applications et de serveurs sécurisés. Les
applications construites avec NSS peuvent supporter SSL v2 et v3,
TLS, les certificats PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
X.509 v3 et d'autres standards de sécurité. C'est utile pour
implémenter SSL et S/MIME ou d'autres standards de sécurité sur
Internet dans une application.
This package is known to build and work properly using an LFS 11.3
platform.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://archive.mozilla.org/pub/security/nss/releases/NSS_3_88_1_RTM/src/nss-3.88.1.tar.gz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 : 7ca8ff8ed672d82290c3122f38708579
-
Taille du téléchargement : 69 Mo
-
Estimation de l'espace disque requis : 297 Mo (plus
129 Mo pour les tests)
-
Estimation du temps de construction : 1,2 SBU (avec
parallélisme = 4, plus moins de 20 SBU pour les tests
sur les ryzens d'AMD ou au moins 30 SBU sur les machines
Intel)
Téléchargements supplémentaires
Dépendances de NSS
Requises
NSPR-4.35
Recommandées
SQLite-3.40.1 et p11-kit-0.24.1
(exécution)
Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/nss
Installation de NSS
Installez NSS en exécutant les
commandes suivantes :
patch -Np1 -i ../nss-3.88.1-standalone-1.patch &&
cd nss &&
make BUILD_OPT=1 \
NSPR_INCLUDE_DIR=/usr/include/nspr \
USE_SYSTEM_ZLIB=1 \
ZLIB_LIBS=-lz \
NSS_ENABLE_WERROR=0 \
$([ $(uname -m) = x86_64 ] && echo USE_64=1) \
$([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1)
Pour lancer les tests, exécutez les commandes suivantes :
cd tests &&
HOST=localhost DOMSUF=localdomain ./all.sh
cd ../
Note
Quelques informations sur les tests :
-
HOST=localhost et DOMSUF=localdomain sont requis. Sans ces
variables, un nom de domaine pleinement qualifié doit être
spécifié et cette manière générique de faire devrait
fonctionner pour tout le monde, tant que localhost.localdomain
est défini dans
/etc/hosts
, comme on l'a fait
dans
le livre lfs.
-
Les tests prennent énormément de temps pour terminer. Si
vous le souhaitez, il y a des information dans le script
all.sh pour lancer des sous-ensembles de la suite de tests
complète.
-
Lorsque vous interrompez les tests, la suite de tests
n'arrive pas à arrêter les serveurs de tests qu'elle a
lancés. Cela conduit à une boucle infinie dans les tests où
la suite de tests essaye de tuer un serveur qui n'existe
plus parce qu'elle récupère le mauvais PID.
-
Les résultats de la suite de test (au format HTML !) se
trouvent dans
../../test_results/security/localhost.1/results.html
-
Quelques tests peuvent échouer sur certaines machines Intel
pour des raisons inconnues.
Maintenant, en tant qu'utilisateur root
:
cd ../dist &&
install -v -m755 Linux*/lib/*.so /usr/lib &&
install -v -m644 Linux*/lib/{*.chk,libcrmf.a} /usr/lib &&
install -v -m755 -d /usr/include/nss &&
cp -v -RL {public,private}/nss/* /usr/include/nss &&
chmod -v 644 /usr/include/nss/* &&
install -v -m755 Linux*/bin/{certutil,nss-config,pk12util} /usr/bin &&
install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib/pkgconfig
Explication des commandes
BUILD_OPT=1
: Cette
variable est passée à make pour que la construction
s'effectue sans les symboles de débogage intégré dans les binaires
et que les optimisations du compilateur par défaut soient
utilisées.
NSPR_INCLUDE_DIR=/usr/include/nspr
:
Cette commande initialise l'emplacement des entêtes de nspr.
USE_SYSTEM_ZLIB=1
:
Cette option est passée à make pour garantir que la
bibliothèque libssl3.so
est liée au
zlib du système au lieu de la
version incluse dans l'arborescence.
ZLIB_LIBS=-lz
: Cette
commande fournit le drapeau nécessaire pour lier au système
zlib.
$([ $(uname -m) = x86_64 ] &&
echo USE_64=1) : L'option USE_64=1
est exigée sur un x86_64, sans quoi
make essaiera de
créer des objets 32 bits (et échouera). Le test [ $(uname -m) =
x86_64 ] garantit que cela n'aura pas d'effet sur un système 32
bits.
([ -f /usr/include/sqlite3.h ]
&& echo NSS_USE_SYSTEM_SQLITE=1) :
Ceci teste si sqlite est installé
et, si tel est le cas, il passe (echo) l'option
NSS_USE_SYSTEM_SQLITE=1 à make pour que libsoftokn3.so
se lie à la version installée sur
le système de sqlite.
NSS_DISABLE_GTESTS=1
: si vous
n'avez pas besoin de lancer la suite de tests NSS, ajoutez cette
option à la commande make, pour éviter la compilation
des tests et gagner du temps de construction.
Configuration de NSS
Si p11-kit-0.24.1 est installé, le module de
confiance p11-kit (/usr/lib/pkcs11/libp11-kit.so
) peut être utilisé
comme remplaçant de /usr/lib/libnssckbi.so
pour rendre les CA du
système disponibles de manière transparente pour les applications
conscientes de NSS, plutôt qu'une
liste statique fournie par /usr/lib/libnssckbi.so
. En tant qu'utilisateur
root
, exécutez les commandes
suivantes :
ln -sfv ./pkcs11/p11-kit-trust.so /usr/lib/libnssckbi.so
De plus, pour les applications dépendantes qui n'utilisent pas la
base interne (/usr/lib/libnssckbi.so
), le script /usr/sbin/make-ca
inclus dans la page make-ca-1.12
peut générer une base de données NSS pour le système entier avec le
paramètre -n
, ou en
modifiant le fichier /etc/make-ca/make-ca.conf
.
Contenu
Programmes installés:
certutil, nss-config et pk12util
Bibliothèques installées:
libcrmf.a, libfreebl3.so,
libfreeblpriv3.so, libnss3.so, libnssckbi.so,
libnssckbi-testlib.so, libnssdbm3.so, libnsssysinit.so,
libnssutil3.so, libpkcs11testmodule.so, libsmime3.so,
libsoftokn3.so et libssl3.so
Répertoires installés:
/usr/include/nss
Descriptions courtes
certutil
|
est l'outil de base de données de certificats de Mozilla.
C'est un outil en ligne de commande qui peut modifier les
fichiers de base de données cert8.db et key3.db de
Netscape Communicator. Il peut aussi lister, générer,
modifier ou effacer les certificats d'un fichier cert8.db
et créer ou modifier le mot de passe, générer de nouveaux
trousseaux de clés publiques et privées, afficher le
contenu de la base de données des clés ou effacer des
trousseaux de clés du fichier key3.db
|
nss-config
|
est utilisé pour déterminer les réglages de la
bibliothèque NSS de la version installée
|
pk12util
|
est un outil pour importer des certificats et des clés
depuis des fichiers pkcs #12 en NSS ou pour les exporter.
Il peut aussi lister les certificats et les clés dans de
tels fichiers
|