3 %bcond_without tests # don't perform "make tests"
4 %bcond_without zlib # zlib: note - enables CVE-2012-4929 vulnerability
5 %bcond_with sslv3 # SSLv3: note - enables CVE-2014-3566 vulnerability
7 Summary: OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3)
8 Summary(de.UTF-8): Secure Sockets Layer (SSL)-Kommunikationslibrary
9 Summary(es.UTF-8): Biblioteca C que suministra algoritmos y protocolos criptográficos
10 Summary(fr.UTF-8): Utilitaires de communication SSL (Secure Sockets Layer)
11 Summary(pl.UTF-8): Biblioteki OpenSSL (SSL v2/v3)
12 Summary(pt_BR.UTF-8): Uma biblioteca C que fornece vários algoritmos e protocolos criptográficos
13 Summary(ru.UTF-8): Библиотеки и утилиты для соединений через Secure Sockets Layer
14 Summary(uk.UTF-8): Бібліотеки та утиліти для з'єднань через Secure Sockets Layer
20 Source0: https://www.openssl.org/source/%{name}-%{version}.tar.gz
21 # Source0-md5: 7f9d43bb7a1e742722cf6d6f40531462
23 Source3: %{name}-ssl-certificate.sh
24 Source4: %{name}-c_rehash.sh
25 Patch0: %{name}-optflags.patch
26 Patch1: %{name}-ca-certificates.patch
27 Patch2: %{name}-find.patch
29 Patch4: engines-dir.patch
30 URL: http://www.openssl.org/
31 %ifarch %{arm} ppc mips sparc sparcv9
32 BuildRequires: libatomic-devel
34 BuildRequires: libsctp-devel
35 BuildRequires: linux-libc-headers >= 7:4.13
36 BuildRequires: perl-devel >= 1:5.10.0
37 BuildRequires: pkgconfig
38 BuildRequires: rpm-perlprov >= 4.1-13
39 BuildRequires: rpmbuild(macros) >= 1.213
40 BuildRequires: sed >= 4.0
41 BuildRequires: zlib-devel
42 Requires: ca-certificates >= 20141019-3
43 Requires: %{name}-tools = %{version}-%{release}
44 Requires: rpm-whiteout >= 1.7
46 Obsoletes: SSLeay-devel
47 Obsoletes: SSLeay-perl
48 Obsoletes: libopenssl0
49 Obsoletes: openssl-engines < 3.0.0-2
50 %if "%{pld_release}" == "ac"
51 Conflicts: neon < 0.26.3-3
52 Conflicts: ntpd < 4.2.4p8-10
53 Conflicts: openssh-clients < 2:5.8p1-9
54 Conflicts: openssh-server < 2:5.8p1-9
56 Conflicts: neon < 0.29.6-8
57 Conflicts: openssh-clients < 2:6.2p2-3
58 Conflicts: openssh-server < 2:6.2p2-3
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 The OpenSSL Project is a collaborative effort to develop a robust,
64 commercial-grade, full-featured, and Open Source toolkit implementing
65 the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
66 v1) protocols with full-strength cryptography world-wide. The project
67 is managed by a worldwide community of volunteers that use the
68 Internet to communicate, plan, and develop the OpenSSL tookit and its
69 related documentation.
71 OpenSSL is based on the excellent SSLeay library developed by Eric A.
72 Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
73 Apache-style licence, which basically means that you are free to get
74 and use it for commercial and non-commercial purposes subject to some
75 simple license conditions.
77 This package contains shared libraries only, install openssl-tools if
78 you want to use openssl cmdline tool.
80 %description -l de.UTF-8
81 Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared
82 libraries, die verschiedene Verschlüsselungs- und
83 Entschlüsselungsalgorithmen und -protokolle, wie DES, RC4, RSA und SSL
84 zur Verfügung stellen.
86 %description -l es.UTF-8
87 Biblioteca C que suministra algoritmos y protocolos criptográficos.
89 %description -l fr.UTF-8
90 OpenSSL est un outiil de gestion des certificats et les librairies
91 partagees qui fournit plusieurs protocoles et algorithmes de
92 codage/decodage, incluant DES, RC4, RSA et SSL.
94 %description -l pl.UTF-8
95 Implementacja protokołów kryptograficznych Secure Socket Layer (SSL)
96 v2/v3 oraz Transport Layer Security (TLS v1).
98 %description -l pt_BR.UTF-8
99 Uma biblioteca C que fornece vários algoritmos e protocolos
100 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas
101 compartilhadas e utilitários.
103 %description -l ru.UTF-8
104 Программа openssl для работы с сертификатами и разделяемые библиотеки,
105 которые реализуют множетсво криптографических алгоритмов, включая DES,
108 %description -l uk.UTF-8
109 Програма openssl для роботи з сертифікатами та бібліотеки спільного
110 користування, що реалізують велику кількість криптографічних
111 алгоритмів, включаючи DES, RC4, RSA та SSL.
114 Summary: OpenSSL command line tool and utilities
115 Summary(pl.UTF-8): Zestaw narzędzi i skryptów
116 Group: Applications/Communications
117 Requires: %{name} = %{version}-%{release}
121 The OpenSSL Toolkit cmdline tool openssl and utility scripts.
123 %description tools -l pl.UTF-8
124 Zestaw narzędzi i skryptów wywoływanych z linii poleceń.
127 Summary: OpenSSL utilities written in Perl
128 Summary(pl.UTF-8): Narzędzia OpenSSL napisane w perlu
129 Group: Applications/Communications
130 Requires: %{name} = %{version}-%{release}
132 %description tools-perl
133 OpenSSL Toolkit tools written in Perl.
135 %description tools-perl -l pl.UTF-8
136 Narzędzia OpenSSL napisane w perlu.
139 Summary: Development part of OpenSSL Toolkit libraries
140 Summary(de.UTF-8): Secure Sockets Layer Kommunikationslibrary: statische libraries+header
141 Summary(es.UTF-8): Bibliotecas y archivos de inclusión para desarrollo OpenSSL
142 Summary(fr.UTF-8): Librairies statiques, headers et utilitaires pour communication SSL
143 Summary(pl.UTF-8): Część bibiloteki OpenSSL przeznaczona dla programistów
144 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento OpenSSL
145 Summary(ru.UTF-8): Библиотеки, хедеры и утилиты для Secure Sockets Layer
146 Summary(uk.UTF-8): Бібліотеки, хедери та утиліти для Secure Sockets Layer
147 Group: Development/Libraries
148 Requires: %{name} = %{version}-%{release}
149 Obsoletes: libopenssl0-devel
152 Development part of OpenSSL library.
154 %description devel -l es.UTF-8
155 Bibliotecas y archivos de inclusión para desarrollo OpenSSL
157 %description devel -l pl.UTF-8
158 Część biblioteki OpenSSL przeznaczona dla programistów.
160 %description devel -l pt_BR.UTF-8
161 Uma biblioteca C que fornece vários algoritmos e protocolos
162 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas e
163 arquivos de inclusão para desenvolvimento.
165 %description devel -l ru.UTF-8
166 Программа openssl для работы с сертификатами и разделяемые библиотеки,
167 которые реализуют множетсво криптографических алгоритмов, включая DES,
168 RC4, RSA и SSL. Включает библиотеки и хедеры для разработки приложений
169 с использованием SSL.
171 %description devel -l uk.UTF-8
172 Програма openssl для роботи з сертифікатами та бібліотеки спільного
173 користування, що реалізують велику кількість криптографічних
174 алгоритмів, включаючи DES, RC4, RSA та SSL. Містить бібліотеки та
175 хедери для розробки програм з використанням SSL.
178 Summary: Static OpenSSL libraries
179 Summary(pl.UTF-8): Statyczne wersje bibliotek z OpenSSL
180 Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com openssl
181 Summary(ru.UTF-8): Статические библиотеки разработчика для OpenSSL
182 Summary(uk.UTF-8): Статичні бібліотеки програміста для OpenSSL
183 Group: Development/Libraries
184 Requires: %{name}-devel = %{version}-%{release}
187 Static OpenSSL Toolkit libraries.
189 %description static -l pl.UTF-8
190 Statyczne wersje bibliotek z OpenSSL.
192 %description static -l pt_BR.UTF-8
193 Bibliotecas estáticas para desenvolvimento com openssl.
195 %description static -l ru.UTF-8
196 Программа openssl для работы с сертификатами и разделяемые библиотеки,
197 которые реализуют множетсво криптографических алгоритмов, включая DES,
198 RC4, RSA и SSL. Включает статические библиотеки для разработки
199 приложений с использованием OpenSSL.
201 %description static -l uk.UTF-8
202 Програма openssl для роботи з сертифікатами та бібліотеки спільного
203 користування, що реалізують велику кількість криптографічних
204 алгоритмів, включаючи DES, RC4, RSA та SSL. Містить статичні
205 бібліотеки для розробки програм з використанням SSL.
215 # fails with enable-sctp as of 1.1.1
216 %{__rm} test/recipes/80-test_ssl_new.t
222 %{__perl} ./Configure \
223 --prefix=%{_prefix} \
224 --openssldir=%{_sysconfdir}/%{name} \
229 %{?with_sslv3:enable-ssl3}%{!?with_sslv3:no-ssl3} \
230 %{!?with_zlib:no-}zlib \
243 enable-ec_nistp_64_gcc_128 \
248 # ^- allow running on 80386 (default code uses bswapl available on i486+)
287 v=$(awk -F= '/^VERSION=/{print $2}' Makefile)
288 test "$v" = %{version}
292 OPTFLAGS="%{rpmcflags} %{rpmcppflags}" \
293 INSTALLTOP=%{_prefix}
296 %{__make} -j1 tests \
298 OPTFLAGS="%{rpmcflags} %{rpmcppflags}" \
299 INSTALLTOP=%{_prefix}
303 rm -rf $RPM_BUILD_ROOT
304 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
305 $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \
306 $RPM_BUILD_ROOT%{_pkgconfigdir}
310 DESTDIR=$RPM_BUILD_ROOT
312 %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
313 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcrypto.*) $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
314 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libssl.*) $RPM_BUILD_ROOT%{_libdir}/libssl.so
316 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
317 %{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc
319 # html version of man pages - not packaged
320 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}/html/man[1357]
322 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
323 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate
324 install -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/c_rehash.sh
327 rm -rf $RPM_BUILD_ROOT
329 %post -p /sbin/ldconfig
330 %postun -p /sbin/ldconfig
332 %triggerpostun -- %{name}-tools < 1.0.0-5
333 # the hashing format has changed in 1.0.0
334 [ ! -x %{_sbindir}/update-ca-certificates ] || %{_sbindir}/update-ca-certificates --fresh || :
336 %triggerpostun -- %{name} < 0.9.8i-2
337 # don't do anything on --downgrade
338 if [ $1 -le 1 ]; then
341 if [ -d /var/lib/openssl/certs ] ; then
342 mv /var/lib/openssl/certs/* %{_sysconfdir}/%{name}/certs 2>/dev/null || :
344 if [ -d /var/lib/openssl/private ] ; then
345 mv /var/lib/openssl/private/* %{_sysconfdir}/%{name}/private 2>/dev/null || :
347 if [ -d /var/lib/openssl ] ; then
348 for f in /var/lib/openssl/* ; do
349 [ -f "$f" ] && mv "$f" %{_sysconfdir}/%{name} 2>/dev/null || :
351 rmdir /var/lib/openssl/* 2>/dev/null || :
352 rmdir /var/lib/openssl 2>/dev/null || :
356 %defattr(644,root,root,755)
357 %doc CHANGES.md NEWS.md README.md doc/*.txt
358 %attr(755,root,root) /%{_lib}/libcrypto.so.*
359 %attr(755,root,root) /%{_lib}/libssl.so.*
360 %dir /%{_lib}/engines-3
361 %attr(755,root,root) /%{_lib}/engines-3/*.so
362 %dir /%{_lib}/ossl-modules
363 %attr(755,root,root) /%{_lib}/ossl-modules/fips.so
364 %attr(755,root,root) /%{_lib}/ossl-modules/legacy.so
365 %dir %{_sysconfdir}/%{name}
366 %dir %{_sysconfdir}/%{name}/certs
367 %dir %attr(700,root,root) %{_sysconfdir}/%{name}/private
371 %defattr(644,root,root,755)
372 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/ct_log_list.cnf
373 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/fipsmodule.cnf
374 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf
375 %attr(755,root,root) %{_bindir}/c_rehash.sh
376 %attr(755,root,root) %{_bindir}/openssl
377 %attr(754,root,root) %{_bindir}/ssl-certificate
378 %{_mandir}/man1/asn1parse.1*
379 %{_mandir}/man1/ca.1*
380 %{_mandir}/man1/ciphers.1*
381 %{_mandir}/man1/cms.1*
382 %{_mandir}/man1/crl.1*
383 %{_mandir}/man1/crl2pkcs7.1*
384 %{_mandir}/man1/dgst.1*
385 %{_mandir}/man1/dhparam.1*
386 %{_mandir}/man1/dsa.1*
387 %{_mandir}/man1/dsaparam.1*
388 %{_mandir}/man1/ec.1*
389 %{_mandir}/man1/ecparam.1*
390 %{_mandir}/man1/enc.1*
391 %{_mandir}/man1/engine.1*
392 %{_mandir}/man1/errstr.1*
393 %{_mandir}/man1/gendsa.1*
394 %{_mandir}/man1/genpkey.1*
395 %{_mandir}/man1/genrsa.1*
396 %{_mandir}/man1/kdf.1*
397 %{_mandir}/man1/mac.1*
398 %{_mandir}/man1/nseq.1*
399 %{_mandir}/man1/ocsp.1*
400 %{_mandir}/man1/openssl.1*
401 %{_mandir}/man1/openssl-*.1*
402 %{_mandir}/man1/passwd.1*
403 %{_mandir}/man1/pkcs12.1*
404 %{_mandir}/man1/pkcs7.1*
405 %{_mandir}/man1/pkcs8.1*
406 %{_mandir}/man1/pkey.1*
407 %{_mandir}/man1/pkeyparam.1*
408 %{_mandir}/man1/pkeyutl.1*
409 %{_mandir}/man1/prime.1*
410 %{_mandir}/man1/rand.1*
411 %{_mandir}/man1/rehash.1*
412 %{_mandir}/man1/req.1*
413 %{_mandir}/man1/rsa.1*
414 %{_mandir}/man1/rsautl.1*
415 %{_mandir}/man1/s_client.1*
416 %{_mandir}/man1/sess_id.1*
417 %{_mandir}/man1/smime.1*
418 %{_mandir}/man1/speed.1*
419 %{_mandir}/man1/spkac.1*
420 %{_mandir}/man1/srp.1*
421 %{_mandir}/man1/s_server.1*
422 %{_mandir}/man1/s_time.1*
423 %{_mandir}/man1/storeutl.1*
424 %{_mandir}/man1/ts.1*
425 %{_mandir}/man1/verify.1*
426 %{_mandir}/man1/version.1*
427 %{_mandir}/man1/x509.1*
429 %lang(pl) %{_mandir}/pl/man1/openssl.1*
432 %defattr(644,root,root,755)
433 %attr(755,root,root) %{_bindir}/c_rehash
434 %dir %{_libdir}/%{name}
435 %attr(755,root,root) %{_libdir}/%{name}/CA.pl
436 %attr(755,root,root) %{_libdir}/%{name}/tsget
437 %attr(755,root,root) %{_libdir}/%{name}/tsget.pl
438 %{_mandir}/man1/CA.pl.1*
439 %{_mandir}/man1/c_rehash.1*
440 %{_mandir}/man1/tsget.1*
443 %defattr(644,root,root,755)
444 %attr(755,root,root) %{_libdir}/libcrypto.so
445 %attr(755,root,root) %{_libdir}/libssl.so
446 %{_includedir}/%{name}
447 %{_pkgconfigdir}/libcrypto.pc
448 %{_pkgconfigdir}/libssl.pc
449 %{_pkgconfigdir}/openssl.pc
454 %defattr(644,root,root,755)
455 %{_libdir}/libcrypto.a