OpenSSL 4.0.0
2 days ago
4
- 암호화 라이브러리 OpenSSL의 4.0.0 버전이 공개되어, 다수의 신규 기능과 비호환 변경이 포함된 대규모 릴리스로 발표됨
- SSLv2, SSLv3, 엔진(engine) 지원이 완전히 제거되고, 여러 X509 및 ERR 관련 API가 폐기 또는 불투명 구조로 변경됨
- Encrypted Client Hello(ECH), SM2/SM3 알고리듬, cSHAKE 함수, TLS 1.2용 FFDHE 키 교환 등 최신 표준 기반 기능이 추가됨
- Darwin i386 및 ppc 타깃이 빌드 구성에서 제외되고, openssl rehash 명령이 c_rehash를 대체함
- 이번 릴리스는 OpenSSL의 보안·표준 호환성 강화를 위한 전환점으로 평가되며, 커뮤니티에서 긍정적 반응을 얻고 있음
OpenSSL 4.0.0 릴리스 페이지 개요
- GitHub의 OpenSSL 4.0.0 릴리스 페이지는 프로젝트 기본 정보와 탐색 메뉴를 포함함
- Code, Issues, Pull requests, Discussions, Actions, Projects, Wiki, Security, Insights 등의 공통 메뉴 항목이 표시됨
- 저장소는 공개(public) 상태이며, 약 30k개의 Star와 11.2k개의 Fork가 등록되어 있음
- 릴리스 페이지는 openssl-4.0.0 태그에 해당하며, 다른 버전과의 비교(Compare) 기능을 제공
- 상단 구간은 GitHub 인터페이스 요소 중심으로 구성되어 있으며, 실제 변경 내역은 포함되지 않음
버전 비교 링크 목록
- 릴리스 페이지에는 이전 버전과의 비교 링크가 다수 포함되어 있음
- 각 링크는 GitHub의 compare 기능을 통해 특정 버전과 openssl-4.0.0 간의 변경 사항을 직접 확인 가능
- 비교 대상에는 3.x, 2.x, 1.x 계열 전체, FIPS 인증 버전, 엔진(Engine) 브랜치, SSLeay 초기 버전까지 포함됨
- 예: openssl-3.6.2...openssl-4.0.0, OpenSSL_1_1_1...openssl-4.0.0, OpenSSL-fips-2_0_16...openssl-4.0.0 등
- 개발 단계별 버전(alpha, beta, RC, 정식 릴리스)도 모두 비교 대상으로 포함됨
- 예: openssl-3.5.0-alpha1, OpenSSL_1_0_2-beta3, OpenSSL-fips-2_0-rc9 등
- 내부 관리 브랜치(master-pre/post-reformat, STATE_before_zlib, STATE_after_zlib)도 포함되어 코드 포맷팅 및 압축 라이브러리 통합 이력을 추적 가능
- 이 목록은 기능 설명이 아닌 버전 간 차이를 탐색하기 위한 GitHub 비교 경로 집합으로 구성됨
-
OpenSSL 1.0.x 계열
- OpenSSL_1_0_1-beta1, OpenSSL_1_0_0, OpenSSL_1_0_0t 등 다수의 하위 릴리스가 비교 대상으로 제시됨
- pre-reformat, post-reformat, auto-reformat 태그를 통해 코드 포맷 변경 전후 버전 비교 가능
-
OpenSSL 0.9.8 계열
- OpenSSL_0_9_8zh부터 OpenSSL_0_9_8a까지의 세부 릴리스가 모두 나열됨
- 베타 버전(beta1~beta6)과 포맷 전후 버전(pre/post-reformat, auto-reformat)도 포함됨
-
OpenSSL 0.9.7 및 0.9.6 계열
- OpenSSL_0_9_7m부터 OpenSSL_0_9_7a, OpenSSL_0_9_6m부터 OpenSSL_0_9_6a까지의 버전이 비교 링크로 제공됨
- 각 버전의 베타 단계(beta1~beta6)도 별도로 명시됨
-
초기 버전 및 특수 브랜치
- OpenSSL_0_9_5, OpenSSL_0_9_4, OpenSSL_0_9_3, OpenSSL_0_9_2b, OpenSSL_0_9_1c 등 초기 릴리스와의 비교 링크 포함
- FIPS 관련 테스트 브랜치(FIPS_098_TEST_1~FIPS_098_TEST_8, BEN_FIPS_TEST_1~BEN_FIPS_TEST_8) 및 LEVITTE_before_const, BEFORE_engine 등의 실험적 브랜치도 포함됨
- 4.0-PRE-CLANG-FORMAT-WEBKIT부터 3.0-POST-CLANG-FORMAT-WEBKIT까지의 Clang Format 적용 전후 버전 비교 링크도 제공됨
- 전체적으로 이 목록은 OpenSSL 프로젝트의 장기간 개발 이력과 코드 진화 과정을 추적할 수 있는 자료로 구성됨
OpenSSL 4.0.0 주요 변경 사항
- OpenSSL 4.0.0은 새로운 기능이 대폭 추가된 기능 릴리스이며, 여러 비호환 변경이 포함됨
- 릴리스 이후 master 브랜치에는 327개의 커밋이 추가됨
-
주요 변경 및 제거된 기능
- RSA 모듈러스 등 키 데이터를 16진수로 출력할 때, 첫 바이트가 0x80 이상인 경우 '00:' 접두어 제거
- 서명(hex dump)의 폭을 24바이트, 그 외 데이터는 16바이트로 표준화하여 80자 제한 내 유지
- PKCS5_PBKDF2_HMAC API 사용 시 FIPS provider에서 하한 검사 강제
- X509_V_FLAG_X509_STRICT 설정 시 AKID 검증 추가
- CRL 검증 절차에 여러 추가 검사 도입
- libcrypto는 더 이상 atexit()을 통해 전역 데이터 정리 수행하지 않음
- BIO_snprintf()가 내부 구현 대신 libc의 snprintf() 사용
- OPENSSL_cleanup()은 기본적으로 전역 소멸자(global destructor) 에서만 실행되거나 실행되지 않음
- ASN1_STRING 구조체가 불투명(opaque) 처리됨
- X509 관련 API를 포함한 다수의 함수가 인자 및 반환 타입에 const 한정자 추가
- X509_cmp_time(), X509_cmp_current_time(), X509_cmp_timeframe()이 폐기되고 X509_check_certificate_times()로 대체
- SSLv2 Client Hello 및 SSLv3 지원 완전 제거
- 엔진(engine) 지원 제거, no-engine 빌드 옵션과 OPENSSL_NO_ENGINE 매크로 항상 활성화
- RFC 8422에 따라 TLS의 폐기된 타원곡선(elliptic curves) 지원 기본 비활성화
- 명시적 EC 곡선(explicit EC curves) 지원 기본 비활성화
- c_rehash 스크립트 도구 제거, 대신 openssl rehash 사용
- openssl ca 명령의 msie-hack 옵션 제거
- BIO_f_reliable() 구현 제거 (3.0 이후 고장 상태였음)
- 사용자 정의 EVP_CIPHER, EVP_MD, EVP_PKEY, EVP_PKEY_ASN1 메서드 지원 제거
- 고정 SSL/TLS 버전 메서드 함수 제거
- ERR_get_state(), ERR_remove_state(), ERR_remove_thread_state() 제거, ERR_STATE 객체는 항상 불투명 구조로 변경
- Darwin i386, ppc 타깃(darwin-i386{,-cc}, darwin-ppc{,64}{,-cc}) 구성에서 제외
-
새로 추가된 기능
- Encrypted Client Hello (ECH) 지원 (RFC 9849)
- RFC 8998 기반 SM2/SM3 서명 알고리듬, curveSM2 키 교환 그룹, post-quantum 그룹 curveSM2MLKEM768 지원
- SP 800-185에 따른 cSHAKE 함수 지원
- ML-DSA-MU 다이제스트 알고리듬 추가
- SNMP KDF 및 SRTP KDF 지원
- FIPS 모듈 설치 시 openssl fipsinstall 명령의 -defer_tests 옵션으로 자체 테스트 지연 실행 가능
- Windows 환경에서 정적(static) 또는 동적(dynamic) VC 런타임 링크 선택 지원
- RFC 7919에 따른 TLS 1.2의 협상형 FFDHE 키 교환 지원
-
배포 파일
- openssl-4.0.0.tar.gz (52.5MB), openssl-4.0.0.tar.gz.asc, openssl-4.0.0.tar.gz.sha1, openssl-4.0.0.tar.gz.sha256
- 소스 코드 아카이브: Source code (zip), Source code (tar.gz)
- 릴리스 시각: 2026-04-14T12:54:03Z
-
커뮤니티 반응
- 👍 41, 🎉 61, ❤️ 11, 🚀 15 등 총 94건의 반응 기록
- 긍정적 피드백이 다수 표시됨
-
Homepage
-
개발자
- OpenSSL 4.0.0