so I websearched around ssl python connection fingerprint or somesuch and got to https://www.solrac.nl/retrieve-thumbprint-ssltls-python/ which has example code showing using the peercert, but they pass True to a function to get it, which seems to work: (Pdb) ctx = session.transport._asyncio_transport.get_extra_info('ssl_object') (Pdb) p ctx.getpeercert() {} (Pdb) p ctx.getpeercert(True) b'0\x82\x03\x060\x82\x01\xee\x02\t\x00\xef\xd4m\x9e8\x1b\xc4\xe60\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\x000E1\x0b0\t\x06\x03U\x04\x06\x13\x02AU1\x130\x11\x06\x03U\x04\x08\x0c\nSome-State1!0\x1f\x06\x03U\x04\n\x0c\x18Internet Widgits Pty Ltd0\x1e\x17\r190111101520Z\x17\r240110101520Z0E1\x0b0\t\x06\x03U\x04\x06\x13\x02AU1\x130\x11\x06\x03U\x04\x08\x0c\nSome-State1!0\x1f\x06\x03U\x04\n\x0c\x18Internet Widgits Pty Ltd0\x82\x01"0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x000\x82\x01\n\x02\x82\x01\x01\x00\xb7M\xf1f\xbe\xf8HR,\xdd\x1e\x81\xbbq\xe9^\x11\xc0\xb3{_\xcf\xfa\xc9\xd3\r,\xaf\xe1:\x1d\xee\xfb\x84\x90\xb6\x10\xd9\x83\xeb\x91C\x85\xef\x17\x85\xdb\xf7>9\xa4g~\xd0.?\xe9\xdb\x1d\x07\xecXhH\xc7\xd4\xb2\xf1\r\xc3\x8d\xd1\xb6\x8cn\xb2\xe5\x06\xd0P\xadt\x8c\x97J\xe8\x10\xe2\x11x\x83\x8f8\xc3\x10*\x07m8\x05\x89\xba\x81af#y\x88h\x9e\xb5\xb6\xbf\x02D}\xea\x90\x8a\xe4\x1b\xf4\xd2a\x1b\xcd\xe6y+BO<B\x8dJ\x97\xc7\xe4\xd3\xb31\r\xe3\xf88\xb7\xb4C\xbb8\x12\xae\xd5\xfb\x1b\xad\x1ck\xab\x88\x94\x8c\xc8\x06O\x16*\x87\xa9Q\xc9iy\xc5\x95@\x16\xaadDQ\\>\xd4\x16\xfe\xa8P\xaf#\x95GP\xf0\xe7S\\w(]+\xa0\xcd\xd4\xd3PM\xf2\x10\xed\xe5\xb2\x9d\x0ePJ\x8d\x163-\xa0\x803\xef\xd7D\x19m\xa9\x96l\xb4\x88\x8c\t\xb8\xd7\x9a\xd4\xb0>\xeb\xb1\x0f\x03\xff\x1e\xb0S\xb8#\x80\n\xda\xcd\xb7\x02\x03\x01\x00\x010\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00\x18\xc7\x9d\xf6\xbe\x12q\x101\xaa\x1a\xa1\xcf\xcfb\xdc\xde\x92\xaaAVP\xe19Y\xc0T_{\x0fM\x18\xd5\xc6\xeeI\xd4\x0b\xd0kh\xd0:\xe5\xc3\x17\x8a\x08\xb5\t\xa8U\xe3W\xee\xc8\xb9\xcb+>\x04\xa2\xe7\xbd\x7f\xa4\x9bs\xa4\xfc=Z]H%\xac\xe6\x9dx~l\xaf\xe1\xe5\xfe\x12\x12\xdb\x8aL\x14\x1f%,\xa1v\x1e\xe5S\x11R\xdfJ\xc3\xe7\x80\xce\x8c\xc1\x17\xca\x1c\xb4\xd1\xee\xf8\xca7\xb3f\x90\x1d\xa6\xaa\x19p\x7f8\xd9\xf68(\xc7L\xac\x9b\xdd\xa9\x17p\x8c\'e\xee\xd0{[\xf0\xa5f\xe3\xa9\x15hY\xc3a\x8e\xd0\xb6_\xa3\x14?\x0f0.~\xa1\x89\xdb\xa7\x96\xd9\xa9\xb3\x06g\x1d\x08\xa7\x7f\xc0\xde\x9cq\xda~\xe7\xb3\xcf\x7f\x1cx>\xfb\x8c\x9ek\xa7\x1c\xf5\x01\xfc\xce\xabR\xd4\xc7\x85M\xf90\x95,i\xa7\xce\xe6TS!\xff\xe2\xc0mT/\xa2.!\x7fT\xe4\x01)\xaf\x1d{}\xbc\xb1[\x0c\xda\x8e\xc8\x94\\\x84\x8e{\xa0\xa80\xde'