|
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
|