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: 545478ce41b96bf3beacb4dc58b36c77
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.745
40 BuildRequires: sed >= 4.0
41 BuildRequires: zlib-devel
42 Requires: ca-certificates >= 20141019-3
43 Requires: rpm-whiteout >= 1.7
44 Obsoletes: SSLeay < 0.9.3
45 Obsoletes: SSLeay-devel < 0.9.3
46 Obsoletes: SSLeay-perl < 0.9.3
47 Obsoletes: libopenssl0 < 1
48 Obsoletes: openssl-engines < 3.0.0-2
49 %if "%{pld_release}" == "ac"
50 Conflicts: neon < 0.26.3-3
51 Conflicts: ntpd < 4.2.4p8-10
52 Conflicts: openssh-clients < 2:5.8p1-9
53 Conflicts: openssh-server < 2:5.8p1-9
55 Conflicts: neon < 0.29.6-8
56 Conflicts: openssh-clients < 2:6.2p2-3
57 Conflicts: openssh-server < 2:6.2p2-3
59 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 The OpenSSL Project is a collaborative effort to develop a robust,
63 commercial-grade, full-featured, and Open Source toolkit implementing
64 the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
65 v1) protocols with full-strength cryptography world-wide. The project
66 is managed by a worldwide community of volunteers that use the
67 Internet to communicate, plan, and develop the OpenSSL tookit and its
68 related documentation.
70 OpenSSL is based on the excellent SSLeay library developed by Eric A.
71 Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
72 Apache-style licence, which basically means that you are free to get
73 and use it for commercial and non-commercial purposes subject to some
74 simple license conditions.
76 This package contains shared libraries only, install openssl-tools if
77 you want to use openssl cmdline tool.
79 %description -l de.UTF-8
80 Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared
81 libraries, die verschiedene Verschlüsselungs- und
82 Entschlüsselungsalgorithmen und -protokolle, wie DES, RC4, RSA und SSL
83 zur Verfügung stellen.
85 %description -l es.UTF-8
86 Biblioteca C que suministra algoritmos y protocolos criptográficos.
88 %description -l fr.UTF-8
89 OpenSSL est un outiil de gestion des certificats et les librairies
90 partagees qui fournit plusieurs protocoles et algorithmes de
91 codage/decodage, incluant DES, RC4, RSA et SSL.
93 %description -l pl.UTF-8
94 Implementacja protokołów kryptograficznych Secure Socket Layer (SSL)
95 v2/v3 oraz Transport Layer Security (TLS v1).
97 %description -l pt_BR.UTF-8
98 Uma biblioteca C que fornece vários algoritmos e protocolos
99 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas
100 compartilhadas e utilitários.
102 %description -l ru.UTF-8
103 Программа openssl для работы с сертификатами и разделяемые библиотеки,
104 которые реализуют множетсво криптографических алгоритмов, включая DES,
107 %description -l uk.UTF-8
108 Програма openssl для роботи з сертифікатами та бібліотеки спільного
109 користування, що реалізують велику кількість криптографічних
110 алгоритмів, включаючи DES, RC4, RSA та SSL.
113 Summary: OpenSSL command line tool and utilities
114 Summary(pl.UTF-8): Zestaw narzędzi i skryptów
115 Group: Applications/Communications
116 Requires: %{name} = %{version}-%{release}
120 The OpenSSL Toolkit cmdline tool openssl and utility scripts.
122 %description tools -l pl.UTF-8
123 Zestaw narzędzi i skryptów wywoływanych z linii poleceń.
126 Summary: OpenSSL utilities written in Perl
127 Summary(pl.UTF-8): Narzędzia OpenSSL napisane w perlu
128 Group: Applications/Communications
129 Requires: %{name} = %{version}-%{release}
131 %description tools-perl
132 OpenSSL Toolkit tools written in Perl.
134 %description tools-perl -l pl.UTF-8
135 Narzędzia OpenSSL napisane w perlu.
138 Summary: Development part of OpenSSL Toolkit libraries
139 Summary(de.UTF-8): Secure Sockets Layer Kommunikationslibrary: statische libraries+header
140 Summary(es.UTF-8): Bibliotecas y archivos de inclusión para desarrollo OpenSSL
141 Summary(fr.UTF-8): Librairies statiques, headers et utilitaires pour communication SSL
142 Summary(pl.UTF-8): Część bibiloteki OpenSSL przeznaczona dla programistów
143 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento OpenSSL
144 Summary(ru.UTF-8): Библиотеки, хедеры и утилиты для Secure Sockets Layer
145 Summary(uk.UTF-8): Бібліотеки, хедери та утиліти для Secure Sockets Layer
146 Group: Development/Libraries
147 Requires: %{name} = %{version}-%{release}
148 Obsoletes: libopenssl0-devel < 1
151 Development part of OpenSSL library.
153 %description devel -l es.UTF-8
154 Bibliotecas y archivos de inclusión para desarrollo OpenSSL
156 %description devel -l pl.UTF-8
157 Część biblioteki OpenSSL przeznaczona dla programistów.
159 %description devel -l pt_BR.UTF-8
160 Uma biblioteca C que fornece vários algoritmos e protocolos
161 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas e
162 arquivos de inclusão para desenvolvimento.
164 %description devel -l ru.UTF-8
165 Программа openssl для работы с сертификатами и разделяемые библиотеки,
166 которые реализуют множетсво криптографических алгоритмов, включая DES,
167 RC4, RSA и SSL. Включает библиотеки и хедеры для разработки приложений
168 с использованием SSL.
170 %description devel -l uk.UTF-8
171 Програма openssl для роботи з сертифікатами та бібліотеки спільного
172 користування, що реалізують велику кількість криптографічних
173 алгоритмів, включаючи DES, RC4, RSA та SSL. Містить бібліотеки та
174 хедери для розробки програм з використанням SSL.
177 Summary: Static OpenSSL libraries
178 Summary(pl.UTF-8): Statyczne wersje bibliotek z OpenSSL
179 Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com openssl
180 Summary(ru.UTF-8): Статические библиотеки разработчика для OpenSSL
181 Summary(uk.UTF-8): Статичні бібліотеки програміста для OpenSSL
182 Group: Development/Libraries
183 Requires: %{name}-devel = %{version}-%{release}
186 Static OpenSSL Toolkit libraries.
188 %description static -l pl.UTF-8
189 Statyczne wersje bibliotek z OpenSSL.
191 %description static -l pt_BR.UTF-8
192 Bibliotecas estáticas para desenvolvimento com openssl.
194 %description static -l ru.UTF-8
195 Программа openssl для работы с сертификатами и разделяемые библиотеки,
196 которые реализуют множетсво криптографических алгоритмов, включая DES,
197 RC4, RSA и SSL. Включает статические библиотеки для разработки
198 приложений с использованием OpenSSL.
200 %description static -l uk.UTF-8
201 Програма openssl для роботи з сертифікатами та бібліотеки спільного
202 користування, що реалізують велику кількість криптографічних
203 алгоритмів, включаючи DES, RC4, RSA та SSL. Містить статичні
204 бібліотеки для розробки програм з використанням SSL.
214 # fails with enable-sctp as of 1.1.1
215 %{__rm} test/recipes/80-test_ssl_new.t
221 %{__perl} ./Configure \
222 --prefix=%{_prefix} \
223 --openssldir=%{_sysconfdir}/%{name} \
228 %{?with_sslv3:enable-ssl3}%{!?with_sslv3:no-ssl3} \
229 %{!?with_zlib:no-}zlib \
242 enable-ec_nistp_64_gcc_128 \
247 # ^- allow running on 80386 (default code uses bswapl available on i486+)
286 v=$(awk -F= '/^VERSION=/{print $2}' Makefile)
287 test "$v" = %{version}
291 OPTFLAGS="%{rpmcflags} %{rpmcppflags}" \
292 INSTALLTOP=%{_prefix}
295 %{__make} -j1 tests \
297 OPTFLAGS="%{rpmcflags} %{rpmcppflags}" \
298 INSTALLTOP=%{_prefix}
302 rm -rf $RPM_BUILD_ROOT
303 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
304 $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \
305 $RPM_BUILD_ROOT%{_pkgconfigdir}
309 DESTDIR=$RPM_BUILD_ROOT
311 %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
312 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcrypto.*) $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
313 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libssl.*) $RPM_BUILD_ROOT%{_libdir}/libssl.so
315 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
316 %{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc
318 # html version of man pages - not packaged
319 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}/html/man[1357]
321 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
322 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate
323 install -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/c_rehash.sh
326 rm -rf $RPM_BUILD_ROOT
328 %post -p /sbin/ldconfig
329 %postun -p /sbin/ldconfig
331 %triggerpostun -- %{name}-tools < 1.0.0-5
332 # the hashing format has changed in 1.0.0
333 [ ! -x %{_sbindir}/update-ca-certificates ] || %{_sbindir}/update-ca-certificates --fresh || :
335 %triggerpostun -- %{name} < 0.9.8i-2
336 # don't do anything on --downgrade
337 if [ $1 -le 1 ]; then
340 if [ -d /var/lib/openssl/certs ] ; then
341 mv /var/lib/openssl/certs/* %{_sysconfdir}/%{name}/certs 2>/dev/null || :
343 if [ -d /var/lib/openssl/private ] ; then
344 mv /var/lib/openssl/private/* %{_sysconfdir}/%{name}/private 2>/dev/null || :
346 if [ -d /var/lib/openssl ] ; then
347 for f in /var/lib/openssl/* ; do
348 [ -f "$f" ] && mv "$f" %{_sysconfdir}/%{name} 2>/dev/null || :
350 rmdir /var/lib/openssl/* 2>/dev/null || :
351 rmdir /var/lib/openssl 2>/dev/null || :
355 %defattr(644,root,root,755)
356 %doc CHANGES.md NEWS.md README.md doc/*.txt
357 %attr(755,root,root) /%{_lib}/libcrypto.so.*
358 %attr(755,root,root) /%{_lib}/libssl.so.*
359 %dir /%{_lib}/engines-3
360 %attr(755,root,root) /%{_lib}/engines-3/*.so
361 %dir /%{_lib}/ossl-modules
362 %attr(755,root,root) /%{_lib}/ossl-modules/fips.so
363 %attr(755,root,root) /%{_lib}/ossl-modules/legacy.so
364 %dir %{_sysconfdir}/%{name}
365 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/ct_log_list.cnf
366 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/fipsmodule.cnf
367 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf
368 %dir %{_sysconfdir}/%{name}/certs
369 %dir %attr(700,root,root) %{_sysconfdir}/%{name}/private
371 %{_mandir}/man5/config.5ossl*
374 %defattr(644,root,root,755)
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.1ossl*
379 %{_mandir}/man1/ca.1ossl*
380 %{_mandir}/man1/ciphers.1ossl*
381 %{_mandir}/man1/cmp.1ossl*
382 %{_mandir}/man1/cms.1ossl*
383 %{_mandir}/man1/crl.1ossl*
384 %{_mandir}/man1/crl2pkcs7.1ossl*
385 %{_mandir}/man1/dgst.1ossl*
386 %{_mandir}/man1/dhparam.1ossl*
387 %{_mandir}/man1/dsa.1ossl*
388 %{_mandir}/man1/dsaparam.1ossl*
389 %{_mandir}/man1/ec.1ossl*
390 %{_mandir}/man1/ecparam.1ossl*
391 %{_mandir}/man1/enc.1ossl*
392 %{_mandir}/man1/engine.1ossl*
393 %{_mandir}/man1/errstr.1ossl*
394 %{_mandir}/man1/gendsa.1ossl*
395 %{_mandir}/man1/genpkey.1ossl*
396 %{_mandir}/man1/genrsa.1ossl*
397 %{_mandir}/man1/info.1ossl*
398 %{_mandir}/man1/kdf.1ossl*
399 %{_mandir}/man1/mac.1ossl*
400 %{_mandir}/man1/nseq.1ossl*
401 %{_mandir}/man1/ocsp.1ossl*
402 %{_mandir}/man1/openssl.1*
403 %{_mandir}/man1/openssl-*.1*
404 %{_mandir}/man1/passwd.1ossl*
405 %{_mandir}/man1/pkcs12.1ossl*
406 %{_mandir}/man1/pkcs7.1ossl*
407 %{_mandir}/man1/pkcs8.1ossl*
408 %{_mandir}/man1/pkey.1ossl*
409 %{_mandir}/man1/pkeyparam.1ossl*
410 %{_mandir}/man1/pkeyutl.1ossl*
411 %{_mandir}/man1/prime.1ossl*
412 %{_mandir}/man1/rand.1ossl*
413 %{_mandir}/man1/rehash.1ossl*
414 %{_mandir}/man1/req.1ossl*
415 %{_mandir}/man1/rsa.1ossl*
416 %{_mandir}/man1/rsautl.1ossl*
417 %{_mandir}/man1/s_client.1ossl*
418 %{_mandir}/man1/sess_id.1ossl*
419 %{_mandir}/man1/smime.1ossl*
420 %{_mandir}/man1/speed.1ossl*
421 %{_mandir}/man1/spkac.1ossl*
422 %{_mandir}/man1/srp.1ossl*
423 %{_mandir}/man1/s_server.1ossl*
424 %{_mandir}/man1/s_time.1ossl*
425 %{_mandir}/man1/storeutl.1ossl*
426 %{_mandir}/man1/ts.1ossl*
427 %{_mandir}/man1/verify.1ossl*
428 %{_mandir}/man1/version.1ossl*
429 %{_mandir}/man1/x509.1ossl*
430 %{_mandir}/man5/fips_config.5ossl*
431 %{_mandir}/man5/x509v3_config.5ossl*
432 %lang(pl) %{_mandir}/pl/man1/openssl.1*
435 %defattr(644,root,root,755)
436 %attr(755,root,root) %{_bindir}/c_rehash
437 %dir %{_libdir}/%{name}
438 %attr(755,root,root) %{_libdir}/%{name}/CA.pl
439 %attr(755,root,root) %{_libdir}/%{name}/tsget
440 %attr(755,root,root) %{_libdir}/%{name}/tsget.pl
441 %{_mandir}/man1/CA.pl.1ossl*
442 %{_mandir}/man1/c_rehash.1ossl*
443 %{_mandir}/man1/tsget.1ossl*
446 %defattr(644,root,root,755)
447 %attr(755,root,root) %{_libdir}/libcrypto.so
448 %attr(755,root,root) %{_libdir}/libssl.so
449 %{_includedir}/%{name}
450 %{_pkgconfigdir}/libcrypto.pc
451 %{_pkgconfigdir}/libssl.pc
452 %{_pkgconfigdir}/openssl.pc
453 %{_mandir}/man3/*.3ossl*
454 %{_mandir}/man7/*.7ossl*
457 %defattr(644,root,root,755)
458 %{_libdir}/libcrypto.a