(t *testing.T)
| 8 | ) |
| 9 | |
| 10 | func TestSSHParsePublicKey(t *testing.T) { |
| 11 | tempPath := t.TempDir() |
| 12 | tests := []struct { |
| 13 | name string |
| 14 | content string |
| 15 | expType string |
| 16 | expLength int |
| 17 | }{ |
| 18 | { |
| 19 | name: "dsa-1024", |
| 20 | content: "ssh-dss AAAAB3NzaC1kc3MAAACBAOChCC7lf6Uo9n7BmZ6M8St19PZf4Tn59NriyboW2x/DZuYAz3ibZ2OkQ3S0SqDIa0HXSEJ1zaExQdmbO+Ux/wsytWZmCczWOVsaszBZSl90q8UnWlSH6P+/YA+RWJm5SFtuV9PtGIhyZgoNuz5kBQ7K139wuQsecdKktISwTakzAAAAFQCzKsO2JhNKlL+wwwLGOcLffoAmkwAAAIBpK7/3xvduajLBD/9vASqBQIHrgK2J+wiQnIb/Wzy0UsVmvfn8A+udRbBo+csM8xrSnlnlJnjkJS3qiM5g+eTwsLIV1IdKPEwmwB+VcP53Cw6lSyWyJcvhFb0N6s08NZysLzvj0N+ZC/FnhKTLzIyMtkHf/IrPCwlM+pV/M/96YgAAAIEAqQcGn9CKgzgPaguIZooTAOQdvBLMI5y0bQjOW6734XOpqQGf/Kra90wpoasLKZjSYKNPjE+FRUOrStLrxcNs4BeVKhy2PYTRnybfYVk1/dmKgH6P1YSRONsGKvTsH6c5IyCRG0ncCgYeF8tXppyd642982daopE7zQ/NPAnJfag= nocomment", |
| 21 | expType: "dsa", |
| 22 | expLength: 1024, |
| 23 | }, |
| 24 | { |
| 25 | name: "rsa-1024", |
| 26 | content: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDAu7tvIvX6ZHrRXuZNfkR3XLHSsuCK9Zn3X58lxBcQzuo5xZgB6vRwwm/QtJuF+zZPtY5hsQILBLmF+BZ5WpKZp1jBeSjH2G7lxet9kbcH+kIVj0tPFEoyKI9wvWqIwC4prx/WVk2wLTJjzBAhyNxfEq7C9CeiX9pQEbEqJfkKCQ== nocomment", |
| 27 | expType: "rsa", |
| 28 | expLength: 1024, |
| 29 | }, |
| 30 | { |
| 31 | name: "rsa-2048", |
| 32 | content: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMZXh+1OBUwSH9D45wTaxErQIN9IoC9xl7MKJkqvTvv6O5RR9YW/IK9FbfjXgXsppYGhsCZo1hFOOsXHMnfOORqu/xMDx4yPuyvKpw4LePEcg4TDipaDFuxbWOqc/BUZRZcXu41QAWfDLrInwsltWZHSeG7hjhpacl4FrVv9V1pS6Oc5Q1NxxEzTzuNLS/8diZrTm/YAQQ/+B+mzWI3zEtF4miZjjAljWd1LTBPvU23d29DcBmmFahcZ441XZsTeAwGxG/Q6j8NgNXj9WxMeWwxXV2jeAX/EBSpZrCVlCQ1yJswT6xCp8TuBnTiGWYMBNTbOZvPC4e0WI2/yZW/s5F nocomment", |
| 33 | expType: "rsa", |
| 34 | expLength: 2048, |
| 35 | }, |
| 36 | { |
| 37 | name: "ecdsa-256", |
| 38 | content: "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFQacN3PrOll7PXmN5B/ZNVahiUIqI05nbBlZk1KXsO3d06ktAWqbNflv2vEmA38bTFTfJ2sbn2B5ksT52cDDbA= nocomment", |
| 39 | expType: "ecdsa", |
| 40 | expLength: 256, |
| 41 | }, |
| 42 | { |
| 43 | name: "ecdsa-384", |
| 44 | content: "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBINmioV+XRX1Fm9Qk2ehHXJ2tfVxW30ypUWZw670Zyq5GQfBAH6xjygRsJ5wWsHXBsGYgFUXIHvMKVAG1tpw7s6ax9oA+dJOJ7tj+vhn8joFqT+sg3LYHgZkHrfqryRasQ== nocomment", |
| 45 | expType: "ecdsa", |
| 46 | expLength: 384, |
| 47 | }, |
| 48 | { |
| 49 | name: "ecdsa-521", |
| 50 | content: "ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBACGt3UG3EzRwNOI17QR84l6PgiAcvCE7v6aXPj/SC6UWKg4EL8vW9ZBcdYL9wzs4FZXh4MOV8jAzu3KRWNTwb4k2wFNUpGOt7l28MztFFEtH5BDDrtAJSPENPy8pvPLMfnPg5NhvWycqIBzNcHipem5wSJFN5PdpNOC2xMrPWKNqj+ZjQ== nocomment", |
| 51 | expType: "ecdsa", |
| 52 | expLength: 521, |
| 53 | }, |
| 54 | { |
| 55 | name: "ed25519-256", |
| 56 | content: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICGYutovQfTewtcodVN1E1UUzMk4GQfiRI5ZoP/kTlDb nocomment", |
| 57 | expType: "ed25519", |
| 58 | expLength: 256, |
| 59 | }, |
| 60 | } |
| 61 | for _, test := range tests { |
| 62 | t.Run(test.name, func(t *testing.T) { |
| 63 | typ, length, err := SSHNativeParsePublicKey(test.content) |
| 64 | require.NoError(t, err) |
| 65 | assert.Equal(t, test.expType, typ) |
| 66 | assert.Equal(t, test.expLength, length) |
| 67 |
nothing calls this directly
no test coverage detected