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

Add ppk v3 support. #3

Merged
merged 1 commit into from
Mar 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file removed .gitmodules
Empty file.
4 changes: 2 additions & 2 deletions SshNet.PuttyKeyFile.Sample/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ static void Main(string[] args)
{
try
{
var keyStream = GetKey($"{testKey}.ppk");
var keyStream = GetKey($"{testKey}-v3.ppk");
if (keyStream is null)
throw new NullReferenceException(nameof(keyStream));

Expand All @@ -50,7 +50,7 @@ static void Main(string[] args)
{
key = new PuttyKeyFile(keyStream);
}
using var client = new SshClient("schwanensee", "root", key);
using var client = new SshClient("localhost", Environment.GetEnvironmentVariable("USER"), key);
client.Connect();
Console.WriteLine(client.RunCommand("hostname").Result.Trim());
Console.WriteLine($"Key {testKey} worked!");
Expand Down
52 changes: 34 additions & 18 deletions SshNet.PuttyKeyFile.Tests/PuttyKeyFileTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ public void Setup()
{
}

private void TestKey<TKey>(string keyName, string comment, int keyLength = 0, string? pass = null) where TKey : Key, new()
private void TestKey<TKey>(string keyName, string versionSuffix, string comment, int keyLength = 0, string? pass = null) where TKey : Key, new()
{
var keyStream = GetKey($"{keyName}.ppk");
var keyStream = GetKey($"{keyName}-v{versionSuffix}.ppk");
if (keyStream is null)
throw new NullReferenceException(nameof(keyStream));

Expand All @@ -30,57 +30,73 @@ public void Setup()
[Test]
public void Test_RSA2048()
{
TestKey<RsaKey>("rsa2048", "rsa-key-20210312", 2048);
TestKey<RsaKey>("rsa2048pass", "rsa-key-20210312", 2048, "12345");
TestKey<RsaKey>("rsa2048", "2", "rsa-key-20210312", 2048);
TestKey<RsaKey>("rsa2048pass", "2", "rsa-key-20210312", 2048, "12345");
TestKey<RsaKey>("rsa2048", "3", "rsa-key-20210312", 2048);
TestKey<RsaKey>("rsa2048pass", "3", "rsa-key-20210312", 2048, "12345");
}

[Test]
public void Test_RSA3072()
{
TestKey<RsaKey>("rsa3072", "rsa-key-20210312", 3072);
TestKey<RsaKey>("rsa3072pass", "rsa-key-20210312", 3072, "12345");
TestKey<RsaKey>("rsa3072", "2", "rsa-key-20210312", 3072);
TestKey<RsaKey>("rsa3072pass", "2", "rsa-key-20210312", 3072, "12345");
TestKey<RsaKey>("rsa3072", "3", "rsa-key-20210312", 3072);
TestKey<RsaKey>("rsa3072pass", "3", "rsa-key-20210312", 3072, "12345");
}

[Test]
public void Test_RSA4096()
{
TestKey<RsaKey>("rsa4096", "rsa-key-20210312", 4096);
TestKey<RsaKey>("rsa4096pass", "rsa-key-20210312", 4096, "12345");
TestKey<RsaKey>("rsa4096", "2", "rsa-key-20210312", 4096);
TestKey<RsaKey>("rsa4096pass", "2", "rsa-key-20210312", 4096, "12345");
TestKey<RsaKey>("rsa4096", "3", "rsa-key-20210312", 4096);
TestKey<RsaKey>("rsa4096pass", "3", "rsa-key-20210312", 4096, "12345");
}

[Test]
public void Test_RSA8192()
{
TestKey<RsaKey>("rsa8192", "rsa-key-20210312", 8192);
TestKey<RsaKey>("rsa8192pass", "rsa-key-20210312", 8192, "12345");
TestKey<RsaKey>("rsa8192", "2", "rsa-key-20210312", 8192);
TestKey<RsaKey>("rsa8192pass", "2", "rsa-key-20210312", 8192, "12345");
TestKey<RsaKey>("rsa8192", "3", "rsa-key-20210312", 8192);
TestKey<RsaKey>("rsa8192pass", "3", "rsa-key-20210312", 8192, "12345");
}

[Test]
public void Test_ECDSA256()
{
TestKey<EcdsaKey>("ecdsa256", "ecdsa-key-20210312", 256);
TestKey<EcdsaKey>("ecdsa256pass", "ecdsa-key-20210312", 256, "12345");
TestKey<EcdsaKey>("ecdsa256", "2", "ecdsa-key-20210312", 256);
TestKey<EcdsaKey>("ecdsa256pass", "2", "ecdsa-key-20210312", 256, "12345");
TestKey<EcdsaKey>("ecdsa256", "3", "ecdsa-key-20210312", 256);
TestKey<EcdsaKey>("ecdsa256pass","3", "ecdsa-key-20210312", 256, "12345");
}

[Test]
public void Test_ECDSA384()
{
TestKey<EcdsaKey>("ecdsa384", "ecdsa-key-20210312", 384);
TestKey<EcdsaKey>("ecdsa384pass", "ecdsa-key-20210312", 384, "12345");
TestKey<EcdsaKey>("ecdsa384", "2", "ecdsa-key-20210312", 384);
TestKey<EcdsaKey>("ecdsa384pass", "2", "ecdsa-key-20210312", 384, "12345");
TestKey<EcdsaKey>("ecdsa384", "3", "ecdsa-key-20210312", 384);
TestKey<EcdsaKey>("ecdsa384pass", "3", "ecdsa-key-20210312", 384, "12345");
}

[Test]
public void Test_ECDSA521()
{
TestKey<EcdsaKey>("ecdsa521", "ecdsa-key-20210312", 521);
TestKey<EcdsaKey>("ecdsa521pass", "ecdsa-key-20210312", 521, "12345");
TestKey<EcdsaKey>("ecdsa521", "2", "ecdsa-key-20210312", 521);
TestKey<EcdsaKey>("ecdsa521pass", "2", "ecdsa-key-20210312", 521, "12345");
TestKey<EcdsaKey>("ecdsa521", "3", "ecdsa-key-20210312", 521);
TestKey<EcdsaKey>("ecdsa521pass", "3", "ecdsa-key-20210312", 521, "12345");
}

[Test]
public void Test_ED25519()
{
TestKey<ED25519Key>("ed25519", "ed25519-key-20210312", 256);
TestKey<ED25519Key>("ed25519pass", "ed25519-key-20210312", 256, "12345");
TestKey<ED25519Key>("ed25519", "2", "ed25519-key-20210312", 256);
TestKey<ED25519Key>("ed25519pass", "2", "ed25519-key-20210312", 256, "12345");
TestKey<ED25519Key>("ed25519", "3", "ed25519-key-20210312", 256);
TestKey<ED25519Key>("ed25519pass", "3", "ed25519-key-20210312", 256, "12345");
}

private static Stream? GetKey(string keyName)
Expand Down
3 changes: 1 addition & 2 deletions SshNet.PuttyKeyFile.Tests/SshNet.PuttyKeyFile.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks Condition="'$(OS)' == 'Windows_NT'">net462;net7.0</TargetFrameworks>
<TargetFramework Condition="'$(OS)' != 'Windows_NT'">net7.0</TargetFramework>
Expand All @@ -19,6 +18,6 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\SshNet.PuttyKeyFile\SshNet.PuttyKeyFile.csproj" />
<ProjectReference Include="..\SshNet.PuttyKeyFile\SshNet.PuttyKeyFile.csproj" />
</ItemGroup>
</Project>
10 changes: 10 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/ecdsa256-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
PuTTY-User-Key-File-3: ecdsa-sha2-nistp256
Encryption: none
Comment: ecdsa-key-20210312
Public-Lines: 3
AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCagnfkYmNXN
lnVjIcIAWysh4JMApD9pefvRtVDJ+SbYX9/n+yZvYbonpgKF83vBI60/l5yJG81s
5bZ78muEkkQ=
Private-Lines: 1
AAAAIE2cC3R6C97CKiBgOLH65E1E7+8FHxBs3KZFPfuksPcM
Private-MAC: 998361d76ad4c6b6f3c16b1e0d9daa4d98541ce0c18f8118289af99c7d92495d
15 changes: 15 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/ecdsa256pass-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
PuTTY-User-Key-File-3: ecdsa-sha2-nistp256
Encryption: aes256-cbc
Comment: ecdsa-key-20210312
Public-Lines: 3
AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHhY99vQoPVT
6F0PofvedF0lwEz0jx/b9eJTZWDdjWG3ElGV8OCoGjtSIFChASt9XXoHW4C9feuC
nKJJLfmNcbA=
Key-Derivation: Argon2id
Argon2-Memory: 8192
Argon2-Passes: 8
Argon2-Parallelism: 1
Argon2-Salt: 5e5779a49886e47f0ac22e81aa756706
Private-Lines: 1
RYSywxzZ03mlgw4+s5nbnmrCZo+iu3S1abauEs03Xn1lzzGav9vA555vkmpwuZGW
Private-MAC: 9f5373bc1dca57a71dda7bdc879925d997328cf5bdd0233472be1ccd7a23be88
11 changes: 11 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/ecdsa384-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
PuTTY-User-Key-File-3: ecdsa-sha2-nistp384
Encryption: none
Comment: ecdsa-key-20210312
Public-Lines: 3
AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBEVWztj5M3Ps
CbbdwweE3eQjigjrlJz8dCZLvjpSulzc2ck6/s3oCaX7Pg/Sbvo2piAjduLWxsio
owjJfsKz/nfaoaa9tfkOKf62aWISlOO1FfD9PbJtp3W2e06DTE1JTA==
Private-Lines: 2
AAAAMCdESh2t29FUCB3S6dKIxBVzdb6BtVbo1CbSZohDWbVjTrSY0mAFWOKrrxMl
L4pa4A==
Private-MAC: 776be7510bbb5b7e3f05231be31b7af578f6bb1d4ba506658f6b287a2aefd90a
16 changes: 16 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/ecdsa384pass-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
PuTTY-User-Key-File-3: ecdsa-sha2-nistp384
Encryption: aes256-cbc
Comment: ecdsa-key-20210312
Public-Lines: 3
AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBMVJXj/SaVtm
CpcQeDLIp5oyEEy8zzBS4uh2q/uZ3qkC6i20yErTR2wuWp+E/tRFvNK2m9kuvny+
/eZzry62NNPhJdR7+dbbfCIGN9zoTe3UpSPj2MdmU1Frmbe3DJRshQ==
Key-Derivation: Argon2id
Argon2-Memory: 8192
Argon2-Passes: 8
Argon2-Parallelism: 1
Argon2-Salt: 6214750297d2ca6532a31438fab8efd9
Private-Lines: 2
sBCQjcGnKlHmGJtk/YrANuMFOhqKFeUwyQi1GSAi4nx3dNnv3Y/bIWb4EmtMJoCc
4bZMCc2v9qpn5RG4ni5bxQ==
Private-MAC: d7ca22c80c194755a5f61f5cce9cbfd1040a4793902a27b67a07b1b58c203012
12 changes: 12 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/ecdsa521-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
PuTTY-User-Key-File-3: ecdsa-sha2-nistp521
Encryption: none
Comment: ecdsa-key-20210312
Public-Lines: 4
AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBADYWtDlG1mj
5cUO6HTxIPXu/bWyNLJaVktlIWdivUX84gl/zjFKcLchQUG/jRgyiRBNAwxHT748
GarGUwkAzB7KAgCfyjU0ux7egolYV5UAo/F9yXiQnPhudzvw9cImye5nOtW8Vq/2
VlQSwe+vIFwuPGdV0/qeuPHS8tG3rPF6yB75dQ==
Private-Lines: 2
AAAAQgFFjflZi/b4NMLFM3qzZZQmgVUjVoy3IOhciB8aSetVIjaUsSqAr3zVQNMR
G/iiK/nBoCuJ2Ycq6LenBdr+UF0pag==
Private-MAC: b1d9235de016e77bdc39bbf129a734aae25ef23d569c7eaae0c2f97ce557f7b1
17 changes: 17 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/ecdsa521pass-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
PuTTY-User-Key-File-3: ecdsa-sha2-nistp521
Encryption: aes256-cbc
Comment: ecdsa-key-20210312
Public-Lines: 4
AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAAIYjhprWSd
0x4DLK3PWgh4ww16ZVYmv5PSBEeFBJCRcifXg+E7+Qex4s1vaPJWgqNfXjDgvf8/
gnSON/460Yx66QE1Ib1C+hymE7NwfLg5tqfFHj32wj7uWkVktWupB940Q7X/S/UO
PDI8ZpOOpUsC0+ZZIemHgGbAK0O4Ufn0yE6yVg==
Key-Derivation: Argon2id
Argon2-Memory: 8192
Argon2-Passes: 8
Argon2-Parallelism: 1
Argon2-Salt: 0e64d0a6818a712f0d9eeae82ced040f
Private-Lines: 2
gixtsyv+m1SaututHoaBlRLc60yjxfsEotQXlikpnW3yZg2LiSYNe11p8Nn8hO//
yHHndBroBenxldvTcKq5uwazGjIPNu4RoVRKHRwGEro=
Private-MAC: 3aa14fba5334a6c0e0d8c490e7423c92d9d92ca1e60275dc4a2cc783d91a0f9f
9 changes: 9 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/ed25519-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
PuTTY-User-Key-File-3: ssh-ed25519
Encryption: none
Comment: ed25519-key-20210312
Public-Lines: 2
AAAAC3NzaC1lZDI1NTE5AAAAIMFKb9ssb3VHYh/R/vBx/0/nYrqUGqQibN7YaAo7
PztZ
Private-Lines: 1
AAAAILpT/RJp+2G309qzZDX14PLle2v5bu7NBNIzIXuQ5IIf
Private-MAC: aab7fb023e77dc84046bd5ca4b0eeb53b8d2fc1260f07906dd36ceb90b62470f
14 changes: 14 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/ed25519pass-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
PuTTY-User-Key-File-3: ssh-ed25519
Encryption: aes256-cbc
Comment: ed25519-key-20210312
Public-Lines: 2
AAAAC3NzaC1lZDI1NTE5AAAAIFGNsY1vMX0acPcRtrShWKqdSpWKI5omJdMiCShn
k++b
Key-Derivation: Argon2id
Argon2-Memory: 8192
Argon2-Passes: 8
Argon2-Parallelism: 1
Argon2-Salt: 0c0505619dbc258cd78291c8818b6201
Private-Lines: 1
C7z8akdj4UE9Eioxogqd23Yx84fktOLYo6lvBWtjLqSihrOZY4HM0ankVIRVLq4x
Private-MAC: c11c0cd03e3331963c09d215401f5c564ab78321c600b47a827fb485fccc4a69
26 changes: 26 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/rsa2048-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
PuTTY-User-Key-File-3: ssh-rsa
Encryption: none
Comment: rsa-key-20210312
Public-Lines: 6
AAAAB3NzaC1yc2EAAAABJQAAAQEAjfeoHlz1KHSwDhTSjnbeKSek/I/KjOSzViHe
E7018KA4/UY91LTFHEc+vnkCWIYb2tvigZHusVlAg5QZHzBLN3XfJSH5iTtAPiM1
D1m5Ir2iV2Fw1HHoRzPSx+ipacLbFvfePe9AUhPVzcmwq0uKPtZ8Tf1MJFHdyWof
gaQr3WVZWm3wsxn59CqDhWQz9vdH5x3QOrEFrq0xfqFwR+KLkzmeuZBIoXK+2qfv
/P4RrFhFgqZXNhdccADY8/zDsOQjpHu7yZQAgtfFILymSdWw3KkcPzr+Jiud3HEB
Aetuz2W4GpDEQk/PZ/+0UQZZt9vgKqx79Iv8/t8uAfTdgd/fkw==
Private-Lines: 14
AAABAAPWQtBjYJJkBMIcPQrE8T9h77PMiO8NGZqLSzD3RqWjdylwmeMnevLtKzWU
kVxWps6QUjrabjwlAb5d8tdUVQ9WNnagDanDVMNovD6vZd5YJvtxVhOUYDlGlv57
6Ocux6aswNE90U5TkCgoC7GaQgGyxRbdVRW9Bf6GU+DowupOznH3eoZUsN8fCm3o
dtPRS/ROYfuT6Ear7Fx0DChs37QDewiV9V/sV6bdWgs+cOqqI6xvYOJp1UDiMleD
zGajGPCcBqvVJ6E2dugVlgXB6HCO1ajax7SVk2PSr4Ob+Pidu5n5TUsKuU5LCivK
SYJvU8ON5kAtG9//f5XaCRI+pj0AAACBAOI88mfrB8bf6dzhE3VTiNZuED8MQvd2
fiq74i9G0+hlU6b4H5NVqjkq1Fbj4jP+hRlkmzt1TokTi6n8xYve4wRJwpYIHomr
/GTKXkzek5r4gzIWK/eISbuCmsCCXOtYQfjESUdb2GXfmS+b3t/YqoUn6KP1Gd1X
ZysW+awkBbSJAAAAgQCgpLbTXdSi1MQkwbeSBi53Kbln0g18AVXdZfl/KVJOKWUv
g8Q+bp/akdWVeRWLwzwEMfIbB30A+8PoUSqs/G6ElCwu66a8ifwwyz+qljt9n4EI
wXAphEOU7GLiegOHiFeiFT9RDeqhN44MYOraBRo/v0GQuO0YR4qSQnfhuswkOwAA
AIEAsGxgh2Nv+p/JerPpH+JqUtTxAgQAJi8FmcKgtjacHkOl4Cgm0b1ajcMygUq7
a/CtevTcGtOX9P6SlWInlHlkcu9P7tusX26VIKd2I3QmN8mhKkK+J+oiaEbYtDJc
E6QpMSGBOJ6jbyYXUtve8xl8TW5/2f7T8jz1WXn5bp9+7Jo=
Private-MAC: e6b1fa6b31bd32b6af59dc12eed89cbe0cdbecec0cd10491434e5763394c1401
31 changes: 31 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/rsa2048pass-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
PuTTY-User-Key-File-3: ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key-20210312
Public-Lines: 6
AAAAB3NzaC1yc2EAAAABJQAAAQEAl/v5jlT5CTLPJB8gGvcnfEMxQc8olDyZvoID
h/jdGYwGweGdDuLGQjyesadeqqPlv+zyzwQSZwK8UmPDzZz/nO6NPwvnlyNG1goy
SaNgCcYVkRhsyB0K2dXLAe+5Sccc+0rHtfetG5i2VzG/9UEJyRVLOFfEgatcH4Oe
sbYEG84xFgH0I9DwcDgAiB2ac9Vt5lxkDHAowV61LMtDE/ZPV2bhRV9HvxGC/sXc
KA3IbCGgyc2dihEYfDvt3RHq2krZiymPCyhYmTBxYpLLpNFevKoQtMZR7ujeWB4w
E94QPqSU1gMahDnxONMFcTl7QQB1mqqsGZ2bFV0LPpbJ1D6d5w==
Key-Derivation: Argon2id
Argon2-Memory: 8192
Argon2-Passes: 8
Argon2-Parallelism: 1
Argon2-Salt: b7e0ec274d6484265c4c390b3a46ae97
Private-Lines: 14
I/qIq+/RL6dPWsy8ML+t7DWHUH2FrszL3ha33SGQactMXjCL337mavpLqsJvmn/L
GfPfbEw04noD+AX4ZnLqhadkOSJDZzvynVt1nifVTHb8/siCDJ1pJnOSD44PhiTE
Sik5l2oANdf7vibMA1luqtBxITr1pl4CiuDhvw0/fHtfSCQES9uxT6A0WbFHtWD8
zw4yrLHVvPi8My4v2txzIw1ww/uLDeRd+6RH7Vg/M+4zgxDNBdvx9ddfG657Fjld
o1mphpjc7cPD1otn/r36YHAPMODa+8QGlhSp9QoPLLUnyYEQPqG/+7GKq5KGRjD2
d2vHWzSDVZcdmHuZy1Fc2HTCvzgP/v0MuwPt+m6/W/wBW66/pmnlRJsNZ2t4NyPC
O0xw4djCUfUoFVU22CqLsw3+PppYpz/dhjUTKwrrdPHRSjOBwUEjFUUiJ/KtLe0s
5zvnKjccpflUb3T5rnMyfFAAVqueB7RoIvBqpyBtvuUNxUVIgazCCVdFgTWI8x44
pC7uXZS56Aj6+wWRzNl9755+KyWBfhTPFPixlLRgo5UzERYwM5XPEzeebMMZtYgS
L19nOoeZTwiuhyCny4WWkGsMeokskKdcYzojW5qbrTp3CKlctsZIUlKTUoOaHjwf
d+LgcwvLRXWJgypGVpYKGjLlJIHe/KQ2Y8zDbZ7tcnCRXlEtmwXSN5TkgUYYS6f2
BxjsiEd+sdnjYB5Nw7Lncq3tSJENn3RIu0wtLH18Onq5NPqorv4pplaGum6iIfSF
qj0+/PbZbVh4XwThWHy0ThmEdIAx3RR9OaNg4UnAaTdFxzFt6+hzDzNcNS+y70lD
tMOcFs4Q65jZ1Is3qjKteCLktnbPtTklXYS7yp45UQOlkyz6+I+NvIkgpVM6I9Wd
Private-MAC: 76a694aa36c651e20614ee081a165df882e4d46dc922a109dd39cf5b9777bbed
36 changes: 36 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/rsa3072-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
PuTTY-User-Key-File-3: ssh-rsa
Encryption: none
Comment: rsa-key-20210312
Public-Lines: 9
AAAAB3NzaC1yc2EAAAABJQAAAYEAldr4hr+lIwILyOT103TZ7+wrTFg3QObCGlBq
tlwv/LuZitlPAc/swjVfzoZ7MfNxlKI/raiE5i077vQnqLRHTZsnas+8EFEgJmhd
gxd5gxlTjHZDMH9RP4mQrWyIw+1nd5hF4olzWD9WdsArCZ9CNb9gTQiK68fRLEQc
Krmwfijctecbfg5toLF344ojaghfDULBdLId9qIoeMLhvPfjZ3LEyPpYVTJ8TbOi
lkFSER+HyWg4RVrEJI9EI21XqkOZ3IyF253kTIdtMHQPKdSFxuEwJseDCcpAsCTU
v/MRL3T5ZuLEqaKbwCA4ZPkc5srho85hdjRCnWakwGE7gU3r4LBsf+eIWHusj3jU
hk65yvF3qJi4qFHNaZr2Pk9q+Ai7h6Ot5pE+cejmuGSxoQJBW+ekAbuMwtKfoSD5
l1oywynZh3fbTkqzpLzJdm8veVrtSIwrvy/QzRmwgia90LJ9THQsFFW8PDPoTn2N
qUeCjWua/lJjsPAIIlX32RNedi2Z
Private-Lines: 21
AAABgCBmskal+jEVMvsBEo6VzkG2heb+USLKHCFdfttSM+OeLwlDvg46y2hC5EhU
banvcoEAfHiTI6djue55+ryxW4ZmvGofE+faMHcBzweWX3ZKqkfiOAp8ZJgdvmqv
rt5BKyDG+lp+lXrdQyCYQKgiby43N2qaEDL6xXFa1ahfgBtHGvbl3G5ITw3826bR
wnfKdWqmpl5rs3OYrs4An4LN0E238zJfpGVysxe4IydoEb6DW6ErSm/cRhW+HJIJ
zcPy8H7KXg0CRdB+Untm2UjAf0RAKXH6wiR3xI3moGhSJTqNtCRccbP52lSIwzqS
hAeynJBi3olBjeCaNBj4yjQybCKEdhLogTK15xIlkbpDCW4TCMue0fLVzL1pGRuM
wM7bwkRxqvXyEWZFSXjOPQxZ2Jck4DPq/Gvwl2/QFkskSj0kB/zQ16rTnqignp3X
EBl1HlnUnBBpUAGBeLO109gSAn73Q9zPf0bqh8cfwJnWcv3CyltkogASwofO4cMP
vDHMzQAAAMEA9ohwB+jwEGoZ6eXHq8TtyUbW2ZZ0+O1pIDnP1esU+dPKEXKPXPfs
tlsISFCXn/LpM66Kiacc0p4AfweuGBK6MtK42skRpm6Qc8keXyGX0BzkGKcXQm+Q
hLSDCiz/GOij2KX907ESdLZ+PKlpiH+/6oGeqcOTNxx+auePknvA/YcoMTVGy/90
/f/3q7zNkkhbNahXDGryX2iOoUqlwAbyFAkvzy1G5s1UhP3Kbe3ElmhHRkHHXQZP
K3XMpQ/C7vVnAAAAwQCbnCLXinFX1RXL0pqNlUth8ZmeCUwoMup/oF8HjBAG0c4t
RKdsRx1CzKktwuKjPeRUVpGxvfWb/3NN2uY30f2OORGNqyEng89nwfQptxZdvIri
MxZixWn44F8Ut3AiZ7Uyb/lhYJuEMfStAW2/Yve2W3hn2SoYfWTRFwLpVppq3Axk
/K8MOIDa1fQwr7dxVOWzbILm3cxmulOhsyRJWD+tM2Jn6Mitad/QjOhz2eohXmvR
Xy8TkvVCw1cN2tUg5P8AAADAN/CXqGOaCbO8hcLVXMm4Kb59EToZPjkgWMQvXEza
4LR2IbB6yVdhyjwV7mZ+nBrZCcUAvz6Xq7xM1sWOFG4/nEhjteV2q3I93sHpOW2i
8LJ0NGChqT3V0SkKHa6XEjpD7L7kLybbphA8s2fiIk0hIar915fL41SA5VqdK+U5
5iij60ydB6JZRbyGPTdpLVXWW9KM3iC30XNFZ/YbC3R5BBbR1jWR3CiTRwe8mCNU
Z9h0aEFWApoxY5v6NxUdylkF
Private-MAC: 8319561c08b4f407f2aaeb58b8339fec9d156ea91cb9143635f222fc57bc603b
41 changes: 41 additions & 0 deletions SshNet.PuttyKeyFile.Tests/TestKeys/rsa3072pass-v3.ppk
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
PuTTY-User-Key-File-3: ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key-20210312
Public-Lines: 9
AAAAB3NzaC1yc2EAAAABJQAAAYEArVI7zzbTLTlYNEWXkCv4MtKklNYytnHwcCcG
MKMQ+itf9q4AULLng9KqptDTuvFDekl/yWHaszXOJrB2cB263VuqybT2B1oCxMaj
yXVti4dIPV4Luz2txS4FEX8YqIXM0gfThtAwFI45XUdOEVpnnIH0ofbdGaoGAxMd
GR4rPJRQdsQAla2zDYYx/apglTOUSsptaZU7ujzERutVxpZIxJXKf9TCNY5wPsrk
N4ZY1KYuv1AB2iv+g4DgGSC1KFHw98nGSpBKIoAKv5MLIH/vCqCFTOzJSZR9qjHw
N0SEjIs8mTjnPEtlMfo/X/O9XsuHYQY7zEFBE5iA6wAI5CtplgsLlg2Id8k/MADM
9yFRk7rZiSjf77xKj80Hlc4joKtLT5mcqEmbUhIQ4CB5GMbbGezPzKTf0ICHw0yQ
tvEkaIB9QCjAQbtSr1ZAS8b+jmuxcOcCIcTNgnXZWXb37aYGf1lUM4afzPMuiQo5
xRvpEC2xJFxV6k0/lx8t5JQSgDhH
Key-Derivation: Argon2id
Argon2-Memory: 8192
Argon2-Passes: 8
Argon2-Parallelism: 1
Argon2-Salt: e6a28aabf418c2d1b947628f2882f7da
Private-Lines: 21
0PAVEMuPbukhtYzPqE1SckbRv7JGFh92auOGg8JE0ZMl12cxiOOn2YgACA/7xrQX
Rie2xEwrpINUKCeKs2Uc6Fs7klU6lMv0Rn53DYqnO7o/ymxRYtAg1OXLMZ5Mh8E6
Hj6e1bAtsvioU4ho9spWSXpzrse7NNrFCnh3F3i5zCIZXow7QkSx2f5YThNmijro
GBN+0soYxQr0THVonYIEmTveRb+S7HxU/jvQ1Pcso4jAtOpVBaOnsb7C4lcDDPd8
zCciUDqvviq4JSAHU+QahIvfeAJCDZJAfyd6laRwdQ64x4uIfPX9aoamfDCHM3bo
PbiWUbz6u5oHqS02dkWZdYxMfcGS3VXS1lwkiq2c5mcwAZca4z4B7b6g3huRqEUm
1PppsnFYeMAdSCOv/BeE+2tprRYFKrW1FWZqRdXKoRH40DAQj2XI2KY/oGPPGoVi
cP1J/Cf2xYdiJrKY8kXOBiVVhUqmmUa8oUb2dyiDBxaMTlR1FlyeW8cy4HwGrLqL
RgMvz6ZSZMJAZc7K5Zh70lEixAEkQKactWxyJdr8Dv5du7NDRwnLg8HlkgQSwznR
j7PhcKRoNQjkoQsXI0W4SD0cPttlSQf8xIyr5RGN4DfX8zO8OVtSLfBDtD4nDtlK
MIPvTK+ixbJgW+CSp9Lvrj+KsRfDpbAyLxFpT03JBD77n9vjdZWkm+V8hSpgcV07
b3typanOVD8Opcn6ib7BwL/7xxYLWqDLghyzeW6CxyO4G8RXJBFPaSI9bhbASTK0
yS6oPThHgYsbjNhqwtWXUwGNGuexozgICT+imDq9UiayyCtgAln+Qxzv+afvYwBf
h6ghwazwIHoI0THmJ8WiRtlsIlak0cOysaFpEP/2SKndb87QR1o2xcCgJnFA/Sht
7jDj4MaAUblkAZ2+ym8+URL7Hs5LN3Zvx1HNMea+lTLhF9nKWvT0JnHbEv/fUd6T
9m73vRBbHAjvnL45z0mdaL4iDTEmtQ27QNgMdWukibdSKkU+GTpV6j9O5m580z8w
InF1oiXyd33jTfA/g4tYq9XzSBIXVei+bbI7eQOquTGi70/uwCv/PB4YvlwzBiMc
8j6qKz/SFdXAgkdb/bv5RTC6fnGgSGFe8JeBib7x0WeClOnCABSJFdnh8Sc+o9DY
VjVXCKdNLLt0AGMylWIcJMXbSQ+eg8Er7TB8+heV2TcdgduKVdO4kPMvoIas8YDt
JlfyFtkGKj/GhWgx4NIlIt/0wL6EDi8AdiDnyoz7/QlvbQaksRFc3wtXEYqxPIXX
juAVmsi4FXIJjlzIGbNEHjXG2uQe/O8qaZ/1PA4zKY0=
Private-MAC: ad042803a0bcb0d3cd01dcd89b36e676d0bdfec0b73f35226ac44b1ad3cd8568
Loading
Loading