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