mirror of https://github.com/openssl/openssl.git
				
				
				
			
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
=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
 |