목차

Linux From Scratch - Version 12.1-systemd
Chapter 8. Installing Basic System Software
이전 위로 / 처음으로 다음
Automake-1.16.5 Kmod-31

8.47. OpenSSL-3.2.1

OpenSSL 패키지에는 암호화와 관련된 관리 도구와 라이브러리가 포함되어 있습니다. 이러한 도구는 OpenSSH, 이메일 애플리케이션, 웹 브라우저(HTTPS 사이트 액세스용) 등 다른 패키지에 암호화 기능을 제공하는 데 유용합니다.


8.47.1. OpenSSL 설치

OpenSSL 컴파일을 준비합니다.

./config --prefix=/usr         \
         --openssldir=/etc/ssl \
         --libdir=lib          \
         shared                \
         zlib-dynamic

패키지를 컴파일합니다.

make

다음과 같이 결과를 테스트합니다.

HARNESS_JOBS=$(nproc) make test

테스트 중 30-test_afalg.t는 호스트 커널에 CONFIG_CRYPTO_USER_API_SKCIPHER가 활성화되어 있지 않거나 CBC 구현이 있는 AES를 제공하는 옵션(예: CONFIG_CRYPTO_AESCONFIG_CRYPTO_CBC의 조합 또는 CPU가 AES-NI를 지원하는 경우 CONFIG_CRYPTO_AES_NI_INTEL)이 활성화되지 않은 경우 실패하는 것으로 알려져 있습니다. 이 항목의 실패는 무해하며 무시해도 됩니다.

패키지를 설치합니다.

sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
make MANSUFFIX=ssl install

다른 패키지와 일관성을 유지하기 위해 문서 디렉터리 이름에 버전을 추가합니다:

mv -v /usr/share/doc/openssl /usr/share/doc/openssl-3.2.1

원하는 경우 몇 가지 추가 문서를 설치합니다:

cp -vfr doc/* /usr/share/doc/openssl-3.2.1

참고
취약점을 수정한 새 버전이 발표되면 OpenSSL을 업데이트해야 합니다. OpenSSL 3.0.0부터 OpenSSL 버전 관리 체계는 MAJOR.MINOR.PATCH 형식을 따릅니다. 동일한 MAJOR 버전 번호에 대해 API/ABI 호환성이 보장됩니다. LFS는 공유 라이브러리만 설치하기 때문에 MAJOR 버전 번호가 동일한 버전으로 업그레이드할 때 libcrypto.so 또는 libssl.so에 링크된 패키지를 다시 컴파일할 필요가 없습니다.

하지만 해당 라이브러리에 연결된 실행 중인 프로그램은 모두 중지했다가 다시 시작해야 합니다. 자세한 내용은 8.2.1, "업그레이드 문제"의 관련 항목을 참조하세요.


8.47.2. OpenSSL 패키지 구성

간략한 설명