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 사이트 액세스용) 등 다른 패키지에 암호화 기능을 제공하는 데 유용합니다.
- 빌드 시간: 1.8 SBU
- 디스크 공간: 805 MB
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_AES
와 CONFIG_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 패키지 구성
- 설치된 프로그램:
c_rehash 및 openssl - 설치된 라이브러리:
libcrypto.so 및 libssl.so - 설치된 디렉터리
/etc/ssl, /usr/include/openssl, /usr/lib/engines 및 /usr/share/doc/openssl-3.2.1
간략한 설명
- c_rehash
디렉토리의 모든 파일을 검사하고 해시 값에 심볼릭 링크를 추가하는 Perl 스크립트입니다. c_rehash 명령은 더 이상 사용되지 않는 것으로 간주하고 openssl rehash 명령으로 대체해야 합니다. - openssl
셸에서 OpenSSL의 암호화 라이브러리의 다양한 암호화 기능을 사용하기 위한 명령줄 도구입니다.openssl(1)
에 문서화되어 있는 다양한 함수에 사용할 수 있습니다. - libcrypto.so
다양한 인터넷 표준에서 사용되는 광범위한 암호화 알고리즘을 구현합니다. 이 라이브러리가 제공하는 서비스는 SSL, TLS 및 S/MIME의 OpenSSL 구현에서 사용되며, OpenSSH, OpenPGP 및 기타 암호화 표준을 구현하는 데도 사용되었습니다. - libssl.so
전송 계층 보안(TLS v1) 프로토콜을 구현합니다. 풍부한 API를 제공하며, 이에 대한 문서는ssl(7)
에서 확인할 수 있습니다.