Blame doc/man7/ossl_store-file.pod

Packit c4476c
=pod
Packit c4476c
Packit c4476c
=begin comment
Packit c4476c
Packit c4476c
This is a recommended way to describe OSSL_STORE loaders,
Packit c4476c
"ossl_store-{name}", where {name} is replaced with the name of the
Packit c4476c
scheme it implements, in man section 7.
Packit c4476c
Packit c4476c
=end comment
Packit c4476c
Packit c4476c
=head1 NAME
Packit c4476c
Packit c4476c
ossl_store-file - The store 'file' scheme loader
Packit c4476c
Packit c4476c
=head1 SYNOPSIS
Packit c4476c
Packit c4476c
=for comment generic
Packit c4476c
Packit c4476c
#include <openssl/store.h>
Packit c4476c
Packit c4476c
=head1 DESCRIPTION
Packit c4476c
Packit c4476c
Support for the 'file' scheme is built into C<libcrypto>.
Packit c4476c
Since files come in all kinds of formats and content types, the 'file'
Packit c4476c
scheme has its own layer of functionality called "file handlers",
Packit c4476c
which are used to try to decode diverse types of file contents.
Packit c4476c
Packit c4476c
In case a file is formatted as PEM, each called file handler receives
Packit c4476c
the PEM name (everything following any 'C<-----BEGIN >') as well as
Packit c4476c
possible PEM headers, together with the decoded PEM body.  Since PEM
Packit c4476c
formatted files can contain more than one object, the file handlers
Packit c4476c
are called upon for each such object.
Packit c4476c
Packit c4476c
If the file isn't determined to be formatted as PEM, the content is
Packit c4476c
loaded in raw form in its entirety and passed to the available file
Packit c4476c
handlers as is, with no PEM name or headers.
Packit c4476c
Packit c4476c
Each file handler is expected to handle PEM and non-PEM content as
Packit c4476c
appropriate.  Some may refuse non-PEM content for the sake of
Packit c4476c
determinism (for example, there are keys out in the wild that are
Packit c4476c
represented as an ASN.1 OCTET STRING.  In raw form, it's not easily
Packit c4476c
possible to distinguish those from any other data coming as an ASN.1
Packit c4476c
OCTET STRING, so such keys would naturally be accepted as PEM files
Packit c4476c
only).
Packit c4476c
Packit c4476c
=head1 NOTES
Packit c4476c
Packit c4476c
When needed, the 'file' scheme loader will require a pass phrase by
Packit c4476c
using the C<UI_METHOD> that was passed via OSSL_STORE_open().
Packit c4476c
This pass phrase is expected to be UTF-8 encoded, anything else will
Packit c4476c
give an undefined result.
Packit c4476c
The files made accessible through this loader are expected to be
Packit c4476c
standard compliant with regards to pass phrase encoding.
Packit c4476c
Files that aren't should be re-generated with a correctly encoded pass
Packit c4476c
phrase.
Packit c4476c
See L<passphrase-encoding(7)> for more information.
Packit c4476c
Packit c4476c
=head1 SEE ALSO
Packit c4476c
Packit c4476c
L<ossl_store(7)>, L<passphrase-encoding(7)>
Packit c4476c
Packit c4476c
=head1 COPYRIGHT
Packit c4476c
Packit c4476c
Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.
Packit c4476c
Packit c4476c
Licensed under the OpenSSL license (the "License").  You may not use
Packit c4476c
this file except in compliance with the License.  You can obtain a copy
Packit c4476c
in the file LICENSE in the source distribution or at
Packit c4476c
L<https://www.openssl.org/source/license.html>.
Packit c4476c
Packit c4476c
=cut