NSS-3.81

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.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Informations sur le paquet

Téléchargements supplémentaires

Dépendances de NSS

Requises

NSPR-4.34

Recommandées

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.81-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)

To run the tests, execute the following commands:

cd tests &&
HOST=localhost DOMSUF=localdomain ./all.sh
cd ../
[Note]

Note

Quelques informations sur les tests :

  • HOST=localhost and DOMSUF=localdomain are required. Without these variables, a FQDN is required to be specified and this generic way should work for everyone, provided localhost.localdomain is defined in /etc/hosts, as done in the lfs book.

  • 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

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/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

Additionally, for dependent applications that do not use the internal database (/usr/lib/libnssckbi.so), the /usr/sbin/make-ca script included on the make-ca-1.10 page can generate a system wide NSS DB with the -n switch, or by modifying the /etc/make-ca/make-ca.conf file.

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

Last updated on