putty-cac icon indicating copy to clipboard operation
putty-cac copied to clipboard

support for OpenSSH's certificate system

Open 4bo opened this issue 2 years ago • 2 comments

As of version 0.78, putty supports OpenSSH's certificate system (in PuTTY Configuration, from Connection -> SSH -> Auth -> Credentials -> Certificate to use with the privatekey). Is there any way to use this kind of cert while corresponding private key is stored in an HSM?

4bo avatar Dec 08 '22 09:12 4bo

I don’t see a clear path to implementation give how unique the OpenSSH certificates are. Curious if anyone else has input.

NoMoreFood avatar Jan 10 '23 01:01 NoMoreFood

I got putty-cac 0.78 to work with openssh certs, at least for CAPI certs (tested with a PIV-I card), so it may just work the same with PKCS certs (HSM via PKCS11).

  1. Create a new putty session
  2. Set the remote hostname, default username in usual locations
  3. In Connection -> SSH -> Auth -> Credentials -> Certificate to use with the privatekey set the openssh cert corresponding to the key you want to use
  4. In `Connection -> SSH -> Certificate -> Set CAPI Cert (Set PKCS Cert) in your case
  5. Open your connection

I think this is fine when working with directly with putty.exe, but it won't work when using plink and pageant. The next step would be to add a way in pageant to associate a key with an openssh cert in a persistent way and let putty use it in the same way as putty.exe does. Eventually perhaps even take the openssh cert directly from a SAN value (type uri, value of urn:example:{base64 encoded cert} or something) or a custom extension in the X509 certificate matching the key, either in CAPI or in the HSM (find by label with object type certificate)

gamringer avatar Jan 20 '23 03:01 gamringer