| 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)에서 확인할 수 있습니다.