Why does git sign with GPG keys rather than using SSH keys?

Update Sept. 2022: 1Password supports generating and storing an SSH key for Git commit signature, recognized by GitHub. Update 2021: OpenSSH 8.2+ is available (packaged for instance in Git For Windows 2.33.1), and “it is now possible to sign arbitrary data with your SSH keys” (Andrew Ayer), including commits in Git. Andrew points to git/git … Read more

How to ssh connect through Python Paramiko with ppk public key

Ok @Adam and @Kimvais were right, Paramiko cannot parse .ppk files. So the way to go (thanks to @JimB too) is to convert .ppk file to OpenSSH private key format; this can be achieved using PuTTYgen as described here. Then it’s very simple getting connected with it: import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(‘<hostname>’, username=”<username>”, … Read more

How to load the RSA public key from file in C#

You can create an RSACryptoServiceProvider from a PEM file using the following class (GetRSAProviderFromPemFile method). Warning: Don’t just copy code from StackOverflow without verification! Especially not crypto code! This code has bugs (see comments). You may want to write and run tests before using this in production (if you really have no better option). I … Read more

How can I transform between the two styles of public key format, one “BEGIN RSA PUBLIC KEY”, the other is “BEGIN PUBLIC KEY”

I wanted to help explain what’s going on here. An RSA “Public Key” consists of two numbers: the modulus (e.g. a 2,048 bit number) the exponent (usually 65,537) Using your RSA public key as an example, the two numbers are: Modulus: 297,056,429,939,040,947,991,047,334,197,581,225,628,107,021,573,849,359,042,679,698,093,131,908,015,712,695,688,944,173,317,630,555,849,768,647,118,986,535,684,992,447,654,339,728,777,985,990,170,679,511,111,819,558,063,246,667,855,023,730,127,805,401,069,042,322,764,200,545,883,378,826,983,730,553,730,138,478,384,327,116,513,143,842,816,383,440,639,376,515,039,682,874,046,227,217,032,079,079,790,098,143,158,087,443,017,552,531,393,264,852,461,292,775,129,262,080,851,633,535,934,010,704,122,673,027,067,442,627,059,982,393,297,716,922,243,940,155,855,127,430,302,323,883,824,137,412,883,916,794,359,982,603,439,112,095,116,831,297,809,626,059,569,444,750,808,699,678,211,904,501,083,183,234,323,797,142,810,155,862,553,705,570,600,021,649,944,369,726,123,996,534,870,137,000,784,980,673,984,909,570,977,377,882,585,701 Exponent: 65,537 The question then becomes how do we want to store these … Read more