Twisted trunk@HEAD can do this, via cryptography, although this functionality 
is not yet present in a release:

https://github.com/twisted/twisted/pull/1193 
<https://github.com/twisted/twisted/pull/1193>

I saw your question and remembered doing the code review for this :-).

I would guess we'll have a new release fairly soon (I know the goal is to have 
one out before April).

-glyph

> On Mar 2, 2020, at 10:36 PM, Ron Frederick <r...@timeheart.net> wrote:
> 
> You might want to see if AsyncSSH (https://asyncssh.readthedocs.io 
> <https://asyncssh.readthedocs.io/>) can do what you’re looking for. While its 
> main purpose is to provide an asyncio-compatible SSH client and server, it 
> also had a very complete set of key management functions for reading and 
> writing private/public keys and certificates, reading and writing them in a 
> wide variety of formats and providing functions such as signing and 
> verification with them. You don’t even need to be using asyncio to take 
> advantage of these functions.
> 
> On Mar 2, 2020, at 10:30 PM, Alex Gaynor <alex.gay...@gmail.com 
> <mailto:alex.gay...@gmail.com>> wrote:
>> No, cryptography does not support OpenSSH format private keys. This is not 
>> currently planned.
>> 
>> Alex
>> 
>> On Tue, Mar 3, 2020 at 1:28 AM Lalit Kumar <lalit.hilma...@gmail.com 
>> <mailto:lalit.hilma...@gmail.com>> wrote:
>> Can we retrieve the public key from private key in the new OpenSSH format 
>> like below:
>> 
>> -----BEGIN OPENSSH PRIVATE KEY-----
>> b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
>> NhAAAAAwEAAQAAAQEA2MTxUgEE1y0Mx+nA0SBDRhK2DnNQU4ACS1g8qWwanIJ81q4u1n/8
>> XUdagRSctNyzsMVsGKrPez/T+11rTlc+AKfqrJacz0SxpPi/PAszLQ6ARYESbpAGXlwwjb
>> a0iYXR512mIArg/xNVWZtGHVvGDQEATIWIxOoI4hmGcE9bqHW/me8PvA/cggDKxICa0CLx
>> i+7drR2exNwhYVlw//RTw1raZorVtD1rNyh4YXeX9JfX1E9RXRDaP1zonVwjH3E64hyw4y
>> ARRSSnvaaQPNEmkrZMv37NQNbN/XIj9pdbXq/rBJ0yOIFQrGSYIr+yMThiloD5n/LZeAFr
>> 1rCZsChawQAAA8h+4JwsfuCcLAAAAAdzc2gtcnNhAAABAQDYxPFSAQTXLQzH6cDRIENGEr
>> YOc1BTgAJLWDypbBqcgnzWri7Wf/xdR1qBFJy03LOwxWwYqs97P9P7XWtOVz4Ap+qslpzP
>> RLGk+L88CzMtDoBFgRJukAZeXDCNtrSJhdHnXaYgCuD/E1VZm0YdW8YNAQBMhYjE6gjiGY
>> ZwT1uodb+Z7w+8D9yCAMrEgJrQIvGL7t2tHZ7E3CFhWXD/9FPDWtpmitW0PWs3KHhhd5f0
>> l9fUT1FdENo/XOidXCMfcTriHLDjIBFFJKe9ppA80SaStky/fs1A1s39ciP2l1ter+sEnT
>> I4gVCsZJgiv7IxOGKWgPmf8tl4AWvWsJmwKFrBAAAAAwEAAQAAAQAi3Kmi8p8ArDIeBK4J
>> 9BJdtqyo7krA4xl7XJmE9enhueqx7BmETdkcd1lK4THCtKwBhf64iOANhlplVsTnOIi0Ok
>> 03rJFTlEytp4O5+GMmn+ppQzTfqzIbAuCcKgInC+qSNzF8fcNpwoY7fwlrt1LGzJ5rsB4q
>> 7Si4lDpW3ax0Dw/n514DgqVXJi3KcMy37FeNgzDREK1P8lZjUGcIySQNn5/pd1zZiAZ4mX
>> HwyE4q1XsqBU8WfOYObH4J7BEjrHKrCjW+K+XrOVxdIfwLg7KA6VWBld77AZSt7Dy1xAm4
>> fbpJp3YtmAeNnnuuNjr1HyyzF5hTcMiQ4ibseliTeSZxAAAAgAw+0F/ZmyYWrv2mDTzeO1
>> yhOwq/sEFyY7OeG1I1dsk8d36vWO3vVYmb9mk7b4Ud/M4C4wSuL2d64HB6wIg3nxo3M0I3
>> e0BlL/S3zzEM9H8rBd1WJpK3nQYrv+H1vLXMq96/Ph3ZY1TmOaxcdk8zKyLSQQ7quxi3ZR
>> 0ZUAX70Sc/AAAAgQD8uch+1NBy4u65KOsqtx6tf3oXaKCfPl026oaosb3WnaNqNLJzlB95
>> mQaBUqIU4zkL2Z1O2ICQO7Zvv9FEoS5SPo79WO0S2CgnIsSPuvfVsggwH6wQd0K8IpvdDL
>> Cyi7/eGT+tRoN+iCcSFgDNVyA0I8NvLfAQRpzcANa8KUC0+wAAAIEA25PnE/2sl7nMrZ8d
>> khV+TbgPYvhhcibO0REiALkT4bs+cdHgAI+5rl9GuYFrvLNuY9e1Yh87jtDG6QTviwtjG1
>> 2U3ycQBC3amxFBkpcI30pKRrfV1SbVEr3EC5ns48iOPxDS+3J44wGaqZdWbOICX/EIdd9I
>> J0tdLs/k0W+LynMAAAAPbGFsaXQua3VtYXJATWFjAQIDBA==
>> -----END OPENSSH PRIVATE KEY-----
>> 
>> This is an RSA key in the new format. Does cryptography 2.8 support this? If 
>> not is it planned for next release?
>> 
>> -- 
>> Regards,
>> Lalit
> 
> -- 
> Ron Frederick
> r...@timeheart.net <mailto:r...@timeheart.net>
> 
> 
> 
> _______________________________________________
> Cryptography-dev mailing list
> Cryptography-dev@python.org
> https://mail.python.org/mailman/listinfo/cryptography-dev

_______________________________________________
Cryptography-dev mailing list
Cryptography-dev@python.org
https://mail.python.org/mailman/listinfo/cryptography-dev

Reply via email to