From a1bfcb15d97b9cbb761dd7b4b2173d5b2b4dd2e5 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Tue, 29 Sep 2020 11:11:38 +0200 Subject: [PATCH] unix-Makefile.tmpl: Add a target to install the FIPS module config Fixes #12195 Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/13032) --- Configurations/unix-Makefile.tmpl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 36a7ffbf93..4fab096121 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -87,6 +87,14 @@ MODULES={- join(" \\\n" . ' ' x 8, fill_lines(" ", $COLUMNS - 8, map { platform->dso($_) } @{$unified_info{modules}})) -} +FIPSMODULENAME={- # We do some extra checking here, as there should be only one + my @fipsmodules = + grep { !$unified_info{attributes}->{modules}->{$_}->{noinst} + && $unified_info{attributes}->{modules}->{$_}->{fips} } + @{$unified_info{modules}}; + die "More that one FIPS module" if scalar @fipsmodules > 1; + join(" ", map { basename platform->dso($_) } @fipsmodules) -} + PROGRAMS={- join(" \\\n" . ' ' x 9, fill_lines(" ", $COLUMNS - 9, map { platform->bin($_) } @@ -551,6 +559,18 @@ install_docs: install_man_docs install_html_docs uninstall_docs: uninstall_man_docs uninstall_html_docs $(RM) -r $(DESTDIR)$(DOCDIR) +install_fips: install_sw + @$(ECHO) "*** Installing FIPS module configuration" + @$(ECHO) "fipsinstall $(DESTDIR)$(MODULESDIR)/$(FIPSMODULENAME).cnf" + @openssl fipsinstall -module $(DESTDIR)$(MODULESDIR)/$(FIPSMODULENAME) \ + -out $(DESTDIR)$(MODULESDIR)/$(FIPSMODULENAME).cnf \ + -macopt 'key:$(FIPSKEY)' + +uninstall_fips: uninstall_sw + @$(ECHO) "*** Uninstalling FIPS module configuration" + @$(ECHO) "$(RM) $(DESTDIR)$(MODULESDIR)/$(FIPSMODULENAME).cnf" + @$(RM) $(DESTDIR)$(MODULESDIR)/$(FIPSMODULENAME).cnf + install_ssldirs: @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(OPENSSLDIR)/certs @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(OPENSSLDIR)/private -- 2.34.1