NSS-3.117
      
      
        
          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
          
          
            Les versions de développement de BLFS peuvent ne pas arriver à
            contruire ou à exécuter certains paquets correctement si LFS ou
            des dépendances ont été mises à jour depuis la dernière version
            stable des livres.
          
         
        
          Informations sur le paquet
        
        
          
            - 
              
                Téléchargement (HTTP) : 
                https://archive.mozilla.org/pub/security/nss/releases/NSS_3_117_RTM/src/nss-3.117.tar.gz
              
             
            - 
              
                Téléchargement (FTP) : 
              
             
            - 
              
                Somme de contrôle MD5 du téléchargement :
                1d5fa716ad3a7e920297d9f30a4271ef
              
             
            - 
              
                Taille du téléchargement : 73 Mo
              
             
            - 
              
                Estimation de l'espace disque requis : 307 Mo (plus
                151 Mo pour les tests)
              
             
            - 
              
                Estimation du temps de construction : 0,8 SBU (avec
                parallélisme = 4, plus 42 SBU pour les tests sur les
                Ryzens d'AMD ou au moins 27 SBU sur les machines Intel)
              
             
          
         
        
          Téléchargements supplémentaires
        
        
        
          Dépendances de NSS
        
        
          Requises
        
        
          NSPR-4.37
        
        
          Recommandées
        
        
          p11-kit-0.25.10 (exécution)
        
        
          
          
            Note
          
          
            Il est nécessaire d'être connecté à internet pour certains tests
            de ce paquet
          
         
        
          Notes des auteurs : https://wiki.linuxfromscratch.org/blfs/wiki/nss
        
       
      
        
          Installation de NSS
        
        
          Installez NSS en exécutant les
          commandes suivantes :
        
        patch -Np1 -i ../nss-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                 \
  NSS_USE_SYSTEM_SQLITE=1             \
  $([ $(uname -m) = x86_64 ] && echo USE_64=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 longtemps à 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      &&
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.25.10 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
          bibliothèque 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.16.1 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
                   
                 |