[ 
https://issues.apache.org/jira/browse/SSHD-708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16718592#comment-16718592
 ] 

Thomas Wolf commented on SSHD-708:
----------------------------------

This would have need a review.
 * Thanks for the attribution, but it wouldn't have been necessary. Most of the 
code I had written is not in that commit anyway but in the parent commit.
 * It would have helped if you had created your own PR for this. Now it's 
rather difficult for me to comment on this. :(
 * It's *broken*. 
[MAX_ROUNDS|https://github.com/apache/mina-sshd/blob/master/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/kdf/BCryptKdfOptions.java#L58]
 is wrong. OpenSSH does *not* store an exponent for the rounds but the number 
of rounds. I even had a comment in my code pointing this out. The code as is 
will fail to decode a key generated with {{ssh-keygen -t ed25519 -a 33}}. 
Besides, I don't understand the comment about "doubling". What doubles?
 * I very much like the addition of tests for the password-provider re-try loop.
 * Setting local variables to {{null}} at the end of methods doesn't improve 
"getting rid of sensitive data", does it? For arrays, yes, but if a password 
comes in as a String, there's not much one can do.
 * 
[bcryptKdf|https://github.com/apache/mina-sshd/blob/master/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/kdf/BCryptKdfOptions.java#L192]
 doesn't throw any checked exceptions. The [catch block you added 
above|https://github.com/apache/mina-sshd/blob/master/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/kdf/BCryptKdfOptions.java#L167]
 should actually be inside {{bcryptKdf}}, and it should not handle 
{{IOException}} (never thrown there), only {{GeneralSecurityException}}. This 
should simply be as in my PR.
 * Otherwise it's very hard to review this because the code has changed very 
much, has become IMO needlessly general and complicated, and the individual 
commits include unrelated formatting changes.

> Add support for password encrypted OpenSSH private key files
> ------------------------------------------------------------
>
>                 Key: SSHD-708
>                 URL: https://issues.apache.org/jira/browse/SSHD-708
>             Project: MINA SSHD
>          Issue Type: Improvement
>    Affects Versions: 1.4.0
>            Reporter: Goldstein Lyor
>            Assignee: Goldstein Lyor
>            Priority: Minor
>             Fix For: 2.1.1
>
>
> The current code supports only reading un-encrypted private key files



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to