Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for SHA256 fingerprint #23

Open
mvdkleijn opened this issue Oct 19, 2016 · 4 comments
Open

Support for SHA256 fingerprint #23

mvdkleijn opened this issue Oct 19, 2016 · 4 comments

Comments

@mvdkleijn
Copy link

Would it be possible to support SHA256 fingerprints in the config? The latest Ubuntu LTS release defaults to SHA256 fingerprints.

I realize that I can list the MD5 fingerprint, but its annoying and I'd like to banish md5 from everything if possible.

@bobveznat
Copy link
Member

Yes. I actually have a branch somewhere that does this. The code quickly got more complicated than I liked when I tried to seamlessly support both the legacy md5 format and the newer prefixed format. Knowing what I know now I can probably redo this reasonably easily. So, yes, I can likely add support for this with backwards compatibility for both older versions of openssh and existing installations of ssh-cert-authority that still use the md5 format.

@pieterbreed
Copy link

I am also interested in this feature. In the meantime, what do you suggest as a work-around?

@bobveznat
Copy link
Member

tl;dr The workaround is to use -E md5 and strip the MD5 prefix from the output.

I'll bring a little context to the picture here. There are three places where these fingerprints matter: the client (requester) configuration, signer configuration and the server configuration.

For the requester side you no longer are required to use a fingerprint. Instead you can specify the filename of your key using PublicKeyPath. I realize now that USAGE.rst is out of date as it only shows the filename option. I've patched up the file to recommend simply using the path option and that has been pushed.

For the signer, for some reason, I only support fingerprints and on the server, because we don't have the full public key, we only support fingerprints. In both cases the fingerprint must be legacy MD5. To get this fingerprint you can use the -E md5 option to most openssh commands. For example, you might:

$ ssh-keygen -l -f ~/.ssh/bvanzant-yubikey-pkcs11.pub -E md5 2048 MD5:77:f4:fe:59:f5:1b:94:39:cb:27:75:ad:f4:0e:1e:ed no comment (RSA)

The output of that command is still invalid from an ssh-cert-authority perspective. You need to strip the MD5: prefix from the fingerprint.

@mvdkleijn
Copy link
Author

What is the status for this item? Still in the planning or superseded by something else?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants