Ich habe eine Kurzanleitung zum Backportieren von OpenSSL 1.0.1 RPM von Fedora Core zur Unterstützung von RHEL6 und Varianten geschrieben, indem ich die mitgelieferte Version 1.0.0 ersetzt habe, um TLSv1.2- und ECC-Unterstützung hinzuzufügen. Gebaut und getestet gegen CentOS 6.4 im September 2013:
Anleitung zu OpenSSL 1.0.1 RPM für CentOS 6
Bitte beachten Sie: Hier halte ich meine eigene Kopie von OpenSSL und OpenSSH auf dem neuesten Stand. Verbesserungen in CentOS 6.5 haben die Nachfrage nach TLS1.2 weitgehend gemindert, und Fehler wie Heartbleed werden dort behoben, während diese Antwort 2013 für immer stecken bleibt. Befolgen Sie die folgenden Schritte nicht wörtlich, es ist unbedingt erforderlich, dass Sie 1.0.1g oder neuer ausführen .
Jetzt mit github: github / ptudor / centos6-openssl
Ich habe einen Patch zur Verfügung gestellt, auf den ich in diesem Handbuch verweisen werde: openssl-spec-patricktudor-latest.diff
Bereiten Sie zunächst Ihre Build-Umgebung vor. (Wenn Sie EPEL installiert haben, verwenden Sie mock. Halten Sie es hier einfach ...)
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
Holen Sie sich als Nächstes das Fedora Core 20 SRPM für OpenSSL und die vollständige OpenSSL-Quelle.
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
Wenden Sie nun die alte Secure_Getenv-Syntax an und wenden Sie den Patch an:
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
Führen Sie den Build aus:
time rpmbuild -ba openssl.spec
Hoffentlich lief alles gut, also installieren wir die neuen RPMs:
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
Stellen Sie sicher, dass es tatsächlich funktioniert hat:
openssl ciphers -v 'TLSv1.2' | head -4
Der Link oben auf meiner Website enthält weitere Details, dies sollte jedoch ein guter Ausgangspunkt sein.
Danke, viel Spaß.
20130819: Die Rohhaut-Revision wurde von 14 auf 15 erhöht.
20130831: Die fc20-Revision wurde von 15 auf 18 erhöht.
20130906: Die fc20-Revision wurde von 18 auf 19 erhöht.
20140408: Gehen Sie einfach auf meine Website für etwas nach 1.0.1g.
mod_gnutls
sollte TLS 1.2 bereitstellen. Möglicherweise müssen Sie eine aktuelle Version von gnuTLS selbst erstellen.