Marco Ricci commited on 2024-09-21 12:10:20
Zeige 2 geänderte Dateien mit 209 Einfügungen und 6 Löschungen.
Add the necessary protocol numbers to the `SSH_AGENT` and `SSH_AGENTC` enums, and the necessary `private_key_blob` data to the `tests.SUPPORTED_KEYS` and `tests.UNSUITABLE_KEYS` objects. This suffices for key uploads without constraints, but adding a key *with* constraints still requires knowledge about the encoding of the constraints in the agent protocol.
... | ... |
@@ -179,11 +179,20 @@ class SSH_AGENTC(enum.Enum): # noqa: N801 |
179 | 179 |
List identities. Expecting `SSH_AGENT.IDENTITIES_ANSWER`. |
180 | 180 |
SIGN_REQUEST: |
181 | 181 |
Sign data. Expecting `SSH_AGENT.SIGN_RESPONSE`. |
182 |
+ ADD_IDENTITY: |
|
183 |
+ Add an (SSH2) identity. |
|
184 |
+ REMOVE_IDENTITY: |
|
185 |
+ Remove an (SSH2) identity. |
|
186 |
+ ADD_ID_CONSTRAINED: |
|
187 |
+ Add an (SSH2) identity, including key constraints. |
|
182 | 188 |
|
183 | 189 |
""" |
184 | 190 |
|
185 | 191 |
REQUEST_IDENTITIES: int = 11 |
186 | 192 |
SIGN_REQUEST: int = 13 |
193 |
+ ADD_IDENTITY: int = 17 |
|
194 |
+ REMOVE_IDENTITY: int = 18 |
|
195 |
+ ADD_ID_CONSTRAINED: int = 25 |
|
187 | 196 |
|
188 | 197 |
|
189 | 198 |
class SSH_AGENT(enum.Enum): # noqa: N801 |
... | ... |
@@ -25,10 +25,11 @@ if TYPE_CHECKING: |
25 | 25 |
from collections.abc import Iterator, Mapping |
26 | 26 |
|
27 | 27 |
import click.testing |
28 |
- from typing_extensions import Any, TypedDict |
|
28 |
+ from typing_extensions import Any, NotRequired, TypedDict |
|
29 | 29 |
|
30 | 30 |
class SSHTestKey(TypedDict): |
31 | 31 |
private_key: bytes |
32 |
+ private_key_blob: NotRequired[bytes] |
|
32 | 33 |
public_key: bytes | str |
33 | 34 |
public_key_data: bytes |
34 | 35 |
expected_signature: bytes | None |
... | ... |
@@ -45,6 +46,19 @@ AAAEAbM/A869nkWZbe2tp3Dm/L6gitvmpH/aRZt8sBII3ExYF4gWgm1gJIXw//Mkhv5MEw |
45 | 46 |
idwcakUGCekJD/vCEml2AAAAG3Rlc3Qga2V5IHdpdGhvdXQgcGFzc3BocmFzZQEC |
46 | 47 |
-----END OPENSSH PRIVATE KEY----- |
47 | 48 |
""", |
49 |
+ 'private_key_blob': bytes.fromhex(""" |
|
50 |
+ 00 00 00 0b 73 73 68 2d 65 64 32 35 35 31 39 |
|
51 |
+ 00 00 00 20 |
|
52 |
+ 81 78 81 68 26 d6 02 48 5f 0f ff 32 48 6f e4 c1 |
|
53 |
+ 30 89 dc 1c 6a 45 06 09 e9 09 0f fb c2 12 69 76 |
|
54 |
+ 00 00 00 40 |
|
55 |
+ 1b 33 f0 3c eb d9 e4 59 96 de da da 77 0e 6f cb |
|
56 |
+ ea 08 ad be 6a 47 fd a4 59 b7 cb 01 20 8d c4 c5 |
|
57 |
+ 81 78 81 68 26 d6 02 48 5f 0f ff 32 48 6f e4 c1 |
|
58 |
+ 30 89 dc 1c 6a 45 06 09 e9 09 0f fb c2 12 69 76 |
|
59 |
+ 00 00 00 1b 74 65 73 74 20 6b 65 79 20 77 69 74 |
|
60 |
+ 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
|
61 |
+"""), |
|
48 | 62 |
'public_key': rb"""ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIF4gWgm1gJIXw//Mkhv5MEwidwcakUGCekJD/vCEml2 test key without passphrase |
49 | 63 |
""", # noqa: E501 |
50 | 64 |
'public_key_data': bytes.fromhex(""" |
... | ... |
@@ -77,15 +91,31 @@ GUbErWQ4AUO9mYLTzHJHc2m4s+yWzP29Cc3EcxizLG8AAAAAG3Rlc3Qga2V5IHdp |
77 | 91 |
dGhvdXQgcGFzc3BocmFzZQECAwQFBgcICQ== |
78 | 92 |
-----END OPENSSH PRIVATE KEY----- |
79 | 93 |
""", |
94 |
+ 'private_key_blob': bytes.fromhex(""" |
|
95 |
+ 00 00 00 09 73 73 68 2d 65 64 34 34 38 |
|
96 |
+ 00 00 00 39 e2 f6 72 d3 4f 56 bb cc 04 |
|
97 |
+ c6 3b c4 6f 78 6a b4 bc f5 18 ef fe 77 9b e6 19 |
|
98 |
+ 46 c4 ad 64 38 01 43 bd 99 82 d3 cc 72 47 73 69 |
|
99 |
+ b8 b3 ec 96 cc fd bd 09 cd c4 73 18 b3 2c 6f 00 |
|
100 |
+ 00 00 00 72 33 b1 |
|
101 |
+ 88 31 1b d6 24 1d d8 0f a4 88 a4 01 76 ba e7 57 |
|
102 |
+ e2 8c d9 7b 45 fd d7 bc 0f c2 20 6b b3 7e f7 f5 |
|
103 |
+ 33 35 9f de 0d 89 be a1 af 11 8d 98 29 36 88 14 |
|
104 |
+ 03 7b 62 80 2c f8 00 e2 f6 72 d3 4f 56 bb cc 04 |
|
105 |
+ c6 3b c4 6f 78 6a b4 bc f5 18 ef fe 77 9b e6 19 |
|
106 |
+ 46 c4 ad 64 38 01 43 bd 99 82 d3 cc 72 47 73 69 |
|
107 |
+ b8 b3 ec 96 cc fd bd 09 cd c4 73 18 b3 2c 6f 00 |
|
108 |
+ 00 00 00 1b 74 65 73 74 20 6b 65 79 20 77 69 |
|
109 |
+ 74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
|
110 |
+"""), |
|
80 | 111 |
'public_key': rb"""ssh-ed448 AAAACXNzaC1lZDQ0OAAAADni9nLTT1a7zATGO8RveGq0vPUY7/53m+YZRsStZDgBQ72ZgtPMckdzabiz7JbM/b0JzcRzGLMsbwA= test key without passphrase |
81 | 112 |
""", # noqa: E501 |
82 | 113 |
'public_key_data': bytes.fromhex(""" |
83 | 114 |
00 00 00 09 73 73 68 2d 65 64 34 34 38 |
84 |
- 00 00 00 39 |
|
85 |
- e2 f6 72 d3 4f 56 bb cc 04 c6 3b c4 6f 78 6a b4 |
|
86 |
- bc f5 18 ef fe 77 9b e6 19 46 c4 ad 64 38 01 43 |
|
87 |
- bd 99 82 d3 cc 72 47 73 69 b8 b3 ec 96 cc fd bd |
|
88 |
- 09 cd c4 73 18 b3 2c 6f 00 |
|
115 |
+ 00 00 00 39 e2 f6 72 d3 4f 56 bb cc 04 |
|
116 |
+ c6 3b c4 6f 78 6a b4 bc f5 18 ef fe 77 9b e6 19 |
|
117 |
+ 46 c4 ad 64 38 01 43 bd 99 82 d3 cc 72 47 73 69 |
|
118 |
+ b8 b3 ec 96 cc fd bd 09 cd c4 73 18 b3 2c 6f 00 |
|
89 | 119 |
"""), |
90 | 120 |
'expected_signature': bytes.fromhex(""" |
91 | 121 |
00 00 00 09 73 73 68 2d 65 64 34 34 38 |
... | ... |
@@ -140,6 +170,101 @@ btBNdMEJJp7ifucYmoYAAwE7K+VlWagDEK2y8Mte9y9E+N0uO2j+h85sQt/UIb2iE/vhcg |
140 | 170 |
Bgp6142WnSCQAAABt0ZXN0IGtleSB3aXRob3V0IHBhc3NwaHJhc2UB |
141 | 171 |
-----END OPENSSH PRIVATE KEY----- |
142 | 172 |
""", |
173 |
+ 'private_key_blob': bytes.fromhex(""" |
|
174 |
+ 00 00 00 07 73 73 68 2d 72 73 61 |
|
175 |
+ 00 00 01 81 00 |
|
176 |
+ b1 a1 ee e9 7b 38 71 5b 2e 0d 23 49 94 c0 aa a0 |
|
177 |
+ f5 60 98 38 04 be 22 3c 4d f5 e6 1c aa 97 dc 99 |
|
178 |
+ 08 a8 8d cb b2 f5 7b 22 37 fc 58 27 53 bd e1 2a |
|
179 |
+ ec 29 2e 66 12 26 b6 c4 79 d8 03 84 54 0a 14 f2 |
|
180 |
+ 60 d7 0c da fe 9c 9e 70 50 fc df d5 42 1a 46 30 |
|
181 |
+ de d2 57 17 5b 84 a5 17 4d 61 42 c1 b8 c1 80 ee |
|
182 |
+ ab 1b 21 c1 e9 6b 68 1f cb dd ed 33 84 3e df 8d |
|
183 |
+ 81 c5 f0 86 c5 b2 a1 a5 14 75 84 c0 eb 65 7e 18 |
|
184 |
+ 5f 6f 12 6c 4c 68 2e 2e 6e 00 f3 f8 1d 10 90 f9 |
|
185 |
+ da b9 2a 0d c6 69 21 70 87 b4 96 c2 cd 6f 5a 42 |
|
186 |
+ 95 9c b3 f3 c3 c3 9c a5 c2 5f f7 74 1e e3 7f 1c |
|
187 |
+ 9f ac 6c f8 3b 74 2b ce ca a1 58 4b 22 a7 de e6 |
|
188 |
+ 3a 6c 25 ea a0 87 6e af 15 f3 1f 73 bb cf 43 fc |
|
189 |
+ 7f 9b 1b 98 a3 ab 18 62 8d b8 dc 55 45 b7 95 97 |
|
190 |
+ f0 ff de e0 cb d2 7a ac 6d f5 1c d6 ab e4 7f 06 |
|
191 |
+ c9 c2 d3 17 0b 82 15 ea 43 99 31 29 36 04 0b 2a |
|
192 |
+ 87 bc 78 f2 04 3e ae 16 1e 11 54 a2 f0 5d c2 5a |
|
193 |
+ ce 07 25 0a 2a ac 6b 7b 2b d6 b7 98 24 a5 30 11 |
|
194 |
+ cf ef 4b b7 c3 a3 04 ed eb a6 a2 bc b1 95 4a 1f |
|
195 |
+ 7b 04 dd d7 b6 44 93 37 57 d3 c9 76 66 52 b3 66 |
|
196 |
+ fc 10 52 b7 3e c5 06 76 53 0f 33 da 67 d6 e9 38 |
|
197 |
+ b8 82 2d 29 60 66 a2 83 b2 9e e0 fc 2e 5e 9a 3f |
|
198 |
+ 0b 96 00 59 f7 97 c9 cb 2f 25 9d ae 69 84 63 31 |
|
199 |
+ d6 5e 24 63 40 9c 72 d4 18 b9 01 b1 cc 39 68 8f |
|
200 |
+ 00 00 00 03 01 00 01 |
|
201 |
+ 00 00 01 7f |
|
202 |
+ 70 d5 58 4f e3 a6 e3 1f 7e 48 8b 5c cf 96 ce |
|
203 |
+ 07 21 88 3a 3c 96 50 7f 1f f6 b4 63 9e be 48 2e |
|
204 |
+ ec 1a 6c 80 e0 bc 56 95 1b ec 4c d4 ed 61 58 00 |
|
205 |
+ ea cc c9 d2 11 c9 27 1d 19 13 60 4b 2a 60 fc a4 |
|
206 |
+ 02 dc 45 be 33 85 12 1e f4 ea a4 54 27 e7 d5 66 |
|
207 |
+ 4a 91 18 46 88 de 85 b2 58 a4 ce 85 c0 88 60 89 |
|
208 |
+ ad 38 db db d0 b3 af fc 74 36 1f 60 17 0a 87 aa |
|
209 |
+ 8d 24 f5 aa bf f1 4a e9 63 06 d7 01 f2 ec 31 b3 |
|
210 |
+ 71 2a 68 ed 72 53 b4 28 66 90 dc 31 7f 69 94 7e |
|
211 |
+ d1 99 cf 67 35 f6 5c 82 b9 e4 b4 f9 36 75 e5 f6 |
|
212 |
+ f9 8f c0 e6 dc dd 56 01 b5 21 ea 98 a7 a0 81 30 |
|
213 |
+ b3 4c ba 12 f4 38 f7 43 7a 18 01 a0 3b a3 c7 ea |
|
214 |
+ e1 91 9d 60 a6 8d 70 71 42 c8 33 de 0d 2f b5 52 |
|
215 |
+ 1c 13 d7 d0 b8 21 f5 3f b7 8f 51 d5 3f e6 27 30 |
|
216 |
+ 0b e1 7c eb df 72 d2 e5 6c 9d 3a f9 36 06 44 03 |
|
217 |
+ 2e 17 62 cf 08 06 4c fe 6d 05 13 20 2e ad 18 16 |
|
218 |
+ c4 08 cb 5e 6f b8 92 9d 86 00 95 e5 c3 cd 9d 78 |
|
219 |
+ 39 10 f8 ff 1c 1c d4 fa b3 d6 47 47 96 12 cb 79 |
|
220 |
+ 69 67 7e 79 f7 86 4c 38 b4 7c 2a a5 6f 86 02 46 |
|
221 |
+ 17 a8 bd d3 5f 41 88 5f 75 48 3c 63 13 eb 29 e9 |
|
222 |
+ d3 46 7c df 16 fb ae 2d 1d d0 ef d9 ad 0c b2 8f |
|
223 |
+ bc 42 3c b1 ee c4 e9 8b ef 84 8c b5 3c 23 2e f7 |
|
224 |
+ fd ee 01 f2 a6 d7 33 28 5e c8 0f d4 51 f8 0c b4 |
|
225 |
+ d2 92 86 1e ac 2e 5a c3 f6 1d 92 9b d4 45 4e e1 |
|
226 |
+ 00 00 00 c0 |
|
227 |
+ 26 1d ee ed 67 e7 8e 18 4a 65 86 c0 5b 84 ec 3c |
|
228 |
+ d5 c3 32 b0 74 fe de f1 c8 04 20 16 69 28 ec 97 |
|
229 |
+ c4 4b 2a c9 48 b8 35 70 ef 90 30 e8 83 80 3e f3 |
|
230 |
+ b9 0f 51 4a 93 48 29 d3 ec 9c 89 da e6 97 a1 f7 |
|
231 |
+ bf 66 56 36 f6 1e 09 e2 92 3c 89 10 29 81 a4 b7 |
|
232 |
+ 70 64 a8 57 ec c9 c8 be 02 b0 e6 59 d0 5c 76 e8 |
|
233 |
+ 12 d5 82 6b 53 79 f2 5e df b2 bc f0 6e 2f 69 15 |
|
234 |
+ 4b 94 a7 d7 52 85 73 5f 7e 69 54 0a 30 d1 b1 52 |
|
235 |
+ db 2b 90 ba fa 26 88 43 20 96 15 82 bc 99 ce 9d |
|
236 |
+ a4 d9 08 a0 f2 9f f9 78 3e 10 90 88 15 0a 08 4e |
|
237 |
+ a7 ae df 41 9c d7 e3 3e 7d d6 5c da 08 6a d1 be |
|
238 |
+ 97 2e d8 61 fe e1 c4 af 2f 1b eb c3 39 2a 09 4c |
|
239 |
+ 00 00 00 c1 00 |
|
240 |
+ f0 d6 2f 88 75 cb cf 57 fd ee fe af 4e fe 4c cb |
|
241 |
+ a4 a3 b7 b5 b4 fc f6 c7 35 ce 18 d9 b0 33 63 0c |
|
242 |
+ 01 a5 b8 da fa 9f 7f 22 ab f5 d8 45 9b bb 51 32 |
|
243 |
+ fd 04 6f 84 80 55 5f 21 45 7b 5e c6 13 e5 ef 81 |
|
244 |
+ 3d fd 77 55 2f 78 af 36 7b 99 a0 ac 3a 55 0b 5f |
|
245 |
+ e5 5d 30 ed b3 06 e7 07 22 87 9c f5 15 25 45 9a |
|
246 |
+ df 07 6d 41 d9 6e d8 18 c8 5b a6 86 b9 94 dd e5 |
|
247 |
+ 28 94 3b 69 f1 e8 75 76 54 32 9d 1c 4c 56 ce 99 |
|
248 |
+ bc c9 81 2c ce db f3 44 ec 18 55 c2 6b dc 53 34 |
|
249 |
+ c3 24 63 0c 2a ec 41 3b ac 3d f5 82 83 29 12 a6 |
|
250 |
+ d0 f3 4b 14 3c f6 ea b5 a6 f4 b7 4d 4b 63 15 7d |
|
251 |
+ 5b 8f 31 3a 73 4f 6e 87 40 6e 29 15 a8 1e ab d7 |
|
252 |
+ 00 00 00 c1 00 |
|
253 |
+ bc d1 05 77 59 17 c9 1b 48 16 b9 31 35 01 55 34 |
|
254 |
+ f3 80 a4 26 d4 2e fb da 02 7c 4f 4d 43 24 45 d9 |
|
255 |
+ b1 5b 4e bf b9 94 0b 5f e6 fd bc ba 1e 4e 2d 3f |
|
256 |
+ 2b c3 06 e1 a3 f6 11 ea e0 de dd 3e a1 ae b4 76 |
|
257 |
+ f5 ab 99 f4 00 3b a8 42 34 56 ec 15 f0 e5 0b c2 |
|
258 |
+ d8 40 03 f7 5c 5e c5 da 2b 20 0e 41 81 75 3e aa |
|
259 |
+ 5b 41 ab 3c c1 57 35 6d 17 bf a3 39 93 a3 7f 33 |
|
260 |
+ a5 69 35 fd 23 92 39 bd ec 9e 4d a4 f1 66 3d 57 |
|
261 |
+ 5d 4c e2 6e d0 4d 74 c1 09 26 9e e2 7e e7 18 9a |
|
262 |
+ 86 00 03 01 3b 2b e5 65 59 a8 03 10 ad b2 f0 cb |
|
263 |
+ 5e f7 2f 44 f8 dd 2e 3b 68 fe 87 ce 6c 42 df d4 |
|
264 |
+ 21 bd a2 13 fb e1 72 00 60 a7 ad 78 d9 69 d2 09 |
|
265 |
+ 00 00 00 1b 74 65 73 74 20 6b 65 79 20 77 69 |
|
266 |
+ 74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
|
267 |
+"""), |
|
143 | 268 |
'public_key': rb"""ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCxoe7pezhxWy4NI0mUwKqg9WCYOAS+IjxN9eYcqpfcmQiojcuy9XsiN/xYJ1O94SrsKS5mEia2xHnYA4RUChTyYNcM2v6cnnBQ/N/VQhpGMN7SVxdbhKUXTWFCwbjBgO6rGyHB6WtoH8vd7TOEPt+NgcXwhsWyoaUUdYTA62V+GF9vEmxMaC4ubgDz+B0QkPnauSoNxmkhcIe0lsLNb1pClZyz88PDnKXCX/d0HuN/HJ+sbPg7dCvOyqFYSyKn3uY6bCXqoIdurxXzH3O7z0P8f5sbmKOrGGKNuNxVRbeVl/D/3uDL0nqsbfUc1qvkfwbJwtMXC4IV6kOZMSk2BAsqh7x48gQ+rhYeEVSi8F3CWs4HJQoqrGt7K9a3mCSlMBHP70u3w6ME7eumoryxlUofewTd17ZEkzdX08l2ZlKzZvwQUrc+xQZ2Uw8z2mfW6Ti4gi0pYGaig7Ke4PwuXpo/C5YAWfeXycsvJZ2uaYRjMdZeJGNAnHLUGLkBscw5aI8= test key without passphrase |
144 | 269 |
""", # noqa: E501 |
145 | 270 |
'public_key_data': bytes.fromhex(""" |
... | ... |
@@ -227,6 +352,42 @@ u7HfrQhdOiKSa+ZO9AAojbURqrLDRfBJa5dXn2AAAAFQDJHfenj4EJ9WkehpdJatPBlqCW |
227 | 352 |
0gAAABt0ZXN0IGtleSB3aXRob3V0IHBhc3NwaHJhc2UBAgMEBQYH |
228 | 353 |
-----END OPENSSH PRIVATE KEY----- |
229 | 354 |
""", |
355 |
+ 'private_key_blob': bytes.fromhex(""" |
|
356 |
+ 00 00 00 07 73 73 68 2d 64 73 73 |
|
357 |
+ 00 00 00 81 00 |
|
358 |
+ bb 28 06 57 a8 11 8d 54 b0 50 3e b7 0c 60 0a 0d |
|
359 |
+ 5b 9e 01 84 3f 1a 22 17 bb 04 35 98 cc 97 2c 68 |
|
360 |
+ cb 7b d9 52 92 92 0b 99 f3 e5 d1 ee 74 5a d0 2f |
|
361 |
+ d9 b0 18 be b8 9a 74 76 9c 72 f5 93 13 39 65 f8 |
|
362 |
+ bb 96 0f 31 e4 1c 5c 47 46 13 16 48 7e 29 86 a9 |
|
363 |
+ 23 80 b3 2e 9f 0a 57 76 21 f2 59 25 91 31 70 29 |
|
364 |
+ a1 7b d4 ac 8e c7 77 61 20 0f 25 19 6e 39 71 50 |
|
365 |
+ 73 de 4c 66 84 79 84 cc 25 20 30 fc 43 3a c4 ed |
|
366 |
+ 00 00 00 15 00 f7 d9 ce 64 |
|
367 |
+ e8 1d ed a1 cc 54 6a 17 a5 41 01 72 7e c7 a2 cb |
|
368 |
+ 00 00 00 80 |
|
369 |
+ 2e bd 80 83 78 71 33 7a ca 77 1c d5 53 0f 1f 5f |
|
370 |
+ 45 55 3d 73 be df e2 ab f2 11 9e d0 a7 3f ec dc |
|
371 |
+ 15 68 15 4b d4 64 3c 7d e9 c1 b9 6c a7 a4 05 1b |
|
372 |
+ 1f 4c 28 de 1d 70 90 1f fc 85 7e a9 f9 2f 1c 9e |
|
373 |
+ ee 6b 20 19 54 b9 53 70 2f 0f db 21 8a 21 2b df |
|
374 |
+ 0b 7e a4 d8 2b f5 7e 83 a2 83 fb c9 b7 e3 0b c4 |
|
375 |
+ 89 76 66 ab 2c 18 e7 89 f6 6e 4b 1c 87 53 6a be |
|
376 |
+ 3f ed 36 92 f3 13 14 b1 fd 74 b4 91 23 35 6a 28 |
|
377 |
+ 00 00 00 80 |
|
378 |
+ 6d 03 51 3d c5 44 b8 60 eb 11 c7 fe c6 0e 6d 80 |
|
379 |
+ 07 a3 3d 70 4f 5e bf c9 b2 cf 82 86 4e b8 92 6d |
|
380 |
+ e6 8a b3 18 8c 05 b2 59 8b 55 72 04 fe ee 13 98 |
|
381 |
+ c6 d6 11 8a 7f 0b c8 c2 ea 29 19 aa 6b 44 39 52 |
|
382 |
+ bb c3 7c 28 60 2e 1b ec 1b d6 12 6f f3 29 c3 9a |
|
383 |
+ a6 f0 f8 87 49 a7 f0 86 46 b3 fe d7 b7 fb c8 4a |
|
384 |
+ a2 0a a8 7b bb 1d fa d0 85 d3 a2 29 26 be 64 ef |
|
385 |
+ 40 02 88 db 51 1a ab 2c 34 5f 04 96 b9 75 79 f6 |
|
386 |
+ 00 00 00 15 00 c9 1d f7 a7 |
|
387 |
+ 8f 81 09 f5 69 1e 86 97 49 6a d3 c1 96 a0 96 d2 |
|
388 |
+ 00 00 00 1b 74 65 73 74 20 6b 65 79 20 77 69 |
|
389 |
+ 74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
|
390 |
+"""), |
|
230 | 391 |
'public_key': rb"""ssh-dss AAAAB3NzaC1kc3MAAACBALsoBleoEY1UsFA+twxgCg1bngGEPxoiF7sENZjMlyxoy3vZUpKSC5nz5dHudFrQL9mwGL64mnR2nHL1kxM5Zfi7lg8x5BxcR0YTFkh+KYapI4CzLp8KV3Yh8lklkTFwKaF71KyOx3dhIA8lGW45cVBz3kxmhHmEzCUgMPxDOsTtAAAAFQD32c5k6B3tocxUahelQQFyfseiywAAAIAuvYCDeHEzesp3HNVTDx9fRVU9c77f4qvyEZ7Qpz/s3BVoFUvUZDx96cG5bKekBRsfTCjeHXCQH/yFfqn5Lxye7msgGVS5U3AvD9shiiEr3wt+pNgr9X6DooP7ybfjC8SJdmarLBjnifZuSxyHU2q+P+02kvMTFLH9dLSRIzVqKAAAAIBtA1E9xUS4YOsRx/7GDm2AB6M9cE9ev8myz4KGTriSbeaKsxiMBbJZi1VyBP7uE5jG1hGKfwvIwuopGaprRDlSu8N8KGAuG+wb1hJv8ynDmqbw+IdJp/CGRrP+17f7yEqiCqh7ux360IXToikmvmTvQAKI21Eaqyw0XwSWuXV59g== test key without passphrase |
231 | 392 |
""", # noqa: E501 |
232 | 393 |
'public_key_data': bytes.fromhex(""" |
... | ... |
@@ -275,6 +436,21 @@ oAAAAhAKIl/3n0pKVIxpZkXTGtii782Qr4yIcvHdpxjO/QsIqKAAAAG3Rlc3Qga2V5IHdp |
275 | 436 |
dGhvdXQgcGFzc3BocmFzZQECAwQ= |
276 | 437 |
-----END OPENSSH PRIVATE KEY----- |
277 | 438 |
""", |
439 |
+ 'private_key_blob': bytes.fromhex(""" |
|
440 |
+ 00 00 00 13 65 63 64 |
|
441 |
+ 73 61 2d 73 68 61 32 2d 6e 69 73 74 70 32 35 36 |
|
442 |
+ 00 00 00 08 6e 69 73 74 70 32 35 36 |
|
443 |
+ 00 00 00 41 04 |
|
444 |
+ cb 6d 4d 33 0f 0b 24 d8 3b e9 f9 56 08 ae c3 55 |
|
445 |
+ 7f 98 16 c3 3d 92 dd 26 7c 4d bc 62 41 19 29 9c |
|
446 |
+ 64 95 ab 22 28 1c 93 89 73 e3 50 22 d0 1a ef 19 |
|
447 |
+ 49 ff c6 7a 81 fc f9 ed 9d da a5 49 1a 30 99 ba |
|
448 |
+ 00 00 00 21 00 |
|
449 |
+ a2 25 ff 79 f4 a4 a5 48 c6 96 64 5d 31 ad 8a 2e |
|
450 |
+ fc d9 0a f8 c8 87 2f 1d da 71 8c ef d0 b0 8a 8a |
|
451 |
+ 00 00 00 1b 74 65 73 74 20 6b 65 79 20 77 69 |
|
452 |
+ 74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
|
453 |
+"""), |
|
278 | 454 |
'public_key': rb"""ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMttTTMPCyTYO+n5Vgiuw1V/mBbDPZLdJnxNvGJBGSmcZJWrIigck4lz41Ai0BrvGUn/xnqB/PntndqlSRowmbo= test key without passphrase |
279 | 455 |
""", # noqa: E501 |
280 | 456 |
'public_key_data': bytes.fromhex(""" |
... | ... |
@@ -302,6 +478,24 @@ JAu0J3Q+cypZuKQVAAAAMQD5sTy8p+B1cn/DhOmXquui1BcxvASqzzevkBlbQoBa73y04B |
302 | 478 |
2OdqVOVRkwZWRROz0AAAAbdGVzdCBrZXkgd2l0aG91dCBwYXNzcGhyYXNlAQIDBA== |
303 | 479 |
-----END OPENSSH PRIVATE KEY----- |
304 | 480 |
""", |
481 |
+ 'private_key_blob': bytes.fromhex(""" |
|
482 |
+ 00 00 00 13 65 63 64 |
|
483 |
+ 73 61 2d 73 68 61 32 2d 6e 69 73 74 70 33 38 34 |
|
484 |
+ 00 00 00 08 6e 69 73 74 70 33 38 34 |
|
485 |
+ 00 00 00 61 04 |
|
486 |
+ a0 90 e8 e4 02 fa bb bf 9b c7 ba 3d ca 04 be 3f |
|
487 |
+ 10 05 9c 9f 98 59 0f 22 9c 6f 25 74 78 13 06 16 |
|
488 |
+ ae e1 29 74 25 66 a2 1a 84 b5 6a 78 c4 74 42 a9 |
|
489 |
+ a4 c4 d2 76 ae 5c b6 54 77 17 9d ea b7 bd 9f bd |
|
490 |
+ 7c 8b 16 08 e7 58 93 95 8f dc d6 4f ce ff 75 d5 |
|
491 |
+ 79 fb c1 b1 24 0b b4 27 74 3e 73 2a 59 b8 a4 15 |
|
492 |
+ 00 00 00 31 00 |
|
493 |
+ f9 b1 3c bc a7 e0 75 72 7f c3 84 e9 97 aa eb a2 |
|
494 |
+ d4 17 31 bc 04 aa cf 37 af 90 19 5b 42 80 5a ef |
|
495 |
+ 7c b4 e0 1d 8e 76 a5 4e 55 19 30 65 64 51 3b 3d |
|
496 |
+ 00 00 00 1b 74 65 73 74 20 6b 65 79 20 77 69 |
|
497 |
+ 74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
|
498 |
+"""), |
|
305 | 499 |
'public_key': rb"""ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBKCQ6OQC+ru/m8e6PcoEvj8QBZyfmFkPIpxvJXR4EwYWruEpdCVmohqEtWp4xHRCqaTE0nauXLZUdxed6re9n718ixYI51iTlY/c1k/O/3XVefvBsSQLtCd0PnMqWbikFQ== test key without passphrase |
306 | 500 |
""", # noqa: E501 |
307 | 501 |
'public_key_data': bytes.fromhex(""" |
308 | 502 |