1999
2017
Ericsson AB, All Rights Reserved
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
The Initial Developer of the Original Code is Ericsson AB.
crypto
crypto_app.sgml
crypto
The Crypto Application
The purpose of the Crypto application is to provide an Erlang API
to cryptographic functions, see crypto(3).
Note that the API is on a fairly low level and there are some
corresponding API functions available in public_key(3),
on a higher abstraction level, that uses the crypto application in its implementation.
DEPENDENCIES
The current crypto implementation uses nifs to interface
OpenSSLs crypto library and may work with limited functionality
with as old versions as OpenSSL 0.9.8c.
FIPS mode support requires at least
version 1.0.1 and a FIPS capable OpenSSL installation. We recommend using a
version that is officially supported by the OpenSSL project. API compatible backends like
LibreSSL should also work.
Source releases of OpenSSL can be downloaded from the OpenSSL project home page,
or mirror sites listed there.
CONFIGURATION
The following configuration parameters are defined for the
crypto application. See app(3) for more information about
configuration parameters.
fips_mode = boolean()
-
Specifies whether to run crypto in FIPS mode. This setting
will take effect when the nif module is loaded. If FIPS mode
is requested but not available at run time the nif module and
thus the crypto module will fail to load. This mechanism
prevents the accidental use of non-validated algorithms.