Commit 7855e18ae2f535f7e1b6fa396e298511e66e6f94
1 parent
1bd2a2e7
Add detail about Unicode passwords
Showing
1 changed file
with
13 additions
and
3 deletions
TODO
| ... | ... | @@ -190,9 +190,19 @@ I find it useful to make reference to them in this list |
| 190 | 190 | came from Adobe's example site. |
| 191 | 191 | |
| 192 | 192 | * Consider the possibility of doing something locale-aware to support |
| 193 | - non-ASCII passwords. Update documentation if this is done. | |
| 194 | - Consider implementing full Unicode password algorithms from newer | |
| 195 | - encryption formats. | |
| 193 | + non-ASCII passwords. Update documentation if this is done. Consider | |
| 194 | + implementing full Unicode password algorithms from newer encryption | |
| 195 | + formats. See ../misc/unicode-password*. If code is added to | |
| 196 | + properly encode Unicode passwords, figure out how to deal with | |
| 197 | + backward compatibility. Either require some additional flag to | |
| 198 | + decode the password or provide a `--raw-password` flag to suppress | |
| 199 | + decoding. While automatically encoding breaks backward | |
| 200 | + compatibility, it's probably the right behavior because the current | |
| 201 | + behavior is arguably a bug. Alternatively, if the password doesn't | |
| 202 | + work as a raw password and contains characters outside US-ASCII, | |
| 203 | + try various encoding methods to see if any work. See section | |
| 204 | + 7.6.3.3, algorithms 2 and 2A, in the ISO spec for details. (This is | |
| 205 | + tracked in https://github.com/qpdf/qpdf/issues/215.) | |
| 196 | 206 | |
| 197 | 207 | * See if we can avoid preserving unreferenced objects in object |
| 198 | 208 | streams even when preserving the object streams. | ... | ... |