Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Conversation

@fmeum
Copy link
Member

@fmeum fmeum commented Aug 5, 2020

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring
  • Dependency updates

📜 Description

Introduces an SSHJ backend for OpenKeychain authentication based on coroutines. This allows us to finally get rid of the Jsch dependency and also brings support for modern public key types.

💡 Motivation and Context

💚 How did you test it?

I can connect via an OpenKeychain ed25519 key, but will test this more thoroughly once sshj 0.30.0 is released.

📝 Checklist

  • I formatted the code with the IDE's reformat action (Ctrl + Shift + L/Cmd + Shift + L)
  • I reviewed submitted code
  • I added a CHANGELOG entry if applicable

🔮 Next steps

Changelog entry and follow-up PR that removes Jsch.

📸 Screenshots / GIFs

msfjarvis
msfjarvis previously approved these changes Aug 5, 2020
Copy link
Member

@msfjarvis msfjarvis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, couple nits here and there.

fmeum added 2 commits August 17, 2020 18:18
Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types
and bugfixes related to RSA certificates and Android Keystore backed
keys.

Along the way, this improves the algorithm preferences to be consistent
with the Mozilla Intermediate SSH configuration (as far as possible,
given that most certificate types and some encryption algorithms are
not yet supported).

We also add "ext-info-c" to the kex algorithm proposal to work around
certain kinds of "user agent sniffing" that limits the support of
rsa-sha2-* key types.
@fmeum fmeum force-pushed the feature/sshj_openkeychain branch from 9bb2726 to 703bc13 Compare August 17, 2020 18:59
@fmeum
Copy link
Member Author

fmeum commented Aug 17, 2020

I just pushed an updated version. The switch away from the Git config string will be included in a different PR.

@fmeum fmeum added ready and removed in progress labels Aug 17, 2020
* develop:
  Update sshj to 0.30.0 and improve algorithm order (#1026)

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
@msfjarvis msfjarvis self-requested a review August 17, 2020 20:01
@msfjarvis msfjarvis added the code label Aug 17, 2020
msfjarvis
msfjarvis previously approved these changes Aug 17, 2020
Copy link
Member

@msfjarvis msfjarvis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, minor stylistic comments

@fmeum
Copy link
Member Author

fmeum commented Aug 18, 2020

Thanks for the review, I hope that I addressed everything appropriately.

Copy link
Member

@msfjarvis msfjarvis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks solid, great job!

@msfjarvis
Copy link
Member

@FabianHenneke should we just release 1.11.0 early and get the ball rolling on 1.12.0? We don't have anything new happening that can be part of this month's release so might as well just get it over with.

@fmeum
Copy link
Member Author

fmeum commented Aug 18, 2020

Sounds good to me!

* develop:
  build: prepare next development version
  build: bump version
  Prepare release 1.11.0
@msfjarvis msfjarvis marked this pull request as ready for review August 18, 2020 17:55
@msfjarvis msfjarvis requested a review from Skrilltrax as a code owner August 18, 2020 17:55
@fmeum
Copy link
Member Author

fmeum commented Aug 18, 2020

Tested the PR with an RSA key on a Yubikey and am ed25519 key in software.

@fmeum fmeum merged commit 152d86e into develop Aug 18, 2020
@fmeum fmeum deleted the feature/sshj_openkeychain branch August 18, 2020 20:02
@fmeum
Copy link
Member Author

fmeum commented Sep 4, 2020

I'll just leave this here as a note: Using ed25519 keys on security tokens for SSH authentication leads to exceptions being thrown within OpenKeychain. I don't think we are at fault here, but I will try to get this fixed upstream if I ever figure out why it doesn't work.

@msfjarvis
Copy link
Member

I'll just leave this here as a note: Using ed25519 keys on security tokens for SSH authentication leads to exceptions being thrown within OpenKeychain. I don't think we are at fault here, but I will try to get this fixed upstream if I ever figure out why it doesn't work.

OpenKeychain's maintainers have demonstrated radio silence for months now and seem to have moved over to working solely on Hagrid so I don't think we'll ever get anything fixed upstream.

@fmeum
Copy link
Member Author

fmeum commented Sep 4, 2020

I'll just leave this here as a note: Using ed25519 keys on security tokens for SSH authentication leads to exceptions being thrown within OpenKeychain. I don't think we are at fault here, but I will try to get this fixed upstream if I ever figure out why it doesn't work.

OpenKeychain's maintainers have demonstrated radio silence for months now and seem to have moved over to working solely on Hagrid so I don't think we'll ever get anything fixed upstream.

My strategy would be to fix it myself and then rely on personal connections to get this merged. Will see whether this pans out though.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants