|
|
|
@ -1,31 +1,9 @@
|
|
|
|
|
%global git_date 20240202
|
|
|
|
|
%global git_commit 283706dbc258f4ac0b19b3291bc18f9b691b222f
|
|
|
|
|
%global git_date 20240822
|
|
|
|
|
%global git_commit baf3e063c68f6c69eec1bf79c1b3e9a745640183
|
|
|
|
|
%{?git_commit:%global git_commit_hash %(c=%{git_commit}; echo ${c:0:7})}
|
|
|
|
|
|
|
|
|
|
%global _python_bytecompile_extra 0
|
|
|
|
|
|
|
|
|
|
# RSAMinSize vs RequiredRSASize vs nothing, remove when OpenSSH >= 9.1
|
|
|
|
|
%if 0%{?rhel} == 9
|
|
|
|
|
# RHEL-9: must be RequiredRSASize in RHEL >= 9.2, Conflicts-enforced,
|
|
|
|
|
%global MIN_RSA_NAME RequiredRSASize
|
|
|
|
|
%elif 0%{?rhel} == 10
|
|
|
|
|
# ELN: RequiredRSASize for openssh >= 9.0p1-5, RSAMinSize for >= 9.0p1-2
|
|
|
|
|
%if v"%(rpm -q openssh | head -n1)" >= v"openssh-9.0p1-5"
|
|
|
|
|
%global MIN_RSA_NAME RequiredRSASize
|
|
|
|
|
%elif v"%(rpm -q openssh | head -n1)" >= v"openssh-9.0p1-2"
|
|
|
|
|
%global MIN_RSA_NAME RSAMinSize
|
|
|
|
|
%else
|
|
|
|
|
%global MIN_RSA_NAME none
|
|
|
|
|
%endif
|
|
|
|
|
%else
|
|
|
|
|
# some other distro, follow autodetection which checks for openssh >= 9.1
|
|
|
|
|
%if v"%(rpm -q openssh | head -n1)" >= v"openssh-9.1"
|
|
|
|
|
%global MIN_RSA_NAME RequiredRSASize
|
|
|
|
|
%else
|
|
|
|
|
%global MIN_RSA_NAME none
|
|
|
|
|
%endif
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
Name: crypto-policies
|
|
|
|
|
Version: %{git_date}
|
|
|
|
|
Release: 1.git%{git_commit_hash}%{?dist}.inferit
|
|
|
|
@ -35,41 +13,32 @@ License: LGPL-2.1-or-later
|
|
|
|
|
URL: https://gitlab.com/redhat-crypto/fedora-crypto-policies
|
|
|
|
|
# For RHEL-9 we use the upstream branch rhel9.
|
|
|
|
|
Source0: https://gitlab.com/redhat-crypto/fedora-crypto-policies/-/archive/%{git_commit_hash}/%{name}-git%{git_commit_hash}.tar.gz
|
|
|
|
|
Patch1: 0001-Added-GOST-policy-also-added-experimental-PAM-genera.patch
|
|
|
|
|
Patch2: 0001-Added-tests-fix-for-9.4-version.patch
|
|
|
|
|
Patch1: 0001-Added-GOST-9.5-policy-also-added-experimental-PAM-ge.patch
|
|
|
|
|
|
|
|
|
|
%if 0%{?rhel} >= 10
|
|
|
|
|
ExclusiveArch: %{java_arches} noarch
|
|
|
|
|
%endif
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
BuildRequires: asciidoc
|
|
|
|
|
BuildRequires: libxslt
|
|
|
|
|
BuildRequires: openssl
|
|
|
|
|
BuildRequires: nss-tools
|
|
|
|
|
BuildRequires: gnutls-utils >= 3.6.0
|
|
|
|
|
BuildRequires: gnutls-utils
|
|
|
|
|
BuildRequires: openssh-clients
|
|
|
|
|
BuildRequires: java-devel
|
|
|
|
|
BuildRequires: bind
|
|
|
|
|
BuildRequires: perl-interpreter
|
|
|
|
|
BuildRequires: perl-generators
|
|
|
|
|
BuildRequires: perl(File::pushd), perl(File::Temp), perl(File::Copy)
|
|
|
|
|
BuildRequires: perl(File::Which)
|
|
|
|
|
BuildRequires: python3-devel >= 3.6
|
|
|
|
|
BuildRequires: python3-devel >= 3.9
|
|
|
|
|
BuildRequires: python3-pytest
|
|
|
|
|
BuildRequires: make
|
|
|
|
|
|
|
|
|
|
Conflicts: openssl < 1:3.0.1-10
|
|
|
|
|
Conflicts: openssl-libs < 1:3.0.1-10
|
|
|
|
|
Conflicts: nss < 3.90.0
|
|
|
|
|
Conflicts: libreswan < 3.28
|
|
|
|
|
Conflicts: openssh < 8.7p1-24
|
|
|
|
|
%if 0%{?rhel} == 10
|
|
|
|
|
Conflicts: gnutls < 3.7.2-3
|
|
|
|
|
%else
|
|
|
|
|
Conflicts: gnutls < 3.7.6-22
|
|
|
|
|
%endif
|
|
|
|
|
Recommends: openssl-gost-engine
|
|
|
|
|
Requires: authselect
|
|
|
|
|
Requires: findutils
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
This package provides pre-built configuration files with
|
|
|
|
|
cryptographic policies for various cryptographic back-ends,
|
|
|
|
@ -96,20 +65,9 @@ to enable or disable the system FIPS mode.
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
sed -i \
|
|
|
|
|
"s/MIN_RSA_DEFAULT = .*/MIN_RSA_DEFAULT = '%{MIN_RSA_NAME}'/" \
|
|
|
|
|
"s/MIN_RSA_DEFAULT = .*/MIN_RSA_DEFAULT = 'RequiredRSASize'/" \
|
|
|
|
|
python/policygenerators/openssh.py
|
|
|
|
|
grep "MIN_RSA_DEFAULT = '%{MIN_RSA_NAME}'" python/policygenerators/openssh.py
|
|
|
|
|
|
|
|
|
|
%if 0%{?rhel} == 10
|
|
|
|
|
# currently ELN 3.90-1 doesn't carry the TLS-REQUIRE-EMS patch
|
|
|
|
|
sed -i "s/'NSS_NO_TLS_REQUIRE_EMS', '0'/'NSS_NO_TLS_REQUIRE_EMS', '1'/" \
|
|
|
|
|
python/policygenerators/nss.py tests/nss.py
|
|
|
|
|
sed -i "s/:TLS-REQUIRE-EMS:/:/" tests/outputs/*FIPS*.txt
|
|
|
|
|
# currently ELN/RHEL gnutls do not carry the tls-session-hash patch
|
|
|
|
|
sed -i "s/'GNUTLS_NO_TLS_SESSION_HASH', '0'/'GNUTLS_NO_TLS_SESSION_HASH', '1'/" \
|
|
|
|
|
python/policygenerators/gnutls.py
|
|
|
|
|
sed -i "/^tls-session-hash =/d" tests/outputs/*FIPS*.txt
|
|
|
|
|
%endif
|
|
|
|
|
grep "MIN_RSA_DEFAULT = 'RequiredRSASize'" python/policygenerators/openssh.py
|
|
|
|
|
|
|
|
|
|
%make_build
|
|
|
|
|
|
|
|
|
@ -147,16 +105,7 @@ done
|
|
|
|
|
%py_byte_compile %{__python3} %{buildroot}%{_datadir}/crypto-policies/python
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
# RSAMinSize vs RequiredRSASize vs nothing, remove when OpenSSH >= 9.1
|
|
|
|
|
%if "%{MIN_RSA_NAME}" == "none"
|
|
|
|
|
sed -i '/RequiredRSASize .*/d' tests/outputs/*.txt
|
|
|
|
|
%elif "%{MIN_RSA_NAME}" == "RSAMinSize"
|
|
|
|
|
sed -i 's/RequiredRSASize/RSAMinSize/' tests/outputs/*.txt
|
|
|
|
|
%else
|
|
|
|
|
[ "%{MIN_RSA_NAME}" == "RequiredRSASize" ] || exit 7
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
make ON_RHEL9=1 test
|
|
|
|
|
make test SKIP_LINTING=1
|
|
|
|
|
|
|
|
|
|
%post -p <lua>
|
|
|
|
|
if not posix.access("%{_sysconfdir}/crypto-policies/config") then
|
|
|
|
@ -242,6 +191,8 @@ end
|
|
|
|
|
%{_datarootdir}/crypto-policies/reload-cmds.sh
|
|
|
|
|
%{_datarootdir}/crypto-policies/policies
|
|
|
|
|
|
|
|
|
|
%{_libexecdir}/fips-setup-helper
|
|
|
|
|
|
|
|
|
|
%license COPYING.LESSER
|
|
|
|
|
|
|
|
|
|
%files scripts
|
|
|
|
@ -256,9 +207,30 @@ end
|
|
|
|
|
%{_mandir}/man8/fips-finish-install.8*
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Mon May 13 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 20240202-1.git283706d.inferit
|
|
|
|
|
- Added GOST policy also added experimental PAM generator
|
|
|
|
|
- Use Recommends: openssl-gost-engine instead of Requires
|
|
|
|
|
* Thu Oct 10 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 20240822-1.gitbaf3e06.inferit
|
|
|
|
|
- Added GOST
|
|
|
|
|
|
|
|
|
|
* Thu Aug 22 2024 Alexander Sosedkin <asosedkin@redhat.com> - 20240822-1.gitbaf3e06
|
|
|
|
|
- fips-mode-setup: block if LUKS devices using Argon2 are detected
|
|
|
|
|
|
|
|
|
|
* Thu Aug 15 2024 Alexander Sosedkin <asosedkin@redhat.com> - 20240815-1.gite217f03
|
|
|
|
|
- java: start controlling / disable DTLSv1.0
|
|
|
|
|
- java: disable anon ciphersuites, tying them to NULL
|
|
|
|
|
- java: respect more key size restrictions
|
|
|
|
|
- java: specify jdk.tls.namedGroups system property
|
|
|
|
|
- java: make hash, mac and sign more orthogonal
|
|
|
|
|
- fips-mode-setup: add another scary "unsupported"
|
|
|
|
|
- fips-mode-setup: flashy ticking warning upon use
|
|
|
|
|
- java: use and include jdk.disabled.namedCurves
|
|
|
|
|
- ec_min_size: introduce and use in java, default to 256
|
|
|
|
|
- java: stop specifying jdk.tls.namedGroups in javasystem
|
|
|
|
|
- fips-setup-helper: add a libexec helper for anaconda
|
|
|
|
|
- fips-mode-setup: force --no-bootcfg when UKI is detected
|
|
|
|
|
|
|
|
|
|
* Mon Mar 04 2024 Alexander Sosedkin <asosedkin@redhat.com> - 20240304-1.gitb1c706d
|
|
|
|
|
- packaging: remove perl build-dependency, it's not needed anymore
|
|
|
|
|
- packaging: use newly introduced SKIP_LINTING=1
|
|
|
|
|
- packaging: drop stale workarounds
|
|
|
|
|
|
|
|
|
|
* Fri Feb 02 2024 Alexander Sosedkin <asosedkin@redhat.com> - 20240202-1.git283706d
|
|
|
|
|
- fips-finish-install: make sure ostree is detected in chroot
|
|
|
|
|