Eu escrevi um guia rápido sobre backporting do OpenSSL 1.0.1 RPM do Fedora Core para suportar o RHEL6 e as variantes, substituindo a versão 1.0.0 incluída para adicionar suporte a TLSv1.2 e ECC. Construído e testado contra o CentOS 6.4 em setembro de 2013:
Guia para o OpenSSL 1.0.1 RPM para o CentOS 6
Por favor, note: Esse é o lugar onde eu mantenho minha cópia do OpenSSL e OpenSSH atualizados. Melhorias no CentOS 6.5 mitigaram a demanda por TLS1.2 e falhas como Heartbleed são abordadas lá, enquanto esta resposta será para sempre presa em 2013. Não siga os passos abaixo, literalmente, é imperativo que você execute 1.0.1g ou mais recente .
Agora com o github: github / ptudor / centos6-openssl
Eu disponibilizei um patch que mencionarei neste guia: openssl-spec-patricktudor-latest.diff
Primeiro, prepare seu ambiente de criação. (Se você instalou o EPEL, use o mock. Mantenha-o simples aqui ...)
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
Em seguida, pegue o Fedora Core 20 SRPM para OpenSSL e a fonte OpenSSL completa.
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
Agora, aplique a antiga sintaxe secure_getenv e aplique o patch:
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
Execute a construção:
time rpmbuild -ba openssl.spec
Tudo correu bem, então vamos instalar os novos 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
Certifique-se de que realmente funcionou:
openssl ciphers -v 'TLSv1.2' | head -4
O link acima no meu site tem mais detalhes, mas isso deve ser um bom ponto de partida.
Obrigado, aproveite.
20130819: a revisão de couro cru caiu de 14 para 15.
20130831: a revisão do fc20 aumentou de 15 para 18.
20130906: a revisão fc20 pulou de 18 para 19.
20140408: basta ir ao meu site para qualquer coisa depois da 1.0.1g.