Tôi đã viết một hướng dẫn nhanh về việc nhập lại OpenSSL 1.0.1 RPM từ Fedora Core để hỗ trợ RHEL6 và các biến thể bằng cách thay thế phiên bản 1.0.0 đi kèm để thêm hỗ trợ TLSv1.2 và ECC. Được xây dựng và thử nghiệm với CentOS 6.4 vào tháng 9 năm 2013:
Hướng dẫn về OpenSSL 1.0.1 RPM cho CentOS 6
Xin lưu ý: Đó là nơi tôi giữ bản sao OpenSSL và OpenSSH của riêng mình. Các cải tiến trong CentOS 6.5 đã giảm thiểu phần lớn nhu cầu về TLS1.2 và các lỗ hổng như Heartbleed được giải quyết ở đó, trong khi câu trả lời này sẽ mãi mãi bị mắc kẹt trong năm 2013. Đừng làm theo các bước dưới đây nguyên văn, bắt buộc bạn phải chạy 1.0.1g hoặc mới hơn .
Bây giờ với github: github / ptudor / centos6-openssl
Tôi đã tạo một bản vá có sẵn mà tôi sẽ tham khảo trong hướng dẫn này: openssl-spec-patricktudor-muộn.diff
Đầu tiên, chuẩn bị môi trường xây dựng của bạn. (Nếu bạn đã cài đặt EPEL, hãy sử dụng giả. Giữ cho nó đơn giản tại đây ...)
yum -y groupinstall "Development tools"
yum -y install rpm-build zlib-devel krb5-devel
mkdir -p $HOME/redhat/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo "%_topdir $HOME/redhat/" > ~/.rpmmacros
Tiếp theo, lấy Fedora Core 20 SRPM cho OpenSSL và nguồn OpenSSL đầy đủ.
rpm -Uvh http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/o/openssl-1.0.1e-42.fc21.src.rpm
cd ~/redhat/SOURCES/
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz.sha1
openssl dgst -sha1 openssl-1.0.1g.tar.gz ; cat openssl-1.0.1g.tar.gz.sha1
Bây giờ áp dụng cú pháp safe_getenv cũ và áp dụng bản vá:
cd ~/redhat/SOURCES/
sed -i -e "s/secure_getenv/__secure_getenv/g" openssl-1.0.1e-env-zlib.patch
cd ~/redhat/SPECS/
wget http://www.ptudor.net/linux/openssl/resources/openssl-spec-patricktudor-fc20-19.diff
patch -p1 < openssl-spec-patricktudor-latest.diff
Chạy bản dựng:
time rpmbuild -ba openssl.spec
Hy vọng mọi thứ đều suôn sẻ, vì vậy hãy cài đặt RPM mới:
cd ~/redhat/RPMS/x86_64/
sudo rpm -Fvh openssl-1.0.1g-*.rpm openssl-libs-1.0.1g-*.rpm openssl-devel-1.0.1g-*.rpm
Hãy chắc chắn rằng nó thực sự hoạt động:
openssl ciphers -v 'TLSv1.2' | head -4
Liên kết ở trên trang web của tôi có nhiều chi tiết hơn nhưng đây sẽ là một điểm khởi đầu tốt.
Cảm ơn, thưởng thức.
20130819: Sửa đổi da thô bị va đập từ 14 đến 15.
20130831: sửa đổi fc20 bị lỗi từ 15 đến 18.
20130906: sửa đổi fc20 bị lỗi từ 18 đến 19.
20140408: chỉ cần truy cập trang web của tôi cho bất cứ điều gì sau 1.0.1g.
mod_gnutls
nên cung cấp TLS 1.2. Bạn có thể phải xây dựng một phiên bản gần đây của gnuTLS tho.