VirtualBox

source: vbox/trunk/src/libs/openssl-3.1.0/doc/man1/openssl-fipsinstall.pod.in@ 99507

最後變更 在這個檔案從99507是 99366,由 vboxsync 提交於 2 年 前

openssl-3.1.0: Applied and adjusted our OpenSSL changes to 3.0.7. bugref:10418

檔案大小: 8.7 KB
 
1=pod
2{- OpenSSL::safe::output_do_not_edit_headers(); -}
3
4=head1 NAME
5
6openssl-fipsinstall - perform FIPS configuration installation
7
8=head1 SYNOPSIS
9
10B<openssl fipsinstall>
11[B<-help>]
12[B<-in> I<configfilename>]
13[B<-out> I<configfilename>]
14[B<-module> I<modulefilename>]
15[B<-provider_name> I<providername>]
16[B<-section_name> I<sectionname>]
17[B<-verify>]
18[B<-mac_name> I<macname>]
19[B<-macopt> I<nm>:I<v>]
20[B<-noout>]
21[B<-quiet>]
22[B<-no_conditional_errors>]
23[B<-no_security_checks>]
24[B<-ems_check>]
25[B<-self_test_onload>]
26[B<-self_test_oninstall>]
27[B<-corrupt_desc> I<selftest_description>]
28[B<-corrupt_type> I<selftest_type>]
29[B<-config> I<parent_config>]
30
31=head1 DESCRIPTION
32
33This command is used to generate a FIPS module configuration file.
34This configuration file can be used each time a FIPS module is loaded
35in order to pass data to the FIPS module self tests. The FIPS module always
36verifies its MAC, but optionally only needs to run the KAT's once,
37at installation.
38
39The generated configuration file consists of:
40
41=over 4
42
43=item - A MAC of the FIPS module file.
44
45=item - A test status indicator.
46
47This indicates if the Known Answer Self Tests (KAT's) have successfully run.
48
49=item - A MAC of the status indicator.
50
51=item - A control for conditional self tests errors.
52
53By default if a continuous test (e.g a key pair test) fails then the FIPS module
54will enter an error state, and no services or cryptographic algorithms will be
55able to be accessed after this point.
56The default value of '1' will cause the fips module error state to be entered.
57If the value is '0' then the module error state will not be entered.
58Regardless of whether the error state is entered or not, the current operation
59(e.g. key generation) will return an error. The user is responsible for retrying
60the operation if the module error state is not entered.
61
62=item - A control to indicate whether run-time security checks are done.
63
64This indicates if run-time checks related to enforcement of security parameters
65such as minimum security strength of keys and approved curve names are used.
66The default value of '1' will perform the checks.
67If the value is '0' the checks are not performed and FIPS compliance must
68be done by procedures documented in the relevant Security Policy.
69
70=back
71
72This file is described in L<fips_config(5)>.
73
74=head1 OPTIONS
75
76=over 4
77
78=item B<-help>
79
80Print a usage message.
81
82=item B<-module> I<filename>
83
84Filename of the FIPS module to perform an integrity check on.
85The path provided in the filename is used to load the module when it is
86activated, and this overrides the environment variable B<OPENSSL_MODULES>.
87
88=item B<-out> I<configfilename>
89
90Filename to output the configuration data to; the default is standard output.
91
92=item B<-in> I<configfilename>
93
94Input filename to load configuration data from.
95Must be used if the B<-verify> option is specified.
96
97=item B<-verify>
98
99Verify that the input configuration file contains the correct information.
100
101=item B<-provider_name> I<providername>
102
103Name of the provider inside the configuration file.
104The default value is C<fips>.
105
106=item B<-section_name> I<sectionname>
107
108Name of the section inside the configuration file.
109The default value is C<fips_sect>.
110
111=item B<-mac_name> I<name>
112
113Specifies the name of a supported MAC algorithm which will be used.
114The MAC mechanisms that are available will depend on the options
115used when building OpenSSL.
116To see the list of supported MAC's use the command
117C<openssl list -mac-algorithms>. The default is B<HMAC>.
118
119=item B<-macopt> I<nm>:I<v>
120
121Passes options to the MAC algorithm.
122A comprehensive list of controls can be found in the EVP_MAC implementation
123documentation.
124Common control strings used for this command are:
125
126=over 4
127
128=item B<key>:I<string>
129
130Specifies the MAC key as an alphanumeric string (use if the key contains
131printable characters only).
132The string length must conform to any restrictions of the MAC algorithm.
133A key must be specified for every MAC algorithm.
134If no key is provided, the default that was specified when OpenSSL was
135configured is used.
136
137=item B<hexkey>:I<string>
138
139Specifies the MAC key in hexadecimal form (two hex digits per byte).
140The key length must conform to any restrictions of the MAC algorithm.
141A key must be specified for every MAC algorithm.
142If no key is provided, the default that was specified when OpenSSL was
143configured is used.
144
145=item B<digest>:I<string>
146
147Used by HMAC as an alphanumeric string (use if the key contains printable
148characters only).
149The string length must conform to any restrictions of the MAC algorithm.
150To see the list of supported digests, use the command
151C<openssl list -digest-commands>.
152The default digest is SHA-256.
153
154=back
155
156=item B<-noout>
157
158Disable logging of the self tests.
159
160=item B<-no_conditional_errors>
161
162Configure the module to not enter an error state if a conditional self test
163fails as described above.
164
165=item B<-no_security_checks>
166
167Configure the module to not perform run-time security checks as described above.
168
169Enabling the configuration option "no-fips-securitychecks" provides another way to
170turn off the check at compile time.
171
172=item B<-ems_check>
173
174Configure the module to enable a run-time Extended Master Secret (EMS) check
175when using the TLS1_PRF KDF algorithm. This check is disabled by default.
176See RFC 7627 for information related to EMS.
177
178=item B<-self_test_onload>
179
180Do not write the two fields related to the "test status indicator" and
181"MAC status indicator" to the output configuration file. Without these fields
182the self tests KATS will run each time the module is loaded. This option could be
183used for cross compiling, since the self tests need to run at least once on each
184target machine. Once the self tests have run on the target machine the user
185could possibly then add the 2 fields into the configuration using some other
186mechanism.
187
188This is the default.
189
190=item B<-self_test_oninstall>
191
192The converse of B<-self_test_oninstall>. The two fields related to the
193"test status indicator" and "MAC status indicator" are written to the
194output configuration file.
195
196=item B<-quiet>
197
198Do not output pass/fail messages. Implies B<-noout>.
199
200=item B<-corrupt_desc> I<selftest_description>,
201B<-corrupt_type> I<selftest_type>
202
203The corrupt options can be used to test failure of one or more self tests by
204name.
205Either option or both may be used to select the tests to corrupt.
206Refer to the entries for B<st-desc> and B<st-type> in L<OSSL_PROVIDER-FIPS(7)> for
207values that can be used.
208
209=item B<-config> I<parent_config>
210
211Test that a FIPS provider can be loaded from the specified configuration file.
212A previous call to this application needs to generate the extra configuration
213data that is included by the base C<parent_config> configuration file.
214See L<config(5)> for further information on how to set up a provider section.
215All other options are ignored if '-config' is used.
216
217=back
218
219=head1 NOTES
220
221Self tests results are logged by default if the options B<-quiet> and B<-noout>
222are not specified, or if either of the options B<-corrupt_desc> or
223B<-corrupt_type> are used.
224If the base configuration file is set up to autoload the fips module, then the
225fips module will be loaded and self tested BEFORE the fipsinstall application
226has a chance to set up its own self test callback. As a result of this the self
227test output and the options B<-corrupt_desc> and B<-corrupt_type> will be ignored.
228For normal usage the base configuration file should use the default provider
229when generating the fips configuration file.
230
231The B<-self_test_oninstall> option was added and the
232B<-self_test_onload> option was made the default in OpenSSL 3.1.
233
234The command and all remaining options were added in OpenSSL 3.0.
235
236=head1 EXAMPLES
237
238Calculate the mac of a FIPS module F<fips.so> and run a FIPS self test
239for the module, and save the F<fips.cnf> configuration file:
240
241 openssl fipsinstall -module ./fips.so -out fips.cnf -provider_name fips
242
243Verify that the configuration file F<fips.cnf> contains the correct info:
244
245 openssl fipsinstall -module ./fips.so -in fips.cnf -provider_name fips -verify
246
247Corrupt any self tests which have the description C<SHA1>:
248
249 openssl fipsinstall -module ./fips.so -out fips.cnf -provider_name fips \
250 -corrupt_desc 'SHA1'
251
252Validate that the fips module can be loaded from a base configuration file:
253
254 export OPENSSL_CONF_INCLUDE=<path of configuration files>
255 export OPENSSL_MODULES=<provider-path>
256 openssl fipsinstall -config' 'default.cnf'
257
258
259=head1 SEE ALSO
260
261L<config(5)>,
262L<fips_config(5)>,
263L<OSSL_PROVIDER-FIPS(7)>,
264L<EVP_MAC(3)>
265
266=head1 COPYRIGHT
267
268Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
269
270Licensed under the Apache License 2.0 (the "License"). You may not use
271this file except in compliance with the License. You can obtain a copy
272in the file LICENSE in the source distribution or at
273L<https://www.openssl.org/source/license.html>.
274
275=cut
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette