beyondlinuxfromscratch:installedpackages:nss-3.98

Beyond Linux® From Scratch (systemd Edition) - Version 12.1
Chapter 5. File Systems and Disk Management
이전 위로 / 처음으로 다음
Nettle-3.9.1 OpenSSH-9.6p1

NSS(네트워크 보안 서비스) 패키지는 보안이 지원되는 클라이언트 및 서버 애플리케이션의 크로스 플랫폼 개발을 지원하도록 설계된 라이브러리 세트입니다. NSS로 구축된 애플리케이션은 SSL v2 및 v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 인증서 및 기타 보안 표준을 지원할 수 있습니다. 이 패키지는 SSL 및 S/MIME 또는 기타 인터넷 보안 표준을 애플리케이션에 구현하는 데 유용합니다.

이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.

패키지 정보

  • 다운로드(HTTP): nss-3.98.tar.gz
  • MD5 Sum: 4502fcae1b32da310fffdfb3c67f6985
  • 다운로드 크기: 73 MB
  • 필요한 예상 디스크 공간: 312 MB (테스트 268 MB 추가)
  • 예상 빌드 시간: 0.9 SBU (병렬 처리=4, AMD Ryzens에서 테스트 시 16 SBU 추가 또는 Intel 컴퓨터에서 최소 30 SBU 추가)

추가 다운로드

NSS 종속성

필수
권장

다음과 같이 NSS를 설치합니다.

patch -Np1 -i ../nss-3.98-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)

테스트를 실행하려면 다음과 같이 실행합니다:1)

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

참고 테스트에 대한 몇 가지 정보

  • HOST=localhost 및 DOMSUF=localdomain이 필요합니다. 이러한 변수가 없으면 FQDN을 지정해야 하며, LFS 책에 명시된 대로 myhostname 네임 서비스 스위치 모듈에 localhost.localdomain이 정의되어 있는 경우 이 일반적인 방법이 모든 사용자에게 작동해야 합니다.
  • 실행하는 데 시간이 오래 걸립니다. 원하는 경우 전체 테스트 스위트의 하위 집합 실행에 대한 정보가 all.sh 스크립트에 있습니다.
  • 테스트를 중단할 때 테스트 스위트는 실행 중인 테스트 서버를 스핀다운하지 못합니다. 이로 인해 테스트 스위트가 잘못된 PID를 가져와 더 이상 존재하지 않는 서버를 종료하려고 시도하는 중에 무한 루프가 발생합니다.
  • 테스트 스위트 결과(HTML 형식!)는 ./../test_results/security/localhost.1/results.html에서 확인할 수 있습니다.
  • 일부 인텔 머신에서는 알 수 없는 이유로 몇 가지 테스트가 실패할 수 있습니다.

이제 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

  • BUILD_OPT=1:
    바이너리에 디버깅 심볼을 빌드하지 않고 기본 컴파일러 최적화가 사용되도록 빌드가 수행됩니다.
  • NSPR_INCLUDE_DIR=/usr/include/nspr:
    nspr 헤더의 위치를 설정합니다.
  • USE_SYSTEM_ZLIB=1:
    libssl3.so 라이브러리가 인트리 버전이 아닌 시스템에 설치된 zlib에 링크되도록 하기 위해 전달됩니다.
  • ZLIB_LIBS=-lz:
    시스템 zlib에 링크하는 데 필요한 링커 플래그를 제공합니다.
  • $([ $(uname -m) = x86_64 ] && echo USE_64=1):
    USE_64=1 옵션은 x86_64에서 필수이며, 그렇지 않으면 make가 32비트 오브젝트를 생성하려고 시도하지만 실패합니다. ($(uname -m) = x86_64 ] 테스트는 32비트 시스템에 영향을 미치지 않는지 확인합니다.
  • ([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1):
    이 명령은 sqlite가 설치되어 있는지 테스트하고 설치되어 있는 경우 NSS_USE_SYSTEM_SQLITE=1 옵션을 echo하여 libsoftokn3.so가 시스템 버전의 sqlite에 대해 링크되도록 합니다.
  • NSS_DISABLE_GTESTS=1: NSS 테스트 스위트를 실행할 필요가 없는 경우 make 명령에 이 옵션을 추가하면 테스트 컴파일을 방지하고 빌드 시간을 절약할 수 있습니다.

p11-kit-0.25.3이 설치되어 있는 경우, p11-kit trust module(/usr/lib/pkcs11/p11-kit-trust.so)을 /usr/lib/libnssckbi.so의 드롭인 대체로 사용하여 NSS을 인식하는 응용 프로그램에서 /usr/lib/libnssckbi.so에서 제공하는 정적 라이브러리 대신 시스템 CA를 사용할 수 있습니다. root 사용자로 다음 명령을 실행합니다:

ln -sfv ./pkcs11/p11-kit-trust.so /usr/lib/libnssckbi.so

또한 내부 데이터베이스(/usr/lib/libnssckbi.so)를 사용하지 않는 종속 애플리케이션의 경우 make-ca-1.13 페이지에 포함된 /usr/sbin/make-ca 스크립트에서 -n 스위치를 사용하거나 /etc/make-ca/make-ca.conf 파일을 수정하여 시스템 전체 NSS DB를 생성할 수 있습니다.

  • 프로그램:
    certutil, nss-config, pk12util
  • 라이브러리:
    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, 및 libssl3.so.
  • 디렉터리
    /usr/include/nss

간단한 설명

  • certutil
    Mozilla 인증서 데이터베이스 도구입니다. 이 도구는 넷스케이프 커뮤니케이터 cert8.db 및 key3.db 데이터베이스 파일을 만들고 수정할 수 있는 명령줄 유틸리티입니다. 또한 cert8.db 파일 내에서 인증서를 나열, 생성, 수정 또는 삭제하고, 비밀번호를 생성 또는 변경하고, 새 공개 및 개인 키 쌍을 생성하고, 키 데이터베이스의 내용을 표시하거나, key3.db 파일 내에서 키 쌍을 삭제할 수 있습니다.
  • nss-config
    NSS 라이브러리의 NSS 라이브러리 설정을 결정하는 데 사용됩니다.
  • pk12util
    pkcs #12 파일에서 인증서 및 키를 가져오기 위한 도구입니다.

1)
진행하기 전에 9.2.일반적인 네트워크 설정에 나오는 대로 /etc/hostname, /etc/hosts 파일이 정확하게 생성되어 있는지 확인해야 합니다. 만약 두 파일의 생성되어 있지 않다면 모든 테스트는 실패로 기록됩니다.
  • beyondlinuxfromscratch/installedpackages/nss-3.98.txt
  • 마지막으로 수정됨: 2024/05/22 18:08
  • 저자 baecy