Comment mettre à jour OpenSSL sur centos 7.2?

J'utilise centos 7.2, je vais intall Nginx-CT, et il a besoin d'OpenSSL 1.0.2, la version actuelle est la suivante:

[root@i001 ~]# rpm -qa|grep openssl openssl-libs-1.0.1e-51.el7_2.4.x86_64 openssl-devel-1.0.1e-51.el7_2.4.x86_64 openssl-1.0.1e-51.el7_2.4.x86_64 

J'ai essayé de download le package SRPM dans le directory fedora,

 openssl-1.0.2d-2.fc23.src.rpm 

reconstruisez-le et installez, mais il y a quelque chose qui ne va pas,

 [root@i001 ~]# yum update openssl Loaded plugins: axelget, langpacks No metadata available for base No metadata available for dockerrepo No metadata available for elrepo No metadata available for epel No metadata available for extras No metadata available for local No metadata available for mariadb No metadata available for nginx No metadata available for remi-php70 No metadata available for remi-php70-test No metadata available for remi-safe No metadata available for salt-2015.8 No metadata available for updates Resolving Dependencies --> Running transaction check ---> Package openssl.x86_64 1:1.0.1e-51.el7_2.4 will be updated ---> Package openssl.x86_64 1:1.0.2d-2.el7.centos will be an update --> Processing Dependency: openssl-libs(x86-64) = 1:1.0.2d-2.el7.centos for package: 1:openssl-1.0.2d-2.el7.centos.x86_64 --> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: 1:openssl-1.0.2d-2.el7.centos.x86_64 --> Running transaction check ---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.4 will be updated --> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-51.el7_2.4 for package: 1:openssl-devel-1.0.1e-51.el7_2.4.x86_64 ---> Package openssl-libs.x86_64 1:1.0.2d-2.el7.centos will be an update --> Processing Dependency: crypto-policies for package: 1:openssl-libs-1.0.2d-2.el7.centos.x86_64 --> Running transaction check ---> Package openssl-devel.x86_64 1:1.0.1e-51.el7_2.4 will be updated ---> Package openssl-devel.x86_64 1:1.0.2d-2.el7.centos will be an update ---> Package openssl-libs.x86_64 1:1.0.2d-2.el7.centos will be an update --> Processing Dependency: crypto-policies for package: 1:openssl-libs-1.0.2d-2.el7.centos.x86_64 --> Finished Dependency Resolution Error: Package: 1:openssl-libs-1.0.2d-2.el7.centos.x86_64 (local) Requires: crypto-policies You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 

Que devrais-je faire?

Tout d'abord , permettez-moi de dire que garethTheRed et Bratchley ont raison de dire que le package d'OpenSSL que vous tentez d'installer n'est pas pris en charge sur CentOS, ce qui n'est pas recommandé . Essayer de le faire pourrait causer des problèmes sur votre système.

Si vous avez absolument besoin d'avoir installé … Si je comprends bien, vous essayez d'installer nginx-ct , qui nécessite OpenSSL 1.0.2 ou supérieur en raison de son besoin de SSL_CTX_add_server_custom_ext et SSL_CTX_set_signed_cert_timestamp_list .

Utiliser yum

Utiliser des packages provenant d'autres repositorys non pris en charge pour votre système est une mauvaise idée , comme l'ont souligné d'autres personnes. De l'apparence de votre sortie yum, il se plaint d'une dépendance sur le package crypto-policies (requirejs par openssl-libs-1.0.2d-2). Vous pouvez essayer d'installer le package crypto-policies (également du repo Fedora 23) en premier.

Comstackr à partir de la source

Comme Bratchley l'a souligné dans ce commentaire , vous pouvez essayer de comstackr nginx avec une version spécifique d'OpenSSL à partir de la source . Voici les commands de démarrage mises à jour de ce tutoriel:

 # Install dependencies sudo yum install unzip gcc pcre-devel zlib-devel make golang # Grab needed files, correct as of 2016-04-08 wget https://www.openssl.org/source/openssl-1.0.2g.tar.gz wget http://nginx.org/download/nginx-1.9.14.tar.gz wget -O nginx-ct.zip https://github.com/grahamedgecombe/nginx-ct/archive/master.zip tar zxf openssl-1.0.2g.tar.gz tar zxf nginx-1.9.14.tar.gz unzip nginx-ct.zip # Build nginx with openssl 1.0.2 and CT module cd nginx-1.9.14/ ./configure --with-http_ssl_module \ --with-openssl=`realpath ../openssl-1.0.2g` \ --add-module=`realpath ../nginx-ct-master` make # NOTE: when I sortinged building with -jN for speedup I encountered linker issues sudo make install cd .. 

Le rest des commands de ce tutoriel devrait pouvoir être suivi tel quel.

Une dernière alternative

Sinon, vous pouvez essayer d'utiliser BoringSSL, puisque nginx-ct le supporte , bien qu'il semble que vous devriez le build à partir de la source.

En alternative, envisagez d'installer ces outils dans un conteneur fixe. De cette façon, vous pouvez utiliser une dissortingbution Linux différente (comme Fedora ou Ubuntu) et les exécuter dans un environnement isolé de manière à ne pas affecter le rest de votre système en appliquant des versions «non standard» de ces outils.