Marco Ricci commited on 2025-08-03 22:02:08
Zeige 6 geänderte Dateien mit 181 Einfügungen und 41 Löschungen.
... | ... |
@@ -179,3 +179,27 @@ code.doc-symbol-module::after { |
179 | 179 |
color: inherit; |
180 | 180 |
border-bottom: 1px dotted currentcolor; |
181 | 181 |
} |
182 |
+ |
|
183 |
+/* Source code blocks (admonitions). */ |
|
184 |
+:root { |
|
185 |
+ --md-admonition-icon--mkdocstrings-source: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.22 4.97a.75.75 0 0 1 1.06 0l6.5 6.5a.75.75 0 0 1 0 1.06l-6.5 6.5a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L21.19 12l-5.97-5.97a.75.75 0 0 1 0-1.06m-6.44 0a.75.75 0 0 1 0 1.06L2.81 12l5.97 5.97a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215l-6.5-6.5a.75.75 0 0 1 0-1.06l6.5-6.5a.75.75 0 0 1 1.06 0"/></svg>') |
|
186 |
+} |
|
187 |
+.md-typeset .admonition.mkdocstrings-source, |
|
188 |
+.md-typeset details.mkdocstrings-source { |
|
189 |
+ border: none; |
|
190 |
+ padding: 0; |
|
191 |
+} |
|
192 |
+.md-typeset .admonition.mkdocstrings-source:focus-within, |
|
193 |
+.md-typeset details.mkdocstrings-source:focus-within { |
|
194 |
+ box-shadow: none; |
|
195 |
+} |
|
196 |
+.md-typeset .mkdocstrings-source > .admonition-title, |
|
197 |
+.md-typeset .mkdocstrings-source > summary { |
|
198 |
+ background-color: inherit; |
|
199 |
+} |
|
200 |
+.md-typeset .mkdocstrings-source > .admonition-title::before, |
|
201 |
+.md-typeset .mkdocstrings-source > summary::before { |
|
202 |
+ background-color: var(--md-default-fg-color); |
|
203 |
+ -webkit-mask-image: var(--md-admonition-icon--mkdocstrings-source); |
|
204 |
+ mask-image: var(--md-admonition-icon--mkdocstrings-source); |
|
205 |
+} |
... | ... |
@@ -2851,7 +2851,7 @@ |
2851 | 2851 |
|
2852 | 2852 |
<div class="doc doc-contents "> |
2853 | 2853 |
|
2854 |
- <p>A [<code>TypeVar</code>][] for classes implementing the [<code>Buffer</code>][] interface.</p> |
|
2854 |
+ <p>A <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar"><code>TypeVar</code></a> for classes implementing the <a class="autorefs autorefs-external" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Buffer"><code>Buffer</code></a> interface.</p> |
|
2855 | 2855 |
|
2856 | 2856 |
|
2857 | 2857 |
<details class="warning" open> |
... | ... |
@@ -4181,7 +4187,13 @@ the JSON value that was cleaned up.</p> |
4181 | 4187 |
<td> |
4182 | 4188 |
<div class="doc-md-description"> |
4183 | 4189 |
<p>List identities. Expecting |
4184 |
-[<code>SSH_AGENT.IDENTITIES_ANSWER</code>][].</p> |
|
4190 |
+<a class="autorefs autorefs-internal" title=" IDENTITIES_ANSWER |
|
4191 |
+ |
|
4192 |
+ |
|
4193 |
+ |
|
4194 |
+ class-attribute |
|
4195 |
+ instance-attribute |
|
4196 |
+ " href="#derivepassphrase._types.SSH_AGENT.IDENTITIES_ANSWER"><code>SSH_AGENT.IDENTITIES_ANSWER</code></a>.</p> |
|
4185 | 4197 |
</div> |
4186 | 4198 |
</td> |
4187 | 4199 |
</tr> |
... | ... |
@@ -4198,7 +4210,13 @@ the JSON value that was cleaned up.</p> |
4198 | 4210 |
</td> |
4199 | 4211 |
<td> |
4200 | 4212 |
<div class="doc-md-description"> |
4201 |
- <p>Sign data. Expecting [<code>SSH_AGENT.SIGN_RESPONSE</code>][].</p> |
|
4213 |
+ <p>Sign data. Expecting <a class="autorefs autorefs-internal" title=" SIGN_RESPONSE |
|
4214 |
+ |
|
4215 |
+ |
|
4216 |
+ |
|
4217 |
+ class-attribute |
|
4218 |
+ instance-attribute |
|
4219 |
+ " href="#derivepassphrase._types.SSH_AGENT.SIGN_RESPONSE"><code>SSH_AGENT.SIGN_RESPONSE</code></a>.</p> |
|
4202 | 4220 |
</div> |
4203 | 4221 |
</td> |
4204 | 4222 |
</tr> |
... | ... |
@@ -4267,9 +4285,27 @@ the JSON value that was cleaned up.</p> |
4267 | 4285 |
<td> |
4268 | 4286 |
<div class="doc-md-description"> |
4269 | 4287 |
<p>Issue a named request that isn’t part of the core agent |
4270 |
-protocol. Expecting [<code>SSH_AGENT.EXTENSION_RESPONSE</code>][] or |
|
4271 |
-[<code>SSH_AGENT.EXTENSION_FAILURE</code>][] if the named request is |
|
4272 |
-supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p> |
|
4288 |
+protocol. Expecting <a class="autorefs autorefs-internal" title=" EXTENSION_RESPONSE |
|
4289 |
+ |
|
4290 |
+ |
|
4291 |
+ |
|
4292 |
+ class-attribute |
|
4293 |
+ instance-attribute |
|
4294 |
+ " href="#derivepassphrase._types.SSH_AGENT.EXTENSION_RESPONSE"><code>SSH_AGENT.EXTENSION_RESPONSE</code></a> or |
|
4295 |
+<a class="autorefs autorefs-internal" title=" EXTENSION_FAILURE |
|
4296 |
+ |
|
4297 |
+ |
|
4298 |
+ |
|
4299 |
+ class-attribute |
|
4300 |
+ instance-attribute |
|
4301 |
+ " href="#derivepassphrase._types.SSH_AGENT.EXTENSION_FAILURE"><code>SSH_AGENT.EXTENSION_FAILURE</code></a> if the named request is |
|
4302 |
+supported, <a class="autorefs autorefs-internal" title=" FAILURE |
|
4303 |
+ |
|
4304 |
+ |
|
4305 |
+ |
|
4306 |
+ class-attribute |
|
4307 |
+ instance-attribute |
|
4308 |
+ " href="#derivepassphrase._types.SSH_AGENT.FAILURE"><code>SSH_AGENT.FAILURE</code></a> otherwise.</p> |
|
4273 | 4309 |
</div> |
4274 | 4310 |
</td> |
4275 | 4311 |
</tr> |
... | ... |
@@ -4529,7 +4566,13 @@ supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p> |
4529 | 4566 |
</td> |
4530 | 4567 |
<td> |
4531 | 4568 |
<div class="doc-md-description"> |
4532 |
- <p>Successful answer to [<code>SSH_AGENTC.REQUEST_IDENTITIES</code>][].</p> |
|
4569 |
+ <p>Successful answer to <a class="autorefs autorefs-internal" title=" REQUEST_IDENTITIES |
|
4570 |
+ |
|
4571 |
+ |
|
4572 |
+ |
|
4573 |
+ class-attribute |
|
4574 |
+ instance-attribute |
|
4575 |
+ " href="#derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES"><code>SSH_AGENTC.REQUEST_IDENTITIES</code></a>.</p> |
|
4533 | 4576 |
</div> |
4534 | 4577 |
</td> |
4535 | 4578 |
</tr> |
... | ... |
@@ -4546,7 +4589,13 @@ supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p> |
4546 | 4589 |
</td> |
4547 | 4590 |
<td> |
4548 | 4591 |
<div class="doc-md-description"> |
4549 |
- <p>Successful answer to [<code>SSH_AGENTC.SIGN_REQUEST</code>][].</p> |
|
4592 |
+ <p>Successful answer to <a class="autorefs autorefs-internal" title=" SIGN_REQUEST |
|
4593 |
+ |
|
4594 |
+ |
|
4595 |
+ |
|
4596 |
+ class-attribute |
|
4597 |
+ instance-attribute |
|
4598 |
+ " href="#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST"><code>SSH_AGENTC.SIGN_REQUEST</code></a>.</p> |
|
4550 | 4599 |
</div> |
4551 | 4600 |
</td> |
4552 | 4601 |
</tr> |
... | ... |
@@ -4563,7 +4612,13 @@ supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p> |
4563 | 4612 |
</td> |
4564 | 4613 |
<td> |
4565 | 4614 |
<div class="doc-md-description"> |
4566 |
- <p>Unsuccessful answer to [<code>SSH_AGENTC.EXTENSION</code>][].</p> |
|
4615 |
+ <p>Unsuccessful answer to <a class="autorefs autorefs-internal" title=" EXTENSION |
|
4616 |
+ |
|
4617 |
+ |
|
4618 |
+ |
|
4619 |
+ class-attribute |
|
4620 |
+ instance-attribute |
|
4621 |
+ " href="#derivepassphrase._types.SSH_AGENTC.EXTENSION"><code>SSH_AGENTC.EXTENSION</code></a>.</p> |
|
4567 | 4622 |
</div> |
4568 | 4623 |
</td> |
4569 | 4624 |
</tr> |
... | ... |
@@ -4580,7 +4635,13 @@ supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p> |
4580 | 4635 |
</td> |
4581 | 4636 |
<td> |
4582 | 4637 |
<div class="doc-md-description"> |
4583 |
- <p>Successful answer to [<code>SSH_AGENTC.EXTENSION</code>][].</p> |
|
4638 |
+ <p>Successful answer to <a class="autorefs autorefs-internal" title=" EXTENSION |
|
4639 |
+ |
|
4640 |
+ |
|
4641 |
+ |
|
4642 |
+ class-attribute |
|
4643 |
+ instance-attribute |
|
4644 |
+ " href="#derivepassphrase._types.SSH_AGENTC.EXTENSION"><code>SSH_AGENTC.EXTENSION</code></a>.</p> |
|
4584 | 4645 |
</div> |
4585 | 4646 |
</td> |
4586 | 4647 |
</tr> |
... | ... |
@@ -6319,7 +6388,7 @@ check for <a class="autorefs autorefs-external" href="https://docs.python.org/3/ |
6319 | 6388 |
<p>Needed for compatibility with vault(1), which sometimes uses only |
6320 | 6389 |
truthiness checks.</p> |
6321 | 6390 |
<p>If vault(1) considered <code>obj</code> to be valid, then after clean up, |
6322 |
-<code>obj</code> will be valid as per [<code>validate_vault_config</code>][].</p> |
|
6391 |
+<code>obj</code> will be valid as per <a class="autorefs autorefs-internal" title=" validate_vault_config" href="#derivepassphrase._types.validate_vault_config"><code>validate_vault_config</code></a>.</p> |
|
6323 | 6392 |
|
6324 | 6393 |
|
6325 | 6394 |
<p><span class="doc-section-title">Parameters:</span></p> |
... | ... |
@@ -2375,7 +2377,7 @@ |
2375 | 2377 |
<td> |
2376 | 2378 |
<div class="doc-md-description"> |
2377 | 2379 |
<p>The path to the vault configuration file or directory. |
2378 |
-If not given, then query [<code>get_vault_path</code>][] for the |
|
2380 |
+If not given, then query <a class="autorefs autorefs-internal" title=" get_vault_path" href="#derivepassphrase.exporter.get_vault_path"><code>get_vault_path</code></a> for the |
|
2379 | 2381 |
correct value.</p> |
2380 | 2382 |
</div> |
2381 | 2383 |
</td> |
... | ... |
@@ -2395,7 +2397,7 @@ correct value.</p> |
2395 | 2397 |
<p>Encryption key/password for the configuration file or |
2396 | 2398 |
directory, usually the username, or passed via the |
2397 | 2399 |
<code>VAULT_KEY</code> environment variable. If not given, then |
2398 |
-query [<code>get_vault_key</code>][] for the value.</p> |
|
2400 |
+query <a class="autorefs autorefs-internal" title=" get_vault_key" href="#derivepassphrase.exporter.get_vault_key"><code>get_vault_key</code></a> for the value.</p> |
|
2399 | 2401 |
</div> |
2400 | 2402 |
</td> |
2401 | 2403 |
<td> |
... | ... |
@@ -2770,7 +2772,7 @@ manually to the correct value.</p> |
2770 | 2772 |
<div class="doc doc-contents "> |
2771 | 2773 |
|
2772 | 2774 |
<p>Export the full vault-native configuration stored in <code>path</code>.</p> |
2773 |
-<p>See [<code>ExportVaultConfigDataFunction</code>][] for an explanation of the |
|
2775 |
+<p>See <a class="autorefs autorefs-internal" title=" ExportVaultConfigDataFunction" href="#derivepassphrase.exporter.ExportVaultConfigDataFunction"><code>ExportVaultConfigDataFunction</code></a> for an explanation of the |
|
2774 | 2776 |
call signature, and the exceptions to expect.</p> |
2775 | 2777 |
|
2776 | 2778 |
|
... | ... |
@@ -2806,7 +2808,7 @@ slots) and provides an impure quasi-filesystem interface. Each hash |
2806 | 2808 |
table entry is separately encrypted and authenticated. James Coglan |
2807 | 2809 |
designed this format to avoid concurrent write issues when updating or |
2808 | 2810 |
synchronizing the vault configuration with e.g. a cloud service.</p> |
2809 |
-<p>The public interface is the [<code>export_storeroom_data</code>][] function. |
|
2811 |
+<p>The public interface is the <a class="autorefs autorefs-internal" title=" export_storeroom_data" href="#derivepassphrase.exporter.storeroom.export_storeroom_data"><code>export_storeroom_data</code></a> function. |
|
2810 | 2812 |
Multiple <em>non-public</em> functions are additionally documented here for |
2811 | 2813 |
didactical and educational reasons, but they are not part of the module |
2812 | 2814 |
API, are subject to change without notice (including removal), and |
... | ... |
@@ -2849,7 +2851,7 @@ should <em>not</em> be used or relied on.</p> |
2849 | 2851 |
<div class="doc doc-contents "> |
2850 | 2852 |
|
2851 | 2853 |
<p>Export the full configuration stored in the storeroom.</p> |
2852 |
-<p>See [<code>exporter.ExportVaultConfigDataFunction</code>][] for an explanation |
|
2854 |
+<p>See <a class="autorefs autorefs-internal" title=" ExportVaultConfigDataFunction" href="#derivepassphrase.exporter.ExportVaultConfigDataFunction"><code>exporter.ExportVaultConfigDataFunction</code></a> for an explanation |
|
2853 | 2855 |
of the call signature, and the exceptions to expect.</p> |
2854 | 2856 |
|
2855 | 2857 |
|
... | ... |
@@ -3061,7 +3063,7 @@ blocksize, in this case, the PKCS7 padding always is <code>b'\x10' * 16</code>.< |
3061 | 3063 |
<div class="doc-md-description"> |
3062 | 3064 |
<p>The encryption and signing keys for the master keys data. |
3063 | 3065 |
These should have previously been derived via the |
3064 |
-[<code>_derive_master_keys_keys</code>][] function.</p> |
|
3066 |
+<a class="autorefs autorefs-internal" title=" _derive_master_keys_keys" href="#derivepassphrase.exporter.storeroom._derive_master_keys_keys"><code>_derive_master_keys_keys</code></a> function.</p> |
|
3065 | 3067 |
</div> |
3066 | 3068 |
</td> |
3067 | 3069 |
<td> |
... | ... |
@@ -3212,7 +3214,7 @@ blocksize, in this case, the PKCS7 padding always is <code>b'\x10' * 16</code>.< |
3212 | 3214 |
<td> |
3213 | 3215 |
<div class="doc-md-description"> |
3214 | 3216 |
<p>The master keys. Presumably these have previously been |
3215 |
-obtained via the [<code>_decrypt_master_keys_data</code>][] function.</p> |
|
3217 |
+obtained via the <a class="autorefs autorefs-internal" title=" _decrypt_master_keys_data" href="#derivepassphrase.exporter.storeroom._decrypt_master_keys_data"><code>_decrypt_master_keys_data</code></a> function.</p> |
|
3216 | 3218 |
</div> |
3217 | 3219 |
</td> |
3218 | 3220 |
<td> |
... | ... |
@@ -3359,7 +3361,7 @@ MAC can be verified before attempting to decrypt the payload.</p> |
3359 | 3361 |
<td> |
3360 | 3362 |
<div class="doc-md-description"> |
3361 | 3363 |
<p>The bucket item’s session keys. Presumably these have |
3362 |
-previously been obtained via the [<code>_decrypt_session_keys</code>][] |
|
3364 |
+previously been obtained via the <a class="autorefs autorefs-internal" title=" _decrypt_session_keys" href="#derivepassphrase.exporter.storeroom._decrypt_session_keys"><code>_decrypt_session_keys</code></a> |
|
3363 | 3365 |
function.</p> |
3364 | 3366 |
</div> |
3365 | 3367 |
</td> |
... | ... |
@@ -3496,7 +3498,7 @@ removal.</p> |
3496 | 3498 |
<td> |
3497 | 3499 |
<div class="doc-md-description"> |
3498 | 3500 |
<p>The master keys. Presumably these have previously been |
3499 |
-obtained via the [<code>_decrypt_master_keys_data</code>][] function.</p> |
|
3501 |
+obtained via the <a class="autorefs autorefs-internal" title=" _decrypt_master_keys_data" href="#derivepassphrase.exporter.storeroom._decrypt_master_keys_data"><code>_decrypt_master_keys_data</code></a> function.</p> |
|
3500 | 3502 |
</div> |
3501 | 3503 |
</td> |
3502 | 3504 |
<td> |
... | ... |
@@ -3635,7 +3637,7 @@ removal.</p> |
3635 | 3637 |
<td> |
3636 | 3638 |
<div class="doc-md-description"> |
3637 | 3639 |
<p>The master keys. Presumably these have previously been |
3638 |
-obtained via the [<code>_decrypt_master_keys_data</code>][] function.</p> |
|
3640 |
+obtained via the <a class="autorefs autorefs-internal" title=" _decrypt_master_keys_data" href="#derivepassphrase.exporter.storeroom._decrypt_master_keys_data"><code>_decrypt_master_keys_data</code></a> function.</p> |
|
3639 | 3641 |
</div> |
3640 | 3642 |
</td> |
3641 | 3643 |
<td> |
... | ... |
@@ -3762,7 +3764,7 @@ structures, so they are <em>not</em> compatible. v0.2 additionally contains |
3762 | 3764 |
cryptographic weaknesses (API misuse of a key derivation function, and |
3763 | 3765 |
a low-entropy method of generating initialization vectors for CBC block |
3764 | 3766 |
encryption mode) and should thus be avoided if possible.</p> |
3765 |
-<p>The public interface is the [<code>export_vault_native_data</code>][] function. |
|
3767 |
+<p>The public interface is the <a class="autorefs autorefs-internal" title=" export_vault_native_data" href="#derivepassphrase.exporter.vault_native.export_vault_native_data"><code>export_vault_native_data</code></a> function. |
|
3766 | 3768 |
Multiple <em>non-public</em> classes are additionally documented here for |
3767 | 3769 |
didactical and educational reasons, but they are not part of the module |
3768 | 3770 |
API, are subject to change without notice (including removal), and |
... | ... |
@@ -3852,7 +3855,7 @@ here.</p> |
3852 | 3855 |
<div class="doc-md-description"> |
3853 | 3856 |
<p>The vault master key/master passphrase the file is |
3854 | 3857 |
encrypted with. Must be non-empty. See |
3855 |
-[<code>exporter.get_vault_key</code>][] for details.</p> |
|
3858 |
+<a class="autorefs autorefs-internal" title=" get_vault_key" href="#derivepassphrase.exporter.get_vault_key"><code>exporter.get_vault_key</code></a> for details.</p> |
|
3856 | 3859 |
<p>If this is a text string, then the UTF-8 encoding of the |
3857 | 3860 |
string is used as the binary password.</p> |
3858 | 3861 |
</div> |
... | ... |
@@ -3989,7 +3992,13 @@ unexpected extra contents, or invalid padding.)</p> |
3989 | 3992 |
<div class="doc doc-contents "> |
3990 | 3993 |
|
3991 | 3994 |
<p>Generate a key from a password.</p> |
3992 |
-<p>Uses PBKDF2 with HMAC-SHA1, with [vault.Vault.UUID][] as a fixed |
|
3995 |
+<p>Uses PBKDF2 with HMAC-SHA1, with <a class="autorefs autorefs-internal" title=" UUID |
|
3996 |
+ |
|
3997 |
+ |
|
3998 |
+ |
|
3999 |
+ class-attribute |
|
4000 |
+ instance-attribute |
|
4001 |
+ " href="../derivepassphrase.vault/#derivepassphrase.vault.Vault.UUID">vault.Vault.UUID</a> as a fixed |
|
3993 | 4002 |
salt value.</p> |
3994 | 4003 |
|
3995 | 4004 |
|
... | ... |
@@ -4156,7 +4165,12 @@ parser.</p> |
4156 | 4165 |
|
4157 | 4166 |
<p>Derive the signing and encryption keys.</p> |
4158 | 4167 |
<p>This is a bookkeeping method. The actual work is done in |
4159 |
-[<code>_generate_keys</code>][].</p> |
|
4168 |
+<a class="autorefs autorefs-internal" title=" _generate_keys |
|
4169 |
+ |
|
4170 |
+ |
|
4171 |
+ |
|
4172 |
+ abstractmethod |
|
4173 |
+ " href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._generate_keys"><code>_generate_keys</code></a>.</p> |
|
4160 | 4174 |
|
4161 | 4175 |
|
4162 | 4176 |
</div> |
... | ... |
@@ -4320,8 +4334,8 @@ version-specific. The default implementation raises an error.</p> |
4320 | 4334 |
<div class="doc doc-contents "> |
4321 | 4335 |
|
4322 | 4336 |
<p>Return the decrypted vault configuration.</p> |
4323 |
-<p>Requires [<code>_parse_contents</code>][] and [<code>_derive_keys</code>][] to have |
|
4324 |
-run, and relies on [<code>_check_signature</code>][] for tampering |
|
4337 |
+<p>Requires <a class="autorefs autorefs-internal" title=" _parse_contents" href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._parse_contents"><code>_parse_contents</code></a> and <a class="autorefs autorefs-internal" title=" _derive_keys" href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._derive_keys"><code>_derive_keys</code></a> to have |
|
4338 |
+run, and relies on <a class="autorefs autorefs-internal" title=" _check_signature" href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._check_signature"><code>_check_signature</code></a> for tampering |
|
4325 | 4339 |
detection.</p> |
4326 | 4340 |
|
4327 | 4341 |
|
... | ... |
@@ -4474,14 +4489,25 @@ strength is half of this value.)</p> |
4474 | 4489 |
|
4475 | 4490 |
<p>Derive the signing and encryption keys, and set the key sizes.</p> |
4476 | 4491 |
<p>Version 0.3 vault configurations use a constant key size; see |
4477 |
-[<code>KEY_SIZE</code>][]. The encryption and signing keys differ in how |
|
4492 |
+<a class="autorefs autorefs-internal" title=" KEY_SIZE |
|
4493 |
+ |
|
4494 |
+ |
|
4495 |
+ |
|
4496 |
+ class-attribute |
|
4497 |
+ instance-attribute |
|
4498 |
+ " href="#derivepassphrase.exporter.vault_native.VaultNativeV03ConfigParser.KEY_SIZE"><code>KEY_SIZE</code></a>. The encryption and signing keys differ in how |
|
4478 | 4499 |
many rounds of PBKDF2 they use (100 and 200, respectively).</p> |
4479 | 4500 |
|
4480 | 4501 |
|
4481 | 4502 |
<details class="danger" open> |
4482 | 4503 |
<summary>Insecure use of cryptography</summary> |
4483 | 4504 |
<p>This function makes use of the insecure function |
4484 |
-[<code>VaultNativeConfigParser._pbkdf2</code>][], without any attempts |
|
4505 |
+<a class="autorefs autorefs-internal" title=" _pbkdf2 |
|
4506 |
+ |
|
4507 |
+ |
|
4508 |
+ |
|
4509 |
+ staticmethod |
|
4510 |
+ " href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._pbkdf2"><code>VaultNativeConfigParser._pbkdf2</code></a>, without any attempts |
|
4485 | 4511 |
at mitigating its insecurity. It further uses <code>_pbkdf2</code> |
4486 | 4512 |
with the low iteration count of 100 and 200 rounds, which is |
4487 | 4513 |
<em>drastically</em> insufficient to defend against password |
... | ... |
@@ -4676,7 +4703,12 @@ iteration count.</p> |
4676 | 4703 |
<details class="danger" open> |
4677 | 4704 |
<summary>Insecure use of cryptography</summary> |
4678 | 4705 |
<p>This function makes use of the insecure function |
4679 |
-[<code>VaultNativeConfigParser._pbkdf2</code>][], without any attempts |
|
4706 |
+<a class="autorefs autorefs-internal" title=" _pbkdf2 |
|
4707 |
+ |
|
4708 |
+ |
|
4709 |
+ |
|
4710 |
+ staticmethod |
|
4711 |
+ " href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._pbkdf2"><code>VaultNativeConfigParser._pbkdf2</code></a>, without any attempts |
|
4680 | 4712 |
at mitigating its insecurity. It further uses <code>_pbkdf2</code> |
4681 | 4713 |
with the low iteration count of 16 rounds, which is |
4682 | 4714 |
<em>drastically</em> insufficient to defend against password |
... | ... |
@@ -4873,7 +4905,7 @@ determined attackers!</p> |
4873 | 4905 |
<div class="doc doc-contents "> |
4874 | 4906 |
|
4875 | 4907 |
<p>Export the full configuration stored in vault native format.</p> |
4876 |
-<p>See [<code>exporter.ExportVaultConfigDataFunction</code>][] for an explanation |
|
4908 |
+<p>See <a class="autorefs autorefs-internal" title=" ExportVaultConfigDataFunction" href="#derivepassphrase.exporter.ExportVaultConfigDataFunction"><code>exporter.ExportVaultConfigDataFunction</code></a> for an explanation |
|
4877 | 4909 |
of the call signature, and the exceptions to expect.</p> |
4878 | 4910 |
|
4879 | 4911 |
|
... | ... |
@@ -1499,7 +1499,7 @@ served. The sequin module is used in Coglan’s “vault” module |
1499 | 1499 |
deterministic, stateless password manager that recomputes passwords |
1500 | 1500 |
instead of storing them), and this reimplementation is used for |
1501 | 1501 |
a similar purpose.</p> |
1502 |
-<p>The main API is the [<code>Sequin</code>][] class, which is thoroughly documented.</p> |
|
1502 |
+<p>The main API is the <a class="autorefs autorefs-internal" title=" Sequin" href="#derivepassphrase.sequin.Sequin"><code>Sequin</code></a> class, which is thoroughly documented.</p> |
|
1503 | 1503 |
|
1504 | 1504 |
|
1505 | 1505 |
|
... | ... |
@@ -1885,8 +1888,20 @@ |
1885 | 1888 |
<p>A bare-bones SSH agent client supporting signing and key listing.</p> |
1886 | 1889 |
<p>The main use case is requesting the agent sign some data, after |
1887 | 1890 |
checking that the necessary key is already loaded.</p> |
1888 |
-<p>The main fleshed out methods are [<code>list_keys</code>][] and [<code>sign</code>][], |
|
1889 |
-which implement the [<code>REQUEST_IDENTITIES</code>][_types.SSH_AGENTC.REQUEST_IDENTITIES] and [<code>SIGN_REQUEST</code>][_types.SSH_AGENTC.SIGN_REQUEST] requests. If you <em>really</em> wanted |
|
1891 |
+<p>The main fleshed out methods are <a class="autorefs autorefs-internal" title=" list_keys" href="#derivepassphrase.ssh_agent.SSHAgentClient.list_keys"><code>list_keys</code></a> and <a class="autorefs autorefs-internal" title=" sign" href="#derivepassphrase.ssh_agent.SSHAgentClient.sign"><code>sign</code></a>, |
|
1892 |
+which implement the <a class="autorefs autorefs-internal" title=" REQUEST_IDENTITIES |
|
1893 |
+ |
|
1894 |
+ |
|
1895 |
+ |
|
1896 |
+ class-attribute |
|
1897 |
+ instance-attribute |
|
1898 |
+ " href="../derivepassphrase._types/#derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES"><code>REQUEST_IDENTITIES</code></a> and <a class="autorefs autorefs-internal" title=" SIGN_REQUEST |
|
1899 |
+ |
|
1900 |
+ |
|
1901 |
+ |
|
1902 |
+ class-attribute |
|
1903 |
+ instance-attribute |
|
1904 |
+ " href="../derivepassphrase._types/#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST"><code>SIGN_REQUEST</code></a> requests. If you <em>really</em> wanted |
|
1890 | 1905 |
to, there is enough infrastructure in place to issue other requests |
1891 | 1906 |
as defined in the protocol—it’s merely the wrapper functions and |
1892 | 1907 |
the protocol numbers table that are missing.</p> |
... | ... |
@@ -3132,7 +3147,7 @@ any of them.</p> |
3132 | 3147 |
<td> |
3133 | 3148 |
<div class="doc-md-description"> |
3134 | 3149 |
<p>The public SSH key to sign the payload with, in the same |
3135 |
-format as returned by, e.g., the [<code>list_keys</code>][] method. |
|
3150 |
+format as returned by, e.g., the <a class="autorefs autorefs-internal" title=" list_keys" href="#derivepassphrase.ssh_agent.SSHAgentClient.list_keys"><code>list_keys</code></a> method. |
|
3136 | 3151 |
The corresponding private key must have previously been |
3137 | 3152 |
loaded into the agent to successfully issue a signature.</p> |
3138 | 3153 |
</div> |
... | ... |
@@ -3186,7 +3201,7 @@ real-world usage is currently implemented.)</p> |
3186 | 3201 |
</td> |
3187 | 3202 |
<td> |
3188 | 3203 |
<div class="doc-md-description"> |
3189 |
- <p>If true, check beforehand (via [<code>list_keys</code>][]) if the |
|
3204 |
+ <p>If true, check beforehand (via <a class="autorefs autorefs-internal" title=" list_keys" href="#derivepassphrase.ssh_agent.SSHAgentClient.list_keys"><code>list_keys</code></a>) if the |
|
3190 | 3205 |
corresponding key has been loaded into the agent.</p> |
3191 | 3206 |
</div> |
3192 | 3207 |
</td> |
... | ... |
@@ -1634,7 +1635,7 @@ kept secret. The implementation is compatible with <a href="https://www.npmjs.c |
1634 | 1635 |
detail</a> in his blog post on said topic: A principally |
1635 | 1636 |
infinite bit stream is obtained by running a key-derivation function |
1636 | 1637 |
on the master passphrase and the service name, then this bit stream |
1637 |
-is fed into a [sequin.Sequin][] to generate random numbers in the |
|
1638 |
+is fed into a <a class="autorefs autorefs-internal" title=" Sequin" href="../derivepassphrase.sequin/#derivepassphrase.sequin.Sequin">sequin.Sequin</a> to generate random numbers in the |
|
1638 | 1639 |
correct range, and finally these random numbers select passphrase |
1639 | 1640 |
characters until the desired length is reached.</p> |
1640 | 1641 |
|
... | ... |
@@ -2003,7 +2004,13 @@ string is used.</p> |
2003 | 2004 |
<td> |
2004 | 2005 |
<div class="doc-md-description"> |
2005 | 2006 |
<p>A vault service name. Will be suffixed with the |
2006 |
-[<code>UUID</code>][], and then used as the salt value for |
|
2007 |
+<a class="autorefs autorefs-internal" title=" UUID |
|
2008 |
+ |
|
2009 |
+ |
|
2010 |
+ |
|
2011 |
+ class-attribute |
|
2012 |
+ instance-attribute |
|
2013 |
+ " href="#derivepassphrase.vault.Vault.UUID"><code>UUID</code></a>, and then used as the salt value for |
|
2007 | 2014 |
PBKDF2. If a string, then the UTF-8 encoding of the |
2008 | 2015 |
string is used.</p> |
2009 | 2016 |
</div> |
... | ... |
@@ -2369,7 +2376,13 @@ restricted to the indicated SSH agent).</p> |
2369 | 2376 |
|
2370 | 2377 |
<p>Obtain the master passphrase from a configured SSH key.</p> |
2371 | 2378 |
<p>vault allows the usage of certain SSH keys to derive a master |
2372 |
-passphrase, by signing the vault [<code>UUID</code>][] with the SSH key. |
|
2379 |
+passphrase, by signing the vault <a class="autorefs autorefs-internal" title=" UUID |
|
2380 |
+ |
|
2381 |
+ |
|
2382 |
+ |
|
2383 |
+ class-attribute |
|
2384 |
+ instance-attribute |
|
2385 |
+ " href="#derivepassphrase.vault.Vault.UUID"><code>UUID</code></a> with the SSH key. |
|
2373 | 2386 |
The key type must ensure that signatures are deterministic |
2374 | 2387 |
(perhaps only in conjunction with the given SSH agent).</p> |
2375 | 2388 |
|
... | ... |
@@ -2411,7 +2424,12 @@ The key type must ensure that signatures are deterministic |
2411 | 2424 |
<td> |
2412 | 2425 |
<div class="doc-md-description"> |
2413 | 2426 |
<p>An optional connection hint to the SSH agent. See |
2414 |
-[<code>ssh_agent.SSHAgentClient.ensure_agent_subcontext</code>][].</p> |
|
2427 |
+<a class="autorefs autorefs-internal" title=" ensure_agent_subcontext |
|
2428 |
+ |
|
2429 |
+ |
|
2430 |
+ |
|
2431 |
+ classmethod |
|
2432 |
+ " href="../derivepassphrase.ssh_agent/#derivepassphrase.ssh_agent.SSHAgentClient.ensure_agent_subcontext"><code>ssh_agent.SSHAgentClient.ensure_agent_subcontext</code></a>.</p> |
|
2415 | 2433 |
</div> |
2416 | 2434 |
</td> |
2417 | 2435 |
<td> |
... | ... |
@@ -2437,7 +2455,13 @@ The key type must ensure that signatures are deterministic |
2437 | 2455 |
</td> |
2438 | 2456 |
<td> |
2439 | 2457 |
<div class="doc-md-description"> |
2440 |
- <p>The signature of the vault [<code>UUID</code>][] under this key, |
|
2458 |
+ <p>The signature of the vault <a class="autorefs autorefs-internal" title=" UUID |
|
2459 |
+ |
|
2460 |
+ |
|
2461 |
+ |
|
2462 |
+ class-attribute |
|
2463 |
+ instance-attribute |
|
2464 |
+ " href="#derivepassphrase.vault.Vault.UUID"><code>UUID</code></a> under this key, |
|
2441 | 2465 |
unframed but encoded in base64.</p> |
2442 | 2466 |
</div> |
2443 | 2467 |
</td> |
2444 | 2468 |