Update OpenSSL-1.1.1-pre8-dev
This commit is contained in:
@@ -47,17 +47,14 @@ only).
|
||||
|
||||
When needed, the 'file' scheme loader will require a pass phrase by
|
||||
using the C<UI_METHOD> that was passed via OSSL_STORE_open().
|
||||
This pass phrase is used as it is, which may present some challenge
|
||||
when the file that's loaded contains a PKCS#12 object.
|
||||
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.
|
||||
|
||||
=begin comment
|
||||
|
||||
The treatment of pass phrases is currently being worked on and may
|
||||
change.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<ossl_store(7)>, L<passphrase-encoding(7)>
|
||||
|
||||
@@ -33,6 +33,13 @@ dynamically from the calling application or from a loadable engine.
|
||||
Support for the 'file' scheme is built into C<libcrypto>.
|
||||
See L<ossl_store-file(7)> for more information.
|
||||
|
||||
=head2 UI_METHOD and pass phrases
|
||||
|
||||
The B<OSS_STORE> API does nothing to enforce any specific format or
|
||||
encoding on the pass phrase that the B<UI_METHOD> provides. However,
|
||||
the pass phrase is expected to be UTF-8 encoded. The result of any
|
||||
other encoding is undefined.
|
||||
|
||||
=head1 EXAMPLES
|
||||
|
||||
=head2 A generic call
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
password encoding
|
||||
passphrase-encoding
|
||||
- How diverse parts of OpenSSL treat pass phrases character encoding
|
||||
|
||||
=head1 DESCRIPTION
|
||||
@@ -61,11 +61,11 @@ OpenSSL still does this, to be able to read files produced with older versions.
|
||||
|
||||
It should be noted that this approach isn't entirely fault free.
|
||||
|
||||
A passphrase encoded in ISO-8859-2 could very well have a sequence such as
|
||||
A pass phrase encoded in ISO-8859-2 could very well have a sequence such as
|
||||
0xC3 0xAF (which is the two characters "LATIN CAPITAL LETTER A WITH BREVE"
|
||||
and "LATIN CAPITAL LETTER Z WITH DOT ABOVE" in ISO-8859-2 encoding), but would
|
||||
be misinterpreted as the perfectly valid UTF-8 encoded code point U+00EF (LATIN
|
||||
SMALL LETTER I WITH DIARESIS) I<if the passphrase doesn't contain anything that
|
||||
SMALL LETTER I WITH DIARESIS) I<if the pass phrase doesn't contain anything that
|
||||
would be invalid UTF-8>.
|
||||
A pass phrase that contains this kind of byte sequence will give a different
|
||||
outcome in OpenSSL 1.1.0 and newer than in OpenSSL older than 1.1.0.
|
||||
@@ -80,13 +80,11 @@ than 1.1.0 was misinterpreted as ISO-8859-1 sequences.
|
||||
|
||||
L<ossl_store(7)> acts as a general interface to access all kinds of objects,
|
||||
potentially protected with a pass phrase, a PIN or something else.
|
||||
This API currently doesn't stipulate any specific encoding of pass phrases, but
|
||||
uses the underlying routines with their behaviours.
|
||||
This means that when using the built-in C<file:> scheme loader, the pass phrase
|
||||
to unlock a PKCS#12 file will be treated as described for PKCS#12 above, and
|
||||
the pass phrase for a PEM files will be treated as the general case described
|
||||
above, since that loader uses the same underlying routines.
|
||||
I<Note that other loaders will have their own behaviours>.
|
||||
This API stipulates that pass phrases should be UTF-8 encoded, and that any
|
||||
other pass phrase encoding may give undefined results.
|
||||
This API relies on the application to ensure UTF-8 encoding, and doesn't check
|
||||
that this is the case, so what it gets, it will also pass to the underlying
|
||||
loader.
|
||||
|
||||
=head1 RECOMMENDATIONS
|
||||
|
||||
@@ -135,7 +133,7 @@ following:
|
||||
|
||||
=item 1.
|
||||
|
||||
Try the password that you have as it is in the character encoding of your
|
||||
Try the pass phrase that you have as it is in the character encoding of your
|
||||
environment.
|
||||
It's possible that its byte sequence is exactly right.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user