Ticket #5496 defect closed fixed
_fromString_PRIVATE_OPENSSH fails with "ValueError: IV must be 8 bytes long"
| Reported by: | amtota | Owned by: | z3p |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | conch | Keywords: | rsa keys |
| Cc: | z3p, teratorn@… | Branch: |
branches/newer-ssh-keys-5496
(diff, github, buildbot, log) |
| Author: | z3p | Launchpad Bug: |
Description
Here is the simplest test case I can come up with (after running ssh-keygen to get a new key):
python -c 'from twisted.conch.ssh import keys;keys.Key.fromFile("id_rsa", passphrase="yourpassphrase")'
Here is the stacktrace I get:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib64/python2.7/site-packages/twisted/conch/ssh/keys.py", line 62, in fromFile
return Class.fromString(file(filename, 'rb').read(), type, passphrase)
File "/usr/lib64/python2.7/site-packages/twisted/conch/ssh/keys.py", line 90, in fromString
return method(data, passphrase)
File "/usr/lib64/python2.7/site-packages/twisted/conch/ssh/keys.py", line 216, in _fromString_PRIVATE_OPENSSH
keyData = DES3.new(decKey, DES3.MODE_CBC, iv).decrypt(b64Data)
ValueError: IV must be 8 bytes long
I have confirmed this bug on Fedora 16, Windows with Twisted versions 11.x and 12.0. I believe this is a regression but it may not be (I haven't downgraded Twisted to verify), I haven't noticed until now because I was using the ssh-agent.. which takes care of providing the decrypted key.
Just in case it needs a special type of key file to trigger it, I will attach the one I have just generated.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

