http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/client/config/keys/id_ecdsa ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/client/config/keys/id_ecdsa b/sshd-common/src/test/resources/org/apache/sshd/client/config/keys/id_ecdsa new file mode 100644 index 0000000..31b1268 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/client/config/keys/id_ecdsa @@ -0,0 +1,5 @@ +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIPKmiQzAASg656IP4PuuElLdLdO/MIXrGxQG6tGkKZ1HoAoGCCqGSM49 +AwEHoUQDQgAEobHtw9wkL332ep9fi8Gw5g8sEGwslNonPUCDR6YUZ9mjOehliLpF +DLHLxlIFafrVM+LIpagjpRKZcnpGPWQDnA== +-----END EC PRIVATE KEY-----
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/client/config/keys/id_rsa ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/client/config/keys/id_rsa b/sshd-common/src/test/resources/org/apache/sshd/client/config/keys/id_rsa new file mode 100644 index 0000000..afc6aa8 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/client/config/keys/id_rsa @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEoQIBAAKCAQEAxr3N5fkt966xJINl0hH7Q6lLDRR1D0yMjcXCE5roE9VFut2c +tGFuo90TCOxkPOMnwzwConeyScVF4ConZeWsxbG9VtRh61IeZ6R5P5ZTvE9xPdZB +gIEWvU1bRfrrOfSMihqF98pODspE6NoTtND2eglwSGwxcYFmpdTAmu+8qgxgGxlE +aaCjqwdiNPZhygrH81Mv2ruolNeZkn4Bj+wFFmZTD/waN1pQaMf+SO1+kEYIYFNl +5+8JRGuUcr8MhHHJB+gwqMTF2BSBVITJzZUiQR0TMtkK6Vbs7yt1F9hhzDzAFDwh +V+rsfNQaOHpl3zP07qH+/99A0XG1CVcEdHqVMwIBIwKCAQALW02YHN4OJz1Siypj +xoNi87slUaBKBF/NlkWauGUIcpZFMTwnkIn6vCz5MhRbQC4oadRDzFNUrC/g7HdH +prlqYe2P7uEGIfMb3YNFdk3tgOHmRsHqFgFMpVWsOjlTxNTUsQ74N3Isuxnha4wY +9f90sBULc+WRdRvO9jbkSDaqoYVKAqCFWtocL+ZWwBXWrIrsQW4PElgZ/duc5DX7 +eeJ5DXCSj9dO+1KxsWEOKaoeABEegrRVys1/shcDNPhf/p0QShKIdPcpnDUc8cny +1bq8GSt6jEQ+tuRoSnYrY+RD+mlkHrx373Xc1a9woV+QKTThmd9TQ8gzHMHNqq0a +7kR7AoGBAOuPOTRiKaDtQyMTEX7eeHsPNE24EgvONjNpxyQ6gKGthG5SiB0IO7mP +r7EggbR2EY8eMCY5HjvxzxgH86n2Pqbzsr6UlQq7YTPupCm/7fPgRknu917GA20f +1cuY8B04Jp4FIGryBmCcScX6usXXhjfAvYCWWfkSytA8gX9+b1TNAoGBANf8shbp +wRnQfgAzw2S+xs29pdwa6Jb/xuLvHSyklmgidrK4nsVI8G+zeCqwkqkNM02sM+vR +c8EX7+myrGf+S2V3JS3AMNXEhavrWVH0CuqFHlBjSwHZ0uKuPpWHlCnud+23AdQz +Bf1H7tYKt5es3J/B37o4YxhAL6U9qq+ewZH/AoGBAOTURjLjA94oT9jt870SoOyS +bVLQEYfPol3UeE8UQnEsN4Ec+UDGK2PNaNfzsTL2WjNB5aF5UJIA184znD60seQC +raMxQFORdF5ViYekgMEFwJ+XrnlSpD4e7PGqgtqOUWZOH33VKsRADSa5DTU3xDYo +8porp9wDoHKD64MqXYWTAoGADFeVJeF4v6WDivukw+2k9dBSntz3WRXuG5iilNY0 +evqnsnDzITdeMkTFCcDycA9iBHA9ezCKRYxW2id3kOn1rgbO7KvliI7jESNkMJGa +OUlvck7RFgxyc1pp+ep9fr0rbKtfMLJ1Xu4q56jXSn7oCSEFeFr+WSg9PKRwJ0rm +fV8CgYAkYOiNY8jH5lwwoPWOIPJg62zdzmRQktrU3z7Nzk5udN6JnG3g57QjkozX +AgHARKQ2MuXW9OfOnYNhbGeavcBQmg5XUx3eL4PRFw8mFZdjpBD/kM/dfCEwEta3 +FpRlVGn0RNqVV5xxClObD/CikkDqKZG4MSj3CrO3JK33gl1Lgg== +-----END RSA PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-DSA-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-DSA-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-DSA-KeyPair new file mode 100644 index 0000000..217d508 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-DSA-KeyPair @@ -0,0 +1,21 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABsQAAAAdzc2gtZH +NzAAAAgQD3axy1MBdh4TJC+T22DKKDe7sXnDrgJRs1jBcDl/qPdQDoLlvvTd8oHggXkIzI +6Tx2ldiJ3KADMkDg1sBSU5zenIr9wisfEQOLNqfIOOirR9Z8jULGVlDO+pPwps0P9bcOka +JCAfABNth6Oaz3NJjfFD8ZmmWDVaN2rSi1J3mjnwAAABUA5be00MaSti06Hor265V8Ggtj +i/0AAACAa9MU8kBJ4Z1+UsrWruVr72eckEwjOPcRFeA6MoSM70GGdYVkLyQ78MMjKAFZcb +seYT3lsja+c4LQ7yErROHSGFo+ImQnYGY3Cos2mS8tRBHtZ4YmKsBmS3Zrb4lEfauA1pgD +pcGrUAavniKIAB/C9cpvj+IpZ36+rHpap4JKJ7kAAACAQP4NRzjtauzrDJvs73c0DPczAk +LAan+90ouvIuI0CmMxFrSqLIIEaX3cB/P4dkKtBsMh0CxwJpoXfn+TO+1j7i08GuMONeqB +3lOHn1/MB2qUAZh/kdU8RUsxWkrG80JMeP1kew1sHaoRfOUZ8+Xw/RL7nNmhhmHJR3rkgR +8EoWEAAAHoMgIkejICJHoAAAAHc3NoLWRzcwAAAIEA92sctTAXYeEyQvk9tgyig3u7F5w6 +4CUbNYwXA5f6j3UA6C5b703fKB4IF5CMyOk8dpXYidygAzJA4NbAUlOc3pyK/cIrHxEDiz +anyDjoq0fWfI1CxlZQzvqT8KbND/W3DpGiQgHwATbYejms9zSY3xQ/GZplg1Wjdq0otSd5 +o58AAAAVAOW3tNDGkrYtOh6K9uuVfBoLY4v9AAAAgGvTFPJASeGdflLK1q7la+9nnJBMIz +j3ERXgOjKEjO9BhnWFZC8kO/DDIygBWXG7HmE95bI2vnOC0O8hK0Th0hhaPiJkJ2BmNwqL +NpkvLUQR7WeGJirAZkt2a2+JRH2rgNaYA6XBq1AGr54iiAAfwvXKb4/iKWd+vqx6WqeCSi +e5AAAAgED+DUc47Wrs6wyb7O93NAz3MwJCwGp/vdKLryLiNApjMRa0qiyCBGl93Afz+HZC +rQbDIdAscCaaF35/kzvtY+4tPBrjDjXqgd5Th59fzAdqlAGYf5HVPEVLMVpKxvNCTHj9ZH +sNbB2qEXzlGfPl8P0S+5zZoYZhyUd65IEfBKFhAAAAFGL9BNpShiQnNZ1noW8Woxyq1GuH +AAAADnJvb3RAdWJ1bnR1LTE1AQIDBAU= +-----END OPENSSH PRIVATE KEY----- \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-DSA-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-DSA-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-DSA-KeyPair.pub new file mode 100644 index 0000000..c3feece --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-DSA-KeyPair.pub @@ -0,0 +1 @@ +ssh-dss AAAAB3NzaC1kc3MAAACBAPdrHLUwF2HhMkL5PbYMooN7uxecOuAlGzWMFwOX+o91AOguW+9N3ygeCBeQjMjpPHaV2IncoAMyQODWwFJTnN6civ3CKx8RA4s2p8g46KtH1nyNQsZWUM76k/CmzQ/1tw6RokIB8AE22Ho5rPc0mN8UPxmaZYNVo3atKLUneaOfAAAAFQDlt7TQxpK2LToeivbrlXwaC2OL/QAAAIBr0xTyQEnhnX5Sytau5WvvZ5yQTCM49xEV4DoyhIzvQYZ1hWQvJDvwwyMoAVlxux5hPeWyNr5zgtDvIStE4dIYWj4iZCdgZjcKizaZLy1EEe1nhiYqwGZLdmtviUR9q4DWmAOlwatQBq+eIogAH8L1ym+P4ilnfr6selqngkonuQAAAIBA/g1HOO1q7OsMm+zvdzQM9zMCQsBqf73Si68i4jQKYzEWtKosggRpfdwH8/h2Qq0GwyHQLHAmmhd+f5M77WPuLTwa4w416oHeU4efX8wHapQBmH+R1TxFSzFaSsbzQkx4/WR7DWwdqhF85Rnz5fD9Evuc2aGGYclHeuSBHwShYQ== root@ubuntu-15 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ECDSA-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ECDSA-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ECDSA-KeyPair new file mode 100644 index 0000000..403ff40 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ECDSA-KeyPair @@ -0,0 +1,12 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAArAAAABNlY2RzYS +1zaGEyLW5pc3RwNTIxAAAACG5pc3RwNTIxAAAAhQQAGRPv5eCmd3jFTCWrioWVHgQhHn/d +ir8nriiEonZDPP+hEjX1AiYyahfvFWoqKI4lKRzoEmF5Wk6ct+9LM0JFGcEAck7Z3J/NXt +CnHeEvnusHMoANjhKLExBURROOOTGziyHMuGBMBIgRFnf4rBhiTzduexJnaMglyqxIrDpG +hOxwhQAAAAEQxPcsaMT3LGgAAAATZWNkc2Etc2hhMi1uaXN0cDUyMQAAAAhuaXN0cDUyMQ +AAAIUEABkT7+Xgpnd4xUwlq4qFlR4EIR5/3Yq/J64ohKJ2Qzz/oRI19QImMmoX7xVqKiiO +JSkc6BJheVpOnLfvSzNCRRnBAHJO2dyfzV7Qpx3hL57rBzKADY4SixMQVEUTjjkxs4shzL +hgTASIERZ3+KwYYk83bnsSZ2jIJcqsSKw6RoTscIUAAAAAQQ+HCwVtvFlnRydGXZ+xpyKM +KxDp5h7YMg5/dpRFrp3qNonm5/RHoT2Hw9i5GZtrXT2xPiR69wLOzTb4pnIWlENfAAAADn +Jvb3RAdWJ1bnR1LTE1AQIDBAU= +-----END OPENSSH PRIVATE KEY----- \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ECDSA-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ECDSA-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ECDSA-KeyPair.pub new file mode 100644 index 0000000..bd43737 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ECDSA-KeyPair.pub @@ -0,0 +1 @@ +ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAAZE+/l4KZ3eMVMJauKhZUeBCEef92KvyeuKISidkM8/6ESNfUCJjJqF+8VaioojiUpHOgSYXlaTpy370szQkUZwQByTtncn81e0Kcd4S+e6wcygA2OEosTEFRFE445MbOLIcy4YEwEiBEWd/isGGJPN257EmdoyCXKrEisOkaE7HCFAA== root@ubuntu-15 http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ED25519-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ED25519-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ED25519-KeyPair new file mode 100644 index 0000000..3176f3b --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ED25519-KeyPair @@ -0,0 +1,7 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACB0Tsaj0scs8fYKMlnz2Mncky545NoICP9eGMGIpo5G3QAAAJjCVtyJwlbc +iQAAAAtzc2gtZWQyNTUxOQAAACB0Tsaj0scs8fYKMlnz2Mncky545NoICP9eGMGIpo5G3Q +AAAEDjQpuV2OWHZVy7R09w6bw2DnBa1UdZrsAmQ7dPyxasx3ROxqPSxyzx9goyWfPYydyT +Lnjk2ggI/14YwYimjkbdAAAADnJvb3RAdWJ1bnR1LTE1AQIDBAUGBw== +-----END OPENSSH PRIVATE KEY----- \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ED25519-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ED25519-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ED25519-KeyPair.pub new file mode 100644 index 0000000..128e883 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-ED25519-KeyPair.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHROxqPSxyzx9goyWfPYydyTLnjk2ggI/14YwYimjkbd root@ubuntu-15 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-RSA-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-RSA-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-RSA-KeyPair new file mode 100644 index 0000000..84ee354 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-RSA-KeyPair @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn +NhAAAAAwEAAQAAAgEArsY72FUUnK8yLqaY3WkotvMFm2aryoVVPbaHiXMqmKTTQPBFshwe +Rk+wEJBE7th4fIq2MuTu+hMxEQ8+oYJ47Ka1+F96QE1F0uu1Tuec/ZpeuEiXsTBApWZ5Sa +AMqQ3gMflfqgp96ipV3SOpLyEG9GIqVMJYNE/ggwIV7Uc4ybC21Zy3I7QOfHho8BeaMjV/ +703rlu2UWs8Twjo7VMWLvnGMUjNMzNGql9WouLEzHshmkUZBRdKvnTjsT9vx1q5OycaH/g +Hos23EbNzn50rbiIm93PcZ/otGBjjfbHcsRmjxZhqCzLss5Nr93PLIePN8Cez91S7aLjCw +Ri4ugKxK0EZwNHnHPi0yR0eI1eMfJLttdYnrOZiSxEVbCsZiDfTybuBYUDaH2EtgmzH9N2 +5IZeJOjrjE68NZhiwXnaIoHvfpkPTkWMSGLsLY3Kg0dYwUbAy9ErqkS/MEMmN70OxIxqTI +hFSZ0bv3FBbZTZnl/GAEWmV+KSjURKuJlS9EBYE4ZvzYhGi6K7g3IQJZwrcqy6s8u24r5u +qAQCihfuWFabq4nSYB1zczQ7Qq+V8wemak6lgoFGq4f58k3FUhkJbwQRFJoQYvaMI63dls +9q67bkocjycsGPvWDU7IE9dVs36z7FevlQjsoHwAr4+0T1PFsqHn++KJ0p3AlopIV7ObS0 +cAAAdIyEoveMhKL3gAAAAHc3NoLXJzYQAAAgEArsY72FUUnK8yLqaY3WkotvMFm2aryoVV +PbaHiXMqmKTTQPBFshweRk+wEJBE7th4fIq2MuTu+hMxEQ8+oYJ47Ka1+F96QE1F0uu1Tu +ec/ZpeuEiXsTBApWZ5SaAMqQ3gMflfqgp96ipV3SOpLyEG9GIqVMJYNE/ggwIV7Uc4ybC2 +1Zy3I7QOfHho8BeaMjV/703rlu2UWs8Twjo7VMWLvnGMUjNMzNGql9WouLEzHshmkUZBRd +KvnTjsT9vx1q5OycaH/gHos23EbNzn50rbiIm93PcZ/otGBjjfbHcsRmjxZhqCzLss5Nr9 +3PLIePN8Cez91S7aLjCwRi4ugKxK0EZwNHnHPi0yR0eI1eMfJLttdYnrOZiSxEVbCsZiDf +TybuBYUDaH2EtgmzH9N25IZeJOjrjE68NZhiwXnaIoHvfpkPTkWMSGLsLY3Kg0dYwUbAy9 +ErqkS/MEMmN70OxIxqTIhFSZ0bv3FBbZTZnl/GAEWmV+KSjURKuJlS9EBYE4ZvzYhGi6K7 +g3IQJZwrcqy6s8u24r5uqAQCihfuWFabq4nSYB1zczQ7Qq+V8wemak6lgoFGq4f58k3FUh +kJbwQRFJoQYvaMI63dls9q67bkocjycsGPvWDU7IE9dVs36z7FevlQjsoHwAr4+0T1PFsq +Hn++KJ0p3AlopIV7ObS0cAAAADAQABAAACAEC2ca42Qn2JeSFA2lUQ/NxQu4DA0VcZa2iA +T0sbc2g1j2r6DDRYqPULyHs5j+yIBoTGr5PEpJ+/v2k7pcsTjkbBq5sdbxyj//iLAgUHSV ++1auD9L/2Rij4z5TDXrBhkZODcHwnM/LZZmpVZAOnMZtDSEC52D0a/VLfta8UBnAtB/VC2 +yDDWGI8J3oEXnCZ/HLG0vkiSC15cUkqWWSWYR5fqXzSIfiVQdMPnfqN0KSN6vE+KHd0Gl7 +O1QfqHy9HblJytf+kTN+BIAnT0joFbfFHf/ob0j5FqbDEdmcyFi8U+UjOmGUxI+eR7GYhX +9NakAQeD0rC+ulZj/MDflKRcJw6+H/wHn2pdhahZY1A644SFin4SliFKl57njRkY/psjSg +jpP0Nneg4+YFyFk9iUnmzxStJwuGE48I5eRESTFKgaMce5IVGOpz/YchQ9AL+ll2Qy6JfN +nhpjuZD6Zh5KwsuLtCbaGfu8K8bbMEZg8F7jU6UdbpLmRLroKt6yFhffEp/tRrsX2hFoMt +qCMpTEX2G+EzItPfFzq3/bFtnMxHmDiu4P8J03ALza/0OSIa4bdqMYG+97VBMbMeT6U76Q +iYoDJH5/cdCBO/Cx+elM7oyFOFaV928h+6p01LGywcQdsgFPDyHSjXnF9t1fnLN4vhz5vU +9QiVY7ldr+3PfxxpnRAAABAQDI87mazAnKsSJtkl70etg7vexltSxqkbhV/Hd5TYVMn19v +U6rIjCY7q2xlHaUJdDNggwMpU679amkRP5BFPk9G4u8Xf5MyyDQpv+Hgpl7H0B1qEeJsBs +huxURrX3EhLmb3300onEZXvlRwKOelIoVx5RZLUPhY0SbjBgH4sbO9NlYzs8xp4nLyK/jq +DsqzmkkoQvK8zMybs3JwtGmTjDHvzmgcBgpm+s9gXyDJn3xe4CBW7v92N5/7eUehdXwomL +4eDs/gR9QRb71bBSv9UaF5nK/TGJlysiM71JhBa2lmXlWg7KhALAu3SdTxxdvw0oyY+q6F +E8zC0ljNMId8imVoAAABAQDi0m1WAW02b/IqwsJz0CAJXGpvhnhTSak3muZhTM0LPoavIe +ow9KYL5Or4kQvbQXraYcaaRTp1Q9yJOrnXszAUWCGzqe38bLsI/SoRynLQaGEhdy1gr4tP +WFKw0M34AshzyauEwHAVJIm6KZW/LgHsrxSXPFAABNQkQtB4olokNgSb/bysgo06OkkMBr +N8mfY40m90RjTIvg3Cwei7xmna67MO1Bxzis8c7qQlf4hshFwnp+ixeLuhteYG1/DGxkfz +yZ4UYXVKiuq3Xq+jFpYbKJeU17HL5TQFX34KCMN0BsMCcHLJ222IZkvFZj50715Z+jh/Vp +xa6et++PX26BnVAAABAQDFQc26F12qnGA4heqa7Ig9WspGLEB4x5+cANOKaT/LtUFYWaYd +O7Meeijkk+C1XcoOMac62QysRmjk8JEWdxgLiCFuKLp+6vxZLmEXBrBF0guHGv4/HlbpYn +CxpMenxr0dhhwd2Flr1VtiadzEAfnc6MZE4byU8vVssYXORpVYIU46uI2OzIalnBhTXJYW +KuamE/R+O1+dqnGgevQqUBkA5p4k8w+RMEY3hvSuNd6TFy5uoLXkCyOOpo60fGFVqMZyvJ +IgU1et0umOA/JHrGzKHAl7WibRo4kf5MrPRLiDeDu92mqpwOl9NQjuTMR0OdZcXwOdrlG+ +daAgz5LetOKrAAAADnJvb3RAdWJ1bnR1LTE1AQIDBA== +-----END OPENSSH PRIVATE KEY----- \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-RSA-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-RSA-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-RSA-KeyPair.pub new file mode 100644 index 0000000..c59321c --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHKeyPairResourceParserTest-RSA-KeyPair.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCuxjvYVRScrzIuppjdaSi28wWbZqvKhVU9toeJcyqYpNNA8EWyHB5GT7AQkETu2Hh8irYy5O76EzERDz6hgnjsprX4X3pATUXS67VO55z9ml64SJexMEClZnlJoAypDeAx+V+qCn3qKlXdI6kvIQb0YipUwlg0T+CDAhXtRzjJsLbVnLcjtA58eGjwF5oyNX/vTeuW7ZRazxPCOjtUxYu+cYxSM0zM0aqX1ai4sTMeyGaRRkFF0q+dOOxP2/HWrk7Jxof+AeizbcRs3OfnStuIib3c9xn+i0YGON9sdyxGaPFmGoLMuyzk2v3c8sh483wJ7P3VLtouMLBGLi6ArErQRnA0ecc+LTJHR4jV4x8ku211ies5mJLERVsKxmIN9PJu4FhQNofYS2CbMf03bkhl4k6OuMTrw1mGLBedoige9+mQ9ORYxIYuwtjcqDR1jBRsDL0SuqRL8wQyY3vQ7EjGpMiEVJnRu/cUFtlNmeX8YARaZX4pKNREq4mVL0QFgThm/NiEaLoruDchAlnCtyrLqzy7bivm6oBAKKF+5YVpuridJgHXNzNDtCr5XzB6ZqTqWCgUarh/nyTcVSGQlvBBEUmhBi9owjrd2Wz2rrtuShyPJywY+9YNTsgT11WzfrPsV6+VCOygfACvj7RPU8Wyoef74onSncCWikhXs5tLRw== root@ubuntu-15 http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/EDDSAProviderTest-EDDSA-OpenSSH-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/EDDSAProviderTest-EDDSA-OpenSSH-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/EDDSAProviderTest-EDDSA-OpenSSH-KeyPair new file mode 100644 index 0000000..59af379 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/EDDSAProviderTest-EDDSA-OpenSSH-KeyPair @@ -0,0 +1,7 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACB0Tsaj0scs8fYKMlnz2Mncky545NoICP9eGMGIpo5G3QAAAJjCVtyJwlbc +iQAAAAtzc2gtZWQyNTUxOQAAACB0Tsaj0scs8fYKMlnz2Mncky545NoICP9eGMGIpo5G3Q +AAAEDjQpuV2OWHZVy7R09w6bw2DnBa1UdZrsAmQ7dPyxasx3ROxqPSxyzx9goyWfPYydyT +Lnjk2ggI/14YwYimjkbdAAAADnJvb3RAdWJ1bnR1LTE1AQIDBAUGBw== +-----END OPENSSH PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/EDDSAProviderTest-EDDSA-OpenSSH-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/EDDSAProviderTest-EDDSA-OpenSSH-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/EDDSAProviderTest-EDDSA-OpenSSH-KeyPair.pub new file mode 100644 index 0000000..128e883 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/EDDSAProviderTest-EDDSA-OpenSSH-KeyPair.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHROxqPSxyzx9goyWfPYydyTLnjk2ggI/14YwYimjkbd root@ubuntu-15 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-DSA-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-DSA-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-DSA-KeyPair new file mode 100644 index 0000000..1d3ef24 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-DSA-KeyPair @@ -0,0 +1,12 @@ +-----BEGIN DSA PRIVATE KEY----- +MIIBvAIBAAKBgQDIPyMbBuQcZxeYDOyCqqkdK37cWQvp+RpWzvieB/oiG/ykfDQX +oZMRtwqwWTBfejNitbBBmC6G/t5OK+9aFmj7pfJ+a7fZKXfiUquIg9soDsoOindf +2AwR6MZ3os8uiP2xrC8IQAClnETa15mFShs4a4b2VjddgCQ6tphnY97MywIVAPtr +YyW11RIXsVTf/9KlbhYaNlt5AoGAX9JzbHykC/0xDKOyKU6xDIOVdEZ0ooAl9Psl +BEUuNhlv2XgmQScO6C9l2W7gbbut7zIw4FaZ2/dgXa3D4IyexBVug5XMnrssErZo +NcoF5g0dgEAsb9Hl9gkIK3VHM5kWteeUg1VE700JTtSMisdL8CgIdR+xN8iVH5Ew +CbLWxmECgYEAtv+cdRfNevYFkp55jVqazc8zRLvfb64jzgc5oSJVc64kFs4yx+ab +YpGX9WxNxDlG6g2WiY8voDBB0YnUJsn0kVRjBKX9OceROxrfT4K4dVbQZsdt+SLa +XWL4lGJFrFZL3LZqvySvq6xfhJfakQDDivW4hUOhFPXPHrE5/Ia3T7ACFQCE6flG +nmVCAbzo9YsbdJWBnxMnBA== +-----END DSA PRIVATE KEY----- \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-DSA-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-DSA-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-DSA-KeyPair.pub new file mode 100644 index 0000000..c0790ed --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-DSA-KeyPair.pub @@ -0,0 +1 @@ +ssh-dss AAAAB3NzaC1kc3MAAACBAMg/IxsG5BxnF5gM7IKqqR0rftxZC+n5GlbO+J4H+iIb/KR8NBehkxG3CrBZMF96M2K1sEGYLob+3k4r71oWaPul8n5rt9kpd+JSq4iD2ygOyg6Kd1/YDBHoxneizy6I/bGsLwhAAKWcRNrXmYVKGzhrhvZWN12AJDq2mGdj3szLAAAAFQD7a2MltdUSF7FU3//SpW4WGjZbeQAAAIBf0nNsfKQL/TEMo7IpTrEMg5V0RnSigCX0+yUERS42GW/ZeCZBJw7oL2XZbuBtu63vMjDgVpnb92BdrcPgjJ7EFW6DlcyeuywStmg1ygXmDR2AQCxv0eX2CQgrdUczmRa155SDVUTvTQlO1IyKx0vwKAh1H7E3yJUfkTAJstbGYQAAAIEAtv+cdRfNevYFkp55jVqazc8zRLvfb64jzgc5oSJVc64kFs4yx+abYpGX9WxNxDlG6g2WiY8voDBB0YnUJsn0kVRjBKX9OceROxrfT4K4dVbQZsdt+SLaXWL4lGJFrFZL3LZqvySvq6xfhJfakQDDivW4hUOhFPXPHrE5/Ia3T7A= dsa-key-20130709 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-256-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-256-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-256-KeyPair new file mode 100644 index 0000000..31b1268 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-256-KeyPair @@ -0,0 +1,5 @@ +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIPKmiQzAASg656IP4PuuElLdLdO/MIXrGxQG6tGkKZ1HoAoGCCqGSM49 +AwEHoUQDQgAEobHtw9wkL332ep9fi8Gw5g8sEGwslNonPUCDR6YUZ9mjOehliLpF +DLHLxlIFafrVM+LIpagjpRKZcnpGPWQDnA== +-----END EC PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-256-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-256-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-256-KeyPair.pub new file mode 100644 index 0000000..1c9763f --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-256-KeyPair.pub @@ -0,0 +1 @@ +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKGx7cPcJC999nqfX4vBsOYPLBBsLJTaJz1Ag0emFGfZoznoZYi6RQyxy8ZSBWn61TPiyKWoI6USmXJ6Rj1kA5w= root@osv-linux \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-384-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-384-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-384-KeyPair new file mode 100644 index 0000000..29af76f --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-384-KeyPair @@ -0,0 +1,6 @@ +-----BEGIN EC PRIVATE KEY----- +MIGkAgEBBDB15z4n/vjug4fcEXPcgeonCHQuxJOwgFDIap/rgtM3EwuFDpE9wkfM +K64UwV1ZSlygBwYFK4EEACKhZANiAARSJmbXE4/ONrLZXFRyxQRcUxMe5bt41vWm +Qr3dK/X1DSmei20T4epdaCeKMwK58O163kAVHOaDXfRweUTSfI5dZ1l2OXFwQOzH +Gayma2JpPs8TYR+lC/pDC2iZMp4CR0M= +-----END EC PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-384-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-384-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-384-KeyPair.pub new file mode 100644 index 0000000..93ceef0 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-384-KeyPair.pub @@ -0,0 +1 @@ +ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBFImZtcTj842stlcVHLFBFxTEx7lu3jW9aZCvd0r9fUNKZ6LbRPh6l1oJ4ozArnw7XreQBUc5oNd9HB5RNJ8jl1nWXY5cXBA7McZrKZrYmk+zxNhH6UL+kMLaJkyngJHQw== root@osv-linux \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-521-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-521-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-521-KeyPair new file mode 100644 index 0000000..43f79d7 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-521-KeyPair @@ -0,0 +1,7 @@ +-----BEGIN EC PRIVATE KEY----- +MIHcAgEBBEIBUacw+zn8Mw0PYaqqtAlOyaVXARegI6sK5YBhl5E1l9sqTzVN77ce +1RrqQ8smfvZ6Hiw5gdGcPTszbiorVV5npg6gBwYFK4EEACOhgYkDgYYABACg4siC +q1iqr4U/spXmw6b2VwBMsof7XLQGoD9wfwUikb8XWthNSmPP1nL6rlzJ5j8Bezn9 +BSSDfVAJfgqxmGIHdgHRVc0mkdq1/Q/DKhBgRyjZc29eo0o2ck3SNGNVaAabRYj6 +ck/iub/U6trKM7bdqy/joYYMwZdxLyYW5YxkPbqEfQ== +-----END EC PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-521-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-521-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-521-KeyPair.pub new file mode 100644 index 0000000..520b64e --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-EC-521-KeyPair.pub @@ -0,0 +1 @@ +ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBACg4siCq1iqr4U/spXmw6b2VwBMsof7XLQGoD9wfwUikb8XWthNSmPP1nL6rlzJ5j8Bezn9BSSDfVAJfgqxmGIHdgHRVc0mkdq1/Q/DKhBgRyjZc29eo0o2ck3SNGNVaAabRYj6ck/iub/U6trKM7bdqy/joYYMwZdxLyYW5YxkPbqEfQ== root@osv-linux \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-RSA-KeyPair ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-RSA-KeyPair b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-RSA-KeyPair new file mode 100644 index 0000000..afc6aa8 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-RSA-KeyPair @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEoQIBAAKCAQEAxr3N5fkt966xJINl0hH7Q6lLDRR1D0yMjcXCE5roE9VFut2c +tGFuo90TCOxkPOMnwzwConeyScVF4ConZeWsxbG9VtRh61IeZ6R5P5ZTvE9xPdZB +gIEWvU1bRfrrOfSMihqF98pODspE6NoTtND2eglwSGwxcYFmpdTAmu+8qgxgGxlE +aaCjqwdiNPZhygrH81Mv2ruolNeZkn4Bj+wFFmZTD/waN1pQaMf+SO1+kEYIYFNl +5+8JRGuUcr8MhHHJB+gwqMTF2BSBVITJzZUiQR0TMtkK6Vbs7yt1F9hhzDzAFDwh +V+rsfNQaOHpl3zP07qH+/99A0XG1CVcEdHqVMwIBIwKCAQALW02YHN4OJz1Siypj +xoNi87slUaBKBF/NlkWauGUIcpZFMTwnkIn6vCz5MhRbQC4oadRDzFNUrC/g7HdH +prlqYe2P7uEGIfMb3YNFdk3tgOHmRsHqFgFMpVWsOjlTxNTUsQ74N3Isuxnha4wY +9f90sBULc+WRdRvO9jbkSDaqoYVKAqCFWtocL+ZWwBXWrIrsQW4PElgZ/duc5DX7 +eeJ5DXCSj9dO+1KxsWEOKaoeABEegrRVys1/shcDNPhf/p0QShKIdPcpnDUc8cny +1bq8GSt6jEQ+tuRoSnYrY+RD+mlkHrx373Xc1a9woV+QKTThmd9TQ8gzHMHNqq0a +7kR7AoGBAOuPOTRiKaDtQyMTEX7eeHsPNE24EgvONjNpxyQ6gKGthG5SiB0IO7mP +r7EggbR2EY8eMCY5HjvxzxgH86n2Pqbzsr6UlQq7YTPupCm/7fPgRknu917GA20f +1cuY8B04Jp4FIGryBmCcScX6usXXhjfAvYCWWfkSytA8gX9+b1TNAoGBANf8shbp +wRnQfgAzw2S+xs29pdwa6Jb/xuLvHSyklmgidrK4nsVI8G+zeCqwkqkNM02sM+vR +c8EX7+myrGf+S2V3JS3AMNXEhavrWVH0CuqFHlBjSwHZ0uKuPpWHlCnud+23AdQz +Bf1H7tYKt5es3J/B37o4YxhAL6U9qq+ewZH/AoGBAOTURjLjA94oT9jt870SoOyS +bVLQEYfPol3UeE8UQnEsN4Ec+UDGK2PNaNfzsTL2WjNB5aF5UJIA184znD60seQC +raMxQFORdF5ViYekgMEFwJ+XrnlSpD4e7PGqgtqOUWZOH33VKsRADSa5DTU3xDYo +8porp9wDoHKD64MqXYWTAoGADFeVJeF4v6WDivukw+2k9dBSntz3WRXuG5iilNY0 +evqnsnDzITdeMkTFCcDycA9iBHA9ezCKRYxW2id3kOn1rgbO7KvliI7jESNkMJGa +OUlvck7RFgxyc1pp+ep9fr0rbKtfMLJ1Xu4q56jXSn7oCSEFeFr+WSg9PKRwJ0rm +fV8CgYAkYOiNY8jH5lwwoPWOIPJg62zdzmRQktrU3z7Nzk5udN6JnG3g57QjkozX +AgHARKQ2MuXW9OfOnYNhbGeavcBQmg5XUx3eL4PRFw8mFZdjpBD/kM/dfCEwEta3 +FpRlVGn0RNqVV5xxClObD/CikkDqKZG4MSj3CrO3JK33gl1Lgg== +-----END RSA PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-RSA-KeyPair.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-RSA-KeyPair.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-RSA-KeyPair.pub new file mode 100644 index 0000000..9fac6f7 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/SecurityUtilsTest-RSA-KeyPair.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxr3N5fkt966xJINl0hH7Q6lLDRR1D0yMjcXCE5roE9VFut2ctGFuo90TCOxkPOMnwzwConeyScVF4ConZeWsxbG9VtRh61IeZ6R5P5ZTvE9xPdZBgIEWvU1bRfrrOfSMihqF98pODspE6NoTtND2eglwSGwxcYFmpdTAmu+8qgxgGxlEaaCjqwdiNPZhygrH81Mv2ruolNeZkn4Bj+wFFmZTD/waN1pQaMf+SO1+kEYIYFNl5+8JRGuUcr8MhHHJB+gwqMTF2BSBVITJzZUiQR0TMtkK6Vbs7yt1F9hhzDzAFDwhV+rsfNQaOHpl3zP07qH+/99A0XG1CVcEdHqVMw== lgoldstein@LGOLDSTEIN-WIN7 http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-128-key ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-128-key b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-128-key new file mode 100644 index 0000000..2b93a42 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-128-key @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-128-CBC,D41AC063160FCC09B1E1931FB43BCEAA + +V218dGT2pUpimnwEVn+2ljvK6mvm2aNLlaakMunlHfIswrakJ1WTs8a61pYILOn9 +MGHrCiqe6ZI7FBJ2wXpSxhcuM3fzk6/dW4Ghh4EHG1Y94w97EizxNfyz/iI2XQw0 +i6ttaDLVzP8UcSRElqG+Zpe1A7EE/DkdkXD3f/DaGHtu1zirVeaEIggMLjfTdwnR +sH9VnUZhe74VdPV0x16h7JjLt5fcbIjqJ6NWW4QvQpPBv3k0oiUy/nP4FXg1b7VW +7SowuCPi+mF821hj4xSO8ETlAU1eZdtgXqtejtKm0iDtsjnTBZPvDDrq5ephBlxO +k7JBJG1LFUiDIGnpxos5nCsKEo8UAw9a5/D4xE3C6UTocXon28XGzVCbkZBN6jcd +UbpjCVwKMJmFL97487u9S57xrGTmJdi1AtF9Rei8juTTQY4+r3l2c7JtdtcbLUhj +iLvdYnbh6kUEyE19/+omJaWGQlFhYp7ZMRRQSiz6TD8lhSIBPpXzs+uMfhkrifVk +3WpjRoikmPOOFLtecee5Rp+SpGd700XgLnxwZ47l0FNfrKKqd3+nZX4JILQ2M0JP +sBx8gcIew8aUqMzWrwZxbrt9Pd1+2kSNVG9hpLoNoA4WpQnYQMo4L0eTCeMNUOap +f9H0Hh3QnqXTPHbcYZJCGE2RUxLzn/d7rUxUdEzER+pkhJcw9JbV/izTrpDHs9bM +cfBLggQvs+UIBww2OFz2BztwoQzsSEuNW/SxG/y6SfRUQq5TZw9NxYnrrqfBXKtx +svB1JVbn2fKq2Lvi8AZ1fF3tyrNot/tptDf0yDHejWDUvVx5cXsKVK2BbVjbZ88k +mBtUbw7ea9Ev7ZsihNB2EdhPjLhhKlKLIZznPKeXL3GDTXqCgCxTVh4wLvaR8rDU +C3Isil4WprCeynmZpOe7bxAZDm2QCobnDB8sLQqBI4zgH8X/1iyXJVdSKfK9vxcB +sJ5pYCcS2q0C+CJkn6HVTlMQ5CyyzvPaDJukJoxwxsZ5hgCsUHFzrvyGnXqGfTBD +qEW+oA7cj48CfweV5pXHj+mZpCrpn1zRVJRz4h1FZRsttPGtBRAlns5I3kh5BPRs +4m1BO1jiWyp/7HkUrDRhEf/QeJsP+mTH32pQgnngZ/AGA0PUcKanMUpe1d2ju83V +EIcTz9ycTHPiOAM6GaVt54fKj9WRBU+7pf14ZdJmfhp6twc0jNtaTh+/I6Pfb0jN +0d6yKV//pOeJJBNhuOJgm/0vfkOnOojIJchOQCRt5Lg/a4fD/JXtLOed2zOQa+0J +3d8Y93mQX/iN1wi95/sG79YBYF3FkJYVhjosSKbiIaxIn76zIx4IAlziycDKvgpr +JgZcVvCDc4flwrf3Cv/uHK7UWOE+16X1CfAy8JzFg5bhiMmhgsJyHmd+zDGrY6NX +zz+wLmwOenEwC40gpt89OXbgMcwJMtfiSusatRtZ+AAs0jb/8jExVXfcYE3m3r1/ +FqLZ7seTQT2D01YoPlwUtSPxzaZbziAJ/NaGmURnBGVibDCJxwUAiOSIQH4prIfg +Q2FCJeMTbLV43Lanlby5nrmLkzsw3uo1MO8Of1DbcnVUHNSwrp/nNzrYdxBLIvqS +-----END RSA PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-128-key.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-128-key.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-128-key.pub new file mode 100644 index 0000000..b1d66a6 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-128-key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/oDbs/yYxBdT02ldP6JIrcETJQ+TCml1tHYuo8cIQp0DZCgRZiEZ4foucAT8R/vLK01nnjRzrI42MXiCzyAHb1sPRD0Fsbpa4TFJczPBBRM2mp56airnArQUMmg/ZKlOf82hn+u7Kgn+ljyjYG5FrdoUBju62i0H4+oBfX+pTkd5ruUgqLyPUC3qtNLwjS4PIPAda/pfpsi9UawQ4ommWCCLlwK55NiSrPDBwKNuVWROcQps2NZRxzRLQEiiCEVBEdiUqqUQ+dg2beLV/4cCS860ZZRvCfe+ko8TUBJ7SLtcrvOEYJOKIZDVhcnQKN/wyXCHExSYytUconlFn/9YX root@devenv-aas \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-192-key ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-192-key b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-192-key new file mode 100644 index 0000000..014410d --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-192-key @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-192-CBC,EDF8E3E634D2106991113815A3C1F11F + +PZaaf2TCSCRmPZDnUa9Hq+RVGAXRXl8T8rduiqFLKG2Vk192AEo4WRPWhIcJ4ov+ +o6N69V0Fj/NrRyuwjihQQM27gTK2JK8cvDen+WB3mp5wmfFaazHXO21xNGMAp3bm +obEeO+NHaG0080yxQ4AU2BzPZ1q/ePjDGBiENUsBAHeZvN2fM5uI4Cs9pqko2OM/ +ZiJQkn2QlnpSPm8B7kspqpEV9bn1peVYAMIkp/yES18Kw50kan3R2CqccutVQfdP +8ddTPPUvWUrDSrW/Ae2qZvRoCXVLDhy1jBKQDMUCrxqDJCo58GR0FWxK4nhCgfeL +wmxGaKL/3uKDl5otkj93C1qCbEvQCJm5rcwEjkRVfeSPvNNh+WQrJE7uNcJB4kXX +tF8c5peZI8ymdlFFXlCqjVpdhJh0YKRhpxhWKLA15I1bbwwY4/mwIIMyXOcAQo58 +G7XOwBPw01/lSJ/YTR8y1ubFbWJ6LgoLgSzsOLnBxJJji148UiNDPPbal0FN8vK2 +VsSRBrjrNHSmh+BSA0AStq4QtQpwNMU0qKFLzx5HvoYiaSG+OKtJLZNqTGzDG5aS +Xe8rNoTQTaZBy5yTY1zTn2lMFngWSt/aYyXfc1BXdYyTOk/eoGHtXxp91nQtCdkG +4VMMfPlnbW1Q2Cq4ATdcIUPPKLaNVlP2TbloBb1wYjXy8RfFFqZVNOLnxXnXOXUG +U5SlG44XV5AouwhrlUPrm+0+9jIh4pO4sfG0ldGwabGbUMZ6vvgcU9w1yRcsjycG +v9yH7CfFKKXjUL5RR2weZVD8vRjQMbfVHRt3P4NFClI6e1gXx92FmT7x97866e+T +TohyC7uZQq2prBzt8BwxFP0h19+CiTVzofe2I9x+Hce67F+ATnLq9fxOnjZlwK1i +K95eK+Itc9zSu9tIZGaLvghOExZ24893Ncz5NJ2nn0YptxSi24e8PcECHhSUrjv9 +1VOi8JUmv58bQ5ocuUlHmB2FkpnsYUNjtQx1OT2IRovQJIDCttHhT3QIGoiqoeTw +sSwyz0gDYzAJtuVkSZxqXJ4LEMozaA3uwxv0TfaQordm+GuGKuV5MsKyEQtITUk5 +5bgQfS0VQqkbq2fRjtd3nIJWCF5otrVulY0tzoTBjGZ2trNj5nz5ZEUTFdRSAaxb +F+i3Mv8gGPC+2YIo8feDCHnRQ1AALjLon8nKefRsWAOYUozNCtHvu4g7WK6+GcPd +eiYM7tbSrNCHg+KdB+eWrJCfVCgVHTj8mGb3EiH6oxgx51TmlyuQYJAVseWjQOdm +IDKiAsNNZijmgMWLsFZG1VvF/446VWIGkSW9eB6bB7aR1Kg4F18VkXdn+SPmaHrC +NHhNa9dOmcOvlNXIs7jlTjRVEC0pp8DH0AUdPjqlR/F1IHb7uFyqlza8Cqb7PZJs +x+9GbSwuyKLKLvMzmsnBtpRT32Srsbx6pWst40gaoOMFxto22vmGxz4IABGi96V/ +NrrDHtuZ5OaePl7GihKcUCSSVcoFO2jKKNMMHSSVGhxkfir7qGzMe5LZ9/zl+bvW +vBS0wSPUd+P3mLc0m53mH+g26I479ryX6/2W+GecB1h5p7S7vJMPQjqZAJskogf5 +-----END RSA PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-192-key.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-192-key.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-192-key.pub new file mode 100644 index 0000000..3fda036 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-192-key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCutvykV6G6t4JlLhlJOQKknSB++PXLTtuSjXaH77hUUEl/yc9VbEsfOz1NySBRQDWT0sgRZ1D2YAxaIvK9+0wZPnRNO1ptDrwj650Gflh8vKkEQOlHH7ISTxQTHtyHGeXfm3Bl+qqxTMPG5gcxxkKINMvKAkNYBnOyVX1OXUvqtM1jx6THlfWPQ9yFuVmZDVj1W5VItxjG293RejbjN1EjhhGRBiqwczcIPgPiMDfR0+xFNEQt6YD4k9TFEkLmIfCn+fcqKJhP/z99bRosMHtkRwfX/Rco+G9dRwe1sHvVH7ETeS7v3vl3WoM58AlpYYGUIXsxozRdGE93AmTkaSIj SecurityUtilsTest \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-256-key ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-256-key b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-256-key new file mode 100644 index 0000000..26b699e --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-256-key @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-256-CBC,4FF564F3E05187BEDEDA0529D44EE13E + +z7KGBVkxJzNS1Z8vMurcYmHhlbxnUYHry87VgzV38UkwsLSo5FIPNUaxvLPeD3Im +YW4hQ/1Z+3onSwTgaUqxih6YK+fHS0RZD5R4HjOWaERCPZa5/oDciLrjOU3EKkSV +n84/ezqUn8GlMJYcpB2sURCmnJZ6erHCVSPAhVlsrWPO9uZHx8BpaclqsvC4Gq7a +C4liGjDNsFvVO998eDIDLmHeO+qGnyeQK+pu3/+Ausvd9QjUf4L3T+Lu+Cgr0w59 +tB3TxeGxPel9Av88VYIhCddIEvRyMcN8lzLrrYrsLNPMmaF1x2uNDORJCTlEjvLw +QG6zugofiUVdZdsWRPFmM8DbujeoUHkPkwImXedhiKz1Tp0Rz6gqGx6tzsqEe0kD +eS2e0Ibj41fFxpkQlaG/xDliUvntkoQ6v7ZKbXQrsBP4hyoMcjeUMhWL+5shkJEV +RzvZOl7WKoovFnf3glLdiDFqlfLK5BhBJckLmdmnVvsD1HYeKqSDrx+r3hUF3yZ5 +Obxxk++QTC1qHhnyAwqW7Y2owq81pmOhgxKqh/4OoxYV0trIgzI47+5hKsp12Van +7qBCfTtXv4IlBKaKARTroQ2sDPAi1B2j8mU5lrGm81BzsLSqh1IJjOMsccWNfjMS +jQMKvcQN94y7AvxcBDGVn9FZftNWs9/ZwitRCFfrz/n0u6hLDQBbH6muDffo4ZhF +ZiH23W743N/ZASC/kA7LZ3pmH6TNl2Zf1gP+tTrfXu17BRDJYi8VqHBcuck/M4Ox +qOpP4mK2B/aAVmTkty67+QJerIwsW+h8LsjkQTnXGoneobsx2nL8OvJtPHkOUo4b +1zFyFvQK+V8DWWAml4Y8V+4NCgrybqqK11ApRl7FfaOyCMgZ+AvqzjK3E5s1gsaf +AaxORV0iDE0Y8nhq9EEhDNTr5Yi6FeHuRmVsack1AQqYn1U64k21x4ZEmDjslq9t +WKizqG6jz6xtRtsypr0oCBYirt8p5qDmeO58MdES6A+nkOZC0ysyhizpDWdj01rQ +6w3el0t/wUh1lBC3UCTeD7Vz20B1rAs5AlbdFmOUGHoH2Hjty1DQVZ+Fl5/K9AQi +yaVR07IDE45i9rvl7DThRHT6Qd0KAb7bIo+Xlz/xKUgA0UVLkpfGtgDNi1DSTsBQ +m6xlvR9M3tmMwnHlOEfX8YAGIQR9JLiImUtypjXnp6IdxCn682UIWC9XakqMFbzS +Hm4Y0VBHYPisByl7PuavEP69pgYVdt1PqFFOc3xL42QVihYsM9huw1j4rlP7/jXB +zJyH6yuqZHV7BYmurBByxRCe4joN24D6HYWTLKhPjgIG++n/IZ+PO7s0khrTh3Pl +L3bOujyLtr88w6PPhBOCVDPgmJEC6lIGC8zhh+S9Knewr50PsvOoQVKGDTSPO+G7 +NNa/ugN9/eTeO2ru2y6HuahWrf2seKrTQB8JVYP0SZkOe4zVdMRR5M559iLIdh0e +U/hrj6v/dYVbIkmSWdhtxx0jXbM2VlWTeQQjUYzeVumVhZ1pk2P0LeHrSWhHa5h2 +hadw69Ht0hRTbljZ1MHjK9BbQI1Ph+YBuDr0aPVBf2ePYFvPObw2Mik7ctiDlmQT +-----END RSA PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-256-key.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-256-key.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-256-key.pub new file mode 100644 index 0000000..6a3a0ac --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-AES-256-key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNUSajd7RzgqvQ2Q2em3CFA4Fh2f8YJkzJTPrcn9L9SFZnent2rABlVVr216jh3hAjhRFEkRhsoWUxUB7UYN6Ox/hGXrfCtD9wB0QbpOjNb0tnSovl3e+LfnWO5mpaRAb9croiuKVwQXuiwLNOQqs5C2wvLJhc77U4myuvFycYQ9Gh9g12g05Q8Qs+Du6hFSV1n1ZDMTtiVYknhe2gCLmBh1ghpaGeG3eWpd8EXumTrpwrylb1hJtj4yo748dXFa/YUJpqzCNyoA+0aY+v0MwgxZcS6zWt5VQ3yqRi4YrXX7vvhz80rKmJQlEhvM9rVKAwKc/qkJdTWlU+v0+/zY7/ hello@world \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-DES-EDE3-key ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-DES-EDE3-key b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-DES-EDE3-key new file mode 100644 index 0000000..e6f6156 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-DES-EDE3-key @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,7DD956370CB0B83E + +oTBNWVUGIKQ3LX/bIE+upuTtiVSWQ9ooTxdNJRIpGsq6oTevtxgkuIF9oO+ShZJq +zf/mTQPtAyRHSX8JsTKw9GZhd5w7c07V3wfzx689RHFCZDW1DIl67KvwyhRwfRtY +HXZGYPW/XmOgh3Gw31csmLlJd42r8d+7MRIfmo25SO5Sy67mNccRJikdbYa/HH50 +yMVaf7o73tLLIS3WNnhaKjf9hRsSW370aICk3hfS/NMriae0xAMpqpYQmGkn9Zhh +zTg+Kjo0FiEZEnMNKZQRRWx7VsoQRfrebOZq3LF7tfEnJcKneJ+grvQp0FpkEMzN +JeiaEwtoIrXRU5KENQbEnXqF2Mpai6ejh5lVflcHqI01lwWGWkwxnNpxgMbWCKuB +Unad3fQQLFQU67B8jQpES2AQVXO7UaaDHNtATftC2gFpBktlkSurT/KZBT4bVfS7 +z3K9gFB/lYrji2ef+xuzbLmq+eja9OlZIVxH7RTxODkyrxeNhtEUXJgezOB64Cny +YFrsDPcR8rSRc5SjMMuAy2dSkyndSp3m2YmtVFHibPrX18K2lblRkiuVDci0EX4p +1XzaCJ9mhdtMedpIzFdwgCOt/M8OBw9g02qgOK1uBu37tXdACNxhX/wrFPCtbJjD +yBwnBbXoeca8ZF45uw1egKlHaY2d7kTsH+bdx04bTo4Xq0+lXMALxxkfwTOt27xL +JQp15AFm6ZAshVt7hxCtm512HoSkkFYMPUPawH9HVZE6f4sbNBlbqgCmYhD5HPMN +Kd3ssQWTXwiOSd+k8HuBUBhtdZsgdpSdR5xH9wEymS9fcGmrf2yLuRlxhvoqo44X ++go5CqLoAKoUtVJdtZrkmMdF1OxufDBZ16+fKN8NNE8vQv8Kt221yg/mmDy3t6mh +axynBSxk1Qtjz2H9iZJ5nglF2Hceb1FQXHGlLCNv+cwA9vRC0pQJ25fPHVhvxhmW +gnLJ5OY+zXENUWvMIeAGCSfjSVtnSVWAfdJ7kgHZc/wCWO6rYAwlfsPDq8ZdQ8Za +4Hm6sUnkHHtagvJZahjdSPoziE68FiHqFU3PdmuQsZpCFOzloxahWImgx0UM9n8k +2DlRPK6bMBCjpUrb5D0jp8YU2KDepw2D4O7RaFLh47w78oxrO1gABY23M4JQfUiP +lzsfsGy9OI1twCcsJhFOX95nL9w+hlvFALTkY5UT3dB3eWP3k2nE12UxQhE3hVZ9 +vI100y2m/FUnKkeGYkvhRw9yD611jjYuRYGL3LsKNaOK97Ses+vAB0LNOss+12vz +7bYvDUVJ5csfpPGqxyzYwIbytDwUcvxTLxRlgQNb2YMqzSmVodO0lyXdNF1/KUFF +nIdlh0KSe4BALzYhya9V71MngLHFifp/erS4gdnFbbBCmZTEZhziBnqimRPoN5Co +K+22blcRkDytiL+NTRybvfOYvy6Ulb4OK/So+Y5r1B5KGhJqFWSeo0g2ftAB6r1h +HSbfoxYO/xCMQy7aNXuJI0giVRThcQsQapTO2DMeymt/0nj8qEPF0dubtbmgJ4dd +aZuYaY1Qxk0umVfq9zHsRTbRb+16TuZtp+7brDDRpRe6lSzdbTNShg== +-----END RSA PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-DES-EDE3-key.pub ---------------------------------------------------------------------- diff --git a/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-DES-EDE3-key.pub b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-DES-EDE3-key.pub new file mode 100644 index 0000000..f5c8c85 --- /dev/null +++ b/sshd-common/src/test/resources/org/apache/sshd/common/util/security/super-secret-passphrase-RSA-DES-EDE3-key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxvz5QWkCxznYbBOUbMFsCf+PJLauyZTcPsHLPZ/lHYH7EIa9s8NWbfFyTJXVwcuJiDCoRZ8d7KBahAuNjGeXsuJQuCqlLLl6GKoFnI0hnbKbFHDDSub+s3WvLdaTeF22qlTmlPb3RFYUO0cWk9MVpVNM6ev33CUGv4Dmbr0dZNkgUOkcPHiQpxKizsED+EWSVh1Ptx8AEDObNyFHJljbHUeJrHTIlcaekJheRXQWLvsJqKD0TN+Dkvi044MDWG9VjVyNsyXBCz1Vk9VaK1dNkkH+RDGTsFvFj7IPwBS/FliEVRrKOUgjMrmKUPbAm8IblIsno+HLZ60OB6X6hu2iHw== lgoldstein@LGOLDSTEIN-WIN7 http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-contrib/pom.xml ---------------------------------------------------------------------- diff --git a/sshd-contrib/pom.xml b/sshd-contrib/pom.xml index 672069b..ac00587 100644 --- a/sshd-contrib/pom.xml +++ b/sshd-contrib/pom.xml @@ -67,7 +67,7 @@ <artifactId>eddsa</artifactId> <optional>true</optional> </dependency> - + <!-- Test dependencies --> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-core</artifactId> @@ -76,6 +76,13 @@ <scope>test</scope> </dependency> <dependency> + <groupId>org.apache.sshd</groupId> + <artifactId>sshd-common</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <scope>test</scope> http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-contrib/src/test/java/org/apache/sshd/server/scp/SimpleAccessControlScpEventListenerTest.java ---------------------------------------------------------------------- diff --git a/sshd-contrib/src/test/java/org/apache/sshd/server/scp/SimpleAccessControlScpEventListenerTest.java b/sshd-contrib/src/test/java/org/apache/sshd/server/scp/SimpleAccessControlScpEventListenerTest.java index 4312dda..ecc9678 100644 --- a/sshd-contrib/src/test/java/org/apache/sshd/server/scp/SimpleAccessControlScpEventListenerTest.java +++ b/sshd-contrib/src/test/java/org/apache/sshd/server/scp/SimpleAccessControlScpEventListenerTest.java @@ -36,7 +36,7 @@ import org.apache.sshd.common.scp.ScpException; import org.apache.sshd.common.scp.ScpHelper; import org.apache.sshd.server.SshServer; import org.apache.sshd.util.test.BaseTestSupport; -import org.apache.sshd.util.test.Utils; +import org.apache.sshd.util.test.CommonTestSupportUtils; import org.junit.After; import org.junit.Before; import org.junit.FixMethodOrder; @@ -94,12 +94,12 @@ public class SimpleAccessControlScpEventListenerTest extends BaseTestSupport { ScpClient scp = creator.createScpClient(session); Path targetPath = detectTargetFolder(); Path parentPath = targetPath.getParent(); - Path scpRoot = Utils.resolve(targetPath, ScpHelper.SCP_COMMAND_PREFIX, getClass().getSimpleName(), getCurrentTestName()); - Utils.deleteRecursive(scpRoot); + Path scpRoot = CommonTestSupportUtils.resolve(targetPath, ScpHelper.SCP_COMMAND_PREFIX, getClass().getSimpleName(), getCurrentTestName()); + CommonTestSupportUtils.deleteRecursive(scpRoot); Path remoteDir = assertHierarchyTargetFolderExists(scpRoot.resolve("remote")); Path remoteFile = remoteDir.resolve("file.txt"); - String remotePath = Utils.resolveRelativeRemotePath(parentPath, remoteFile); + String remotePath = CommonTestSupportUtils.resolveRelativeRemotePath(parentPath, remoteFile); byte[] data = (getClass().getName() + "#" + getCurrentTestName()).getBytes(StandardCharsets.UTF_8); Files.write(remoteFile, data); byte[] downloaded = scp.downloadBytes(remotePath); http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-contrib/src/test/java/org/apache/sshd/server/subsystem/sftp/SimpleAccessControlSftpEventListenerTest.java ---------------------------------------------------------------------- diff --git a/sshd-contrib/src/test/java/org/apache/sshd/server/subsystem/sftp/SimpleAccessControlSftpEventListenerTest.java b/sshd-contrib/src/test/java/org/apache/sshd/server/subsystem/sftp/SimpleAccessControlSftpEventListenerTest.java index ddbe162..f824811 100644 --- a/sshd-contrib/src/test/java/org/apache/sshd/server/subsystem/sftp/SimpleAccessControlSftpEventListenerTest.java +++ b/sshd-contrib/src/test/java/org/apache/sshd/server/subsystem/sftp/SimpleAccessControlSftpEventListenerTest.java @@ -38,7 +38,7 @@ import org.apache.sshd.common.subsystem.sftp.SftpException; import org.apache.sshd.server.SshServer; import org.apache.sshd.server.scp.ScpCommandFactory; import org.apache.sshd.util.test.BaseTestSupport; -import org.apache.sshd.util.test.Utils; +import org.apache.sshd.util.test.CommonTestSupportUtils; import org.junit.After; import org.junit.Before; import org.junit.FixMethodOrder; @@ -89,7 +89,7 @@ public class SimpleAccessControlSftpEventListenerTest extends BaseTestSupport { public void testReadOnlyFileAccess() throws Exception { Path targetPath = detectTargetFolder(); Path parentPath = targetPath.getParent(); - Path lclSftp = Utils.resolve(targetPath, SftpConstants.SFTP_SUBSYSTEM_NAME, getClass().getSimpleName(), getCurrentTestName()); + Path lclSftp = CommonTestSupportUtils.resolve(targetPath, SftpConstants.SFTP_SUBSYSTEM_NAME, getClass().getSimpleName(), getCurrentTestName()); Path testFile = assertHierarchyTargetFolderExists(lclSftp).resolve("file.txt"); byte[] data = (getClass().getName() + "#" + getCurrentTestName()).getBytes(StandardCharsets.UTF_8); Files.deleteIfExists(testFile); @@ -103,7 +103,7 @@ public class SimpleAccessControlSftpEventListenerTest extends BaseTestSupport { session.auth().verify(5L, TimeUnit.SECONDS); try (SftpClient sftp = SftpClientFactory.instance().createSftpClient(session)) { - String file = Utils.resolveRelativeRemotePath(parentPath, testFile); + String file = CommonTestSupportUtils.resolveRelativeRemotePath(parentPath, testFile); try (CloseableHandle handle = sftp.open(file, OpenMode.Read)) { byte[] actual = new byte[data.length]; int readLen = sftp.read(handle, 0L, actual); @@ -139,7 +139,7 @@ public class SimpleAccessControlSftpEventListenerTest extends BaseTestSupport { public void testReadOnlyDirectoryAccess() throws Exception { Path targetPath = detectTargetFolder(); Path parentPath = targetPath.getParent(); - Path lclSftp = Utils.resolve(targetPath, SftpConstants.SFTP_SUBSYSTEM_NAME, getClass().getSimpleName(), getCurrentTestName()); + Path lclSftp = CommonTestSupportUtils.resolve(targetPath, SftpConstants.SFTP_SUBSYSTEM_NAME, getClass().getSimpleName(), getCurrentTestName()); Path testFile = assertHierarchyTargetFolderExists(lclSftp).resolve("file.txt"); byte[] data = (getClass().getName() + "#" + getCurrentTestName()).getBytes(StandardCharsets.UTF_8); Files.deleteIfExists(testFile); @@ -153,12 +153,12 @@ public class SimpleAccessControlSftpEventListenerTest extends BaseTestSupport { session.auth().verify(5L, TimeUnit.SECONDS); try (SftpClient sftp = SftpClientFactory.instance().createSftpClient(session)) { - String folder = Utils.resolveRelativeRemotePath(parentPath, targetPath); + String folder = CommonTestSupportUtils.resolveRelativeRemotePath(parentPath, targetPath); for (SftpClient.DirEntry entry : sftp.readDir(folder)) { assertNotNull("No entry", entry); } - String file = Utils.resolveRelativeRemotePath(parentPath, testFile); + String file = CommonTestSupportUtils.resolveRelativeRemotePath(parentPath, testFile); try { sftp.remove(file); fail("Unexpected file remove success"); http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/pom.xml ---------------------------------------------------------------------- diff --git a/sshd-core/pom.xml b/sshd-core/pom.xml index 0bcab83..c81d75e 100644 --- a/sshd-core/pom.xml +++ b/sshd-core/pom.xml @@ -39,9 +39,11 @@ <dependencies> <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> + <groupId>org.apache.sshd</groupId> + <artifactId>sshd-common</artifactId> + <version>${project.version}</version> </dependency> + <dependency> <groupId>tomcat</groupId> <artifactId>tomcat-apr</artifactId> @@ -68,6 +70,14 @@ <!-- test dependencies --> <dependency> + <groupId>org.apache.sshd</groupId> + <artifactId>sshd-common</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + <dependency> <groupId>org.apache.mina</groupId> <artifactId>mina-core</artifactId> <scope>test</scope> @@ -117,11 +127,6 @@ <artifactId>ganymed-ssh2</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.servicemix.bundles</groupId> - <artifactId>org.apache.servicemix.bundles.not-yet-commons-ssl</artifactId> - <scope>test</scope> - </dependency> </dependencies> <build> http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/filtered-resources/org/apache/sshd/sshd-version.properties ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/filtered-resources/org/apache/sshd/sshd-version.properties b/sshd-core/src/main/filtered-resources/org/apache/sshd/sshd-version.properties deleted file mode 100644 index 2c32c28..0000000 --- a/sshd-core/src/main/filtered-resources/org/apache/sshd/sshd-version.properties +++ /dev/null @@ -1,23 +0,0 @@ -## -## Licensed to the Apache Software Foundation (ASF) under one -## or more contributor license agreements. See the NOTICE file -## distributed with this work for additional information -## regarding copyright ownership. The ASF licenses this file -## to you under the Apache License, Version 2.0 (the -## "License"); you may not use this file except in compliance -## with the License. You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, -## software distributed under the License is distributed on an -## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -## KIND, either express or implied. See the License for the -## specific language governing permissions and limitations -## under the License. -## - -groupId=${pom.groupId} -artifactId=${pom.artifactId} -version=${pom.version} -sshd-version=${pom.artifactId}-${pom.version} http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java b/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java index 533cae5..76f2350 100644 --- a/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java +++ b/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java @@ -25,6 +25,7 @@ import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.SocketTimeoutException; import java.nio.file.LinkOption; +import java.nio.file.Path; import java.security.GeneralSecurityException; import java.security.KeyPair; import java.util.ArrayList; @@ -47,6 +48,7 @@ import org.apache.sshd.client.auth.password.UserAuthPasswordFactory; import org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory; import org.apache.sshd.client.config.hosts.HostConfigEntry; import org.apache.sshd.client.config.hosts.HostConfigEntryResolver; +import org.apache.sshd.client.config.keys.ClientIdentity; import org.apache.sshd.client.config.keys.ClientIdentityLoader; import org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher; import org.apache.sshd.client.future.ConnectFuture; @@ -68,6 +70,7 @@ import org.apache.sshd.common.ServiceFactory; import org.apache.sshd.common.channel.Channel; import org.apache.sshd.common.config.keys.FilePasswordProvider; import org.apache.sshd.common.config.keys.KeyUtils; +import org.apache.sshd.common.config.keys.PublicKeyEntry; import org.apache.sshd.common.future.SshFutureListener; import org.apache.sshd.common.helpers.AbstractFactoryManager; import org.apache.sshd.common.io.IoConnectFuture; @@ -769,4 +772,61 @@ public class SshClient extends AbstractFactoryManager implements ClientFactoryMa public static SshClient setUpDefaultClient() { return ClientBuilder.builder().build(); } + + /** + * @param <C> The generic client class + * @param client The {@link SshClient} to updated + * @param strict If {@code true} then files that do not have the required + * access rights are excluded from consideration + * @param supportedOnly If {@code true} then ignore identities that are not + * supported internally + * @param provider A {@link FilePasswordProvider} - may be {@code null} + * if the loaded keys are <U>guaranteed</U> not to be encrypted. The argument + * to {@link FilePasswordProvider#getPassword(String)} is the path of the + * file whose key is to be loaded + * @param options The {@link LinkOption}s to apply when checking + * for existence + * @return The updated <tt>client</tt> instance - provided a non-{@code null} + * {@link KeyPairProvider} was generated + * @throws IOException If failed to access the file system + * @throws GeneralSecurityException If failed to load the keys + * @see #setKeyPairProvider(SshClient, Path, boolean, boolean, FilePasswordProvider, LinkOption...) + */ + public static <C extends SshClient> C setKeyPairProvider( + C client, boolean strict, boolean supportedOnly, FilePasswordProvider provider, LinkOption... options) + throws IOException, GeneralSecurityException { + return setKeyPairProvider(client, PublicKeyEntry.getDefaultKeysFolderPath(), strict, supportedOnly, provider, options); + } + + /** + * @param <C> The generic client class + * @param client The {@link SshClient} to updated + * @param dir The folder to scan for the built-in identities + * @param strict If {@code true} then files that do not have the required + * access rights are excluded from consideration + * @param supportedOnly If {@code true} then ignore identities that are not + * supported internally + * @param provider A {@link FilePasswordProvider} - may be {@code null} + * if the loaded keys are <U>guaranteed</U> not to be encrypted. The argument + * to {@link FilePasswordProvider#getPassword(String)} is the path of the + * file whose key is to be loaded + * @param options The {@link LinkOption}s to apply when checking + * for existence + * @return The updated <tt>client</tt> instance - provided a non-{@code null} + * {@link KeyPairProvider} was generated + * @throws IOException If failed to access the file system + * @throws GeneralSecurityException If failed to load the keys + * @see #loadDefaultKeyPairProvider(Path, boolean, boolean, FilePasswordProvider, LinkOption...) + */ + public static <C extends SshClient> C setKeyPairProvider( + C client, Path dir, boolean strict, boolean supportedOnly, FilePasswordProvider provider, LinkOption... options) + throws IOException, GeneralSecurityException { + KeyPairProvider kpp = + ClientIdentity.loadDefaultKeyPairProvider(dir, strict, supportedOnly, provider, options); + if (kpp != null) { + client.setKeyPairProvider(kpp); + } + + return client; + } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/auth/AuthenticationIdentitiesProvider.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/AuthenticationIdentitiesProvider.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/AuthenticationIdentitiesProvider.java deleted file mode 100644 index cfd1f85..0000000 --- a/sshd-core/src/main/java/org/apache/sshd/client/auth/AuthenticationIdentitiesProvider.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.sshd.client.auth; - -import java.security.KeyPair; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -import org.apache.sshd.client.auth.password.PasswordIdentityProvider; -import org.apache.sshd.common.config.keys.KeyUtils; -import org.apache.sshd.common.keyprovider.KeyIdentityProvider; -import org.apache.sshd.common.util.GenericUtils; - -/** - * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> - */ -public interface AuthenticationIdentitiesProvider extends KeyIdentityProvider, PasswordIdentityProvider { - - /** - * Compares 2 password identities - returns zero ONLY if <U>both</U> compared - * objects are {@link String}s and equal to each other - */ - Comparator<Object> PASSWORD_IDENTITY_COMPARATOR = (o1, o2) -> { - if (!(o1 instanceof String) || !(o2 instanceof String)) { - return -1; - } else { - return ((String) o1).compareTo((String) o2); - } - }; - - /** - * Compares 2 {@link KeyPair} identities - returns zero ONLY if <U>both</U> compared - * objects are {@link KeyPair}s and equal to each other - */ - Comparator<Object> KEYPAIR_IDENTITY_COMPARATOR = (o1, o2) -> { - if ((!(o1 instanceof KeyPair)) || (!(o2 instanceof KeyPair))) { - return -1; - } else if (KeyUtils.compareKeyPairs((KeyPair) o1, (KeyPair) o2)) { - return 0; - } else { - return 1; - } - }; - - /** - * @return All the currently available identities - passwords, keys, etc... - */ - Iterable<?> loadIdentities(); - - static int findIdentityIndex(List<?> identities, Comparator<? super Object> comp, Object target) { - for (int index = 0; index < identities.size(); index++) { - Object value = identities.get(index); - if (comp.compare(value, target) == 0) { - return index; - } - } - - return -1; - } - - /** - * @param identities The {@link Iterable} identities - OK if {@code null}/empty - * @return An {@link AuthenticationIdentitiesProvider} wrapping the identities - */ - static AuthenticationIdentitiesProvider wrapIdentities(Iterable<?> identities) { - return new AuthenticationIdentitiesProvider() { - @Override - public Iterable<KeyPair> loadKeys() { - return selectIdentities(KeyPair.class); - } - - @Override - public Iterable<String> loadPasswords() { - return selectIdentities(String.class); - } - - @Override - public Iterable<?> loadIdentities() { - return selectIdentities(Object.class); - } - - // NOTE: returns a NEW Collection on every call so that the original - // identities remain unchanged - private <T> Collection<T> selectIdentities(Class<T> type) { - Collection<T> matches = null; - for (Iterator<?> iter = GenericUtils.iteratorOf(identities); iter.hasNext();) { - Object o = iter.next(); - Class<?> t = o.getClass(); - if (!type.isAssignableFrom(t)) { - continue; - } - - if (matches == null) { - matches = new LinkedList<>(); - } - - matches.add(type.cast(o)); - } - - return (matches == null) ? Collections.<T>emptyList() : matches; - } - }; - } -} http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/auth/hostbased/HostKeyIdentityProvider.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/hostbased/HostKeyIdentityProvider.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/hostbased/HostKeyIdentityProvider.java deleted file mode 100644 index 81c26ca..0000000 --- a/sshd-core/src/main/java/org/apache/sshd/client/auth/hostbased/HostKeyIdentityProvider.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.sshd.client.auth.hostbased; - -import java.security.KeyPair; -import java.security.cert.X509Certificate; -import java.util.AbstractMap.SimpleImmutableEntry; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.apache.sshd.common.util.GenericUtils; - -/** - * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> - */ -@FunctionalInterface -public interface HostKeyIdentityProvider { - /** - * @return The host keys as a {@link java.util.Map.Entry} of key + certificates (which can be {@code null}/empty) - */ - Iterable<? extends Map.Entry<KeyPair, List<X509Certificate>>> loadHostKeys(); - - static Iterator<? extends Map.Entry<KeyPair, List<X509Certificate>>> iteratorOf(HostKeyIdentityProvider provider) { - return GenericUtils.iteratorOf((provider == null) ? null : provider.loadHostKeys()); - } - - static HostKeyIdentityProvider wrap(KeyPair... pairs) { - return wrap(GenericUtils.asList(pairs)); - } - - static HostKeyIdentityProvider wrap(Iterable<? extends KeyPair> pairs) { - return () -> GenericUtils.wrapIterable(pairs, kp -> new SimpleImmutableEntry<>(kp, Collections.<X509Certificate>emptyList())); - } -} http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/auth/keyboard/UserAuthKeyboardInteractive.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/keyboard/UserAuthKeyboardInteractive.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/keyboard/UserAuthKeyboardInteractive.java index d765b11..479e5bc 100644 --- a/sshd-core/src/main/java/org/apache/sshd/client/auth/keyboard/UserAuthKeyboardInteractive.java +++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/keyboard/UserAuthKeyboardInteractive.java @@ -25,7 +25,6 @@ import java.util.concurrent.atomic.AtomicInteger; import org.apache.sshd.client.ClientAuthenticationManager; import org.apache.sshd.client.auth.AbstractUserAuth; -import org.apache.sshd.client.auth.password.PasswordIdentityProvider; import org.apache.sshd.client.session.ClientSession; import org.apache.sshd.common.RuntimeSshException; import org.apache.sshd.common.SshConstants; @@ -87,7 +86,7 @@ public class UserAuthKeyboardInteractive extends AbstractUserAuth { @Override public void init(ClientSession session, String service) throws Exception { super.init(session, service); - passwords = PasswordIdentityProvider.iteratorOf(session); + passwords = ClientSession.passwordIteratorOf(session); maxTrials = session.getIntProperty(ClientAuthenticationManager.PASSWORD_PROMPTS, ClientAuthenticationManager.DEFAULT_PASSWORD_PROMPTS); ValidateUtils.checkTrue(maxTrials > 0, "Non-positive max. trials: %d", maxTrials); } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/auth/password/PasswordIdentityProvider.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/password/PasswordIdentityProvider.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/password/PasswordIdentityProvider.java deleted file mode 100644 index 6af6696..0000000 --- a/sshd-core/src/main/java/org/apache/sshd/client/auth/password/PasswordIdentityProvider.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.sshd.client.auth.password; - -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.function.Function; -import java.util.function.Supplier; - -import org.apache.sshd.client.session.ClientSession; -import org.apache.sshd.common.util.GenericUtils; - -/** - * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> - */ -@FunctionalInterface -public interface PasswordIdentityProvider { - - /** - * An "empty" implementation of {@link PasswordIdentityProvider} that returns - * and empty group of passwords - */ - PasswordIdentityProvider EMPTY_PASSWORDS_PROVIDER = new PasswordIdentityProvider() { - @Override - public Iterable<String> loadPasswords() { - return Collections.emptyList(); - } - - @Override - public String toString() { - return "EMPTY"; - } - }; - - /** - * Invokes {@link PasswordIdentityProvider#loadPasswords()} and returns the result. - * Ignores {@code null} providers (i.e., returns an empty iterable instance) - */ - Function<PasswordIdentityProvider, Iterable<String>> LOADER = p -> - (p == null) ? Collections.emptyList() : p.loadPasswords(); - - /** - * @return The currently available passwords - ignored if {@code null} - */ - Iterable<String> loadPasswords(); - - /** - * Creates a "unified" {@link Iterator} of passwords out of the registered - * passwords and the extra available ones as a single iterator of passwords - * - * @param session The {@link ClientSession} - ignored if {@code null} (i.e., empty - * iterator returned) - * @return The wrapping iterator - * @see ClientSession#getRegisteredIdentities() - * @see ClientSession#getPasswordIdentityProvider() - */ - static Iterator<String> iteratorOf(ClientSession session) { - return (session == null) ? Collections.<String>emptyIterator() : iteratorOf(session.getRegisteredIdentities(), session.getPasswordIdentityProvider()); - } - - /** - * Creates a "unified" {@link Iterator} of passwords out of 2 possible - * {@link PasswordIdentityProvider} - * - * @param identities The registered passwords - * @param passwords Extra available passwords - * @return The wrapping iterator - * @see #resolvePasswordIdentityProvider(PasswordIdentityProvider, PasswordIdentityProvider) - */ - static Iterator<String> iteratorOf(PasswordIdentityProvider identities, PasswordIdentityProvider passwords) { - return iteratorOf(resolvePasswordIdentityProvider(identities, passwords)); - } - - /** - * Resolves a non-{@code null} iterator of the available passwords - * - * @param provider The {@link PasswordIdentityProvider} - ignored if {@code null} (i.e., - * return an empty iterator) - * @return A non-{@code null} iterator - which may be empty if no provider or no passwords - */ - static Iterator<String> iteratorOf(PasswordIdentityProvider provider) { - return GenericUtils.iteratorOf((provider == null) ? null : provider.loadPasswords()); - } - - /** - * <P>Creates a "unified" {@link PasswordIdentityProvider} out of 2 possible ones - * as follows:</P></BR> - * <UL> - * <LI>If both are {@code null} then return {@code null}.</LI> - * <LI>If either one is {@code null} then use the non-{@code null} one.</LI> - * <LI>If both are the same instance then use it.</U> - * <LI>Otherwise, returns a wrapper that groups both providers.</LI> - * </UL> - * @param identities The registered passwords - * @param passwords The extra available passwords - * @return The resolved provider - * @see #multiProvider(PasswordIdentityProvider...) - */ - static PasswordIdentityProvider resolvePasswordIdentityProvider(PasswordIdentityProvider identities, PasswordIdentityProvider passwords) { - if ((passwords == null) || (identities == passwords)) { - return identities; - } else if (identities == null) { - return passwords; - } else { - return multiProvider(identities, passwords); - } - } - - /** - * Wraps a group of {@link PasswordIdentityProvider} into a single one - * - * @param providers The providers - ignored if {@code null}/empty (i.e., returns - * {@link #EMPTY_PASSWORDS_PROVIDER} - * @return The wrapping provider - * @see #multiProvider(Collection) - */ - static PasswordIdentityProvider multiProvider(PasswordIdentityProvider... providers) { - return multiProvider(GenericUtils.asList(providers)); - } - - /** - * Wraps a group of {@link PasswordIdentityProvider} into a single one - * - * @param providers The providers - ignored if {@code null}/empty (i.e., returns - * {@link #EMPTY_PASSWORDS_PROVIDER} - * @return The wrapping provider - */ - static PasswordIdentityProvider multiProvider(Collection<? extends PasswordIdentityProvider> providers) { - return GenericUtils.isEmpty(providers) ? EMPTY_PASSWORDS_PROVIDER : wrapPasswords(iterableOf(providers)); - } - - /** - * Wraps a group of {@link PasswordIdentityProvider} into an {@link Iterable} of their combined passwords - * - * @param providers The providers - ignored if {@code null}/empty (i.e., returns an empty iterable instance) - * @return The wrapping iterable - */ - static Iterable<String> iterableOf(Collection<? extends PasswordIdentityProvider> providers) { - Iterable<Supplier<Iterable<String>>> passwordSuppliers = - GenericUtils.<PasswordIdentityProvider, Supplier<Iterable<String>>>wrapIterable(providers, p -> p::loadPasswords); - return GenericUtils.multiIterableSuppliers(passwordSuppliers); - } - - /** - * Wraps a group of passwords into a {@link PasswordIdentityProvider} - * - * @param passwords The passwords - ignored if {@code null}/empty - * (i.e., returns {@link #EMPTY_PASSWORDS_PROVIDER}) - * @return The provider wrapper - */ - static PasswordIdentityProvider wrapPasswords(String... passwords) { - return wrapPasswords(GenericUtils.asList(passwords)); - } - - /** - * Wraps a group of passwords into a {@link PasswordIdentityProvider} - * - * @param passwords The passwords {@link Iterable} - ignored if {@code null} - * (i.e., returns {@link #EMPTY_PASSWORDS_PROVIDER}) - * @return The provider wrapper - */ - static PasswordIdentityProvider wrapPasswords(Iterable<String> passwords) { - return (passwords == null) ? EMPTY_PASSWORDS_PROVIDER : () -> passwords; - } -} http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/auth/password/UserAuthPassword.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/password/UserAuthPassword.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/password/UserAuthPassword.java index 53ec529..6785305 100644 --- a/sshd-core/src/main/java/org/apache/sshd/client/auth/password/UserAuthPassword.java +++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/password/UserAuthPassword.java @@ -48,7 +48,7 @@ public class UserAuthPassword extends AbstractUserAuth { @Override public void init(ClientSession session, String service) throws Exception { super.init(session, service); - passwords = PasswordIdentityProvider.iteratorOf(session); + passwords = ClientSession.passwordIteratorOf(session); } @Override http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/PublicKeyIdentity.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/PublicKeyIdentity.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/PublicKeyIdentity.java deleted file mode 100644 index 51444ae..0000000 --- a/sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/PublicKeyIdentity.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.sshd.client.auth.pubkey; - -import java.security.PublicKey; - -/** - * Represents a public key identity - * - * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> - */ -public interface PublicKeyIdentity { - /** - * @return The {@link PublicKey} identity value - */ - PublicKey getPublicKey(); - - /** - * Proves the public key identity by signing the given data - * - * @param data Data to sign - * @return Signed data - using the identity - * @throws Exception If failed to sign the data - */ - byte[] sign(byte[] data) throws Exception; -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/UserAuthPublicKeyIterator.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/UserAuthPublicKeyIterator.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/UserAuthPublicKeyIterator.java index 202b0a8..02ce1dc 100644 --- a/sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/UserAuthPublicKeyIterator.java +++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/UserAuthPublicKeyIterator.java @@ -70,7 +70,7 @@ public class UserAuthPublicKeyIterator extends AbstractKeyPairIterator<PublicKey } } - identities.add(Stream.of(KeyIdentityProvider.providerOf(session)) + identities.add(Stream.of(ClientSession.providerOf(session)) .map(KeyIdentityProvider::loadKeys) .flatMap(GenericUtils::stream) .map(kp -> new KeyPairIdentity(signatureFactories, session, kp))); http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/config/SshClientConfigFileReader.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/config/SshClientConfigFileReader.java b/sshd-core/src/main/java/org/apache/sshd/client/config/SshClientConfigFileReader.java index ccd8f26..c205377 100644 --- a/sshd-core/src/main/java/org/apache/sshd/client/config/SshClientConfigFileReader.java +++ b/sshd-core/src/main/java/org/apache/sshd/client/config/SshClientConfigFileReader.java @@ -32,7 +32,8 @@ public final class SshClientConfigFileReader { throw new UnsupportedOperationException("No instance allowed"); } - public static <C extends SshClient> C configure(C client, PropertyResolver props, boolean lenient, boolean ignoreUnsupported) { + public static <C extends SshClient> C configure( + C client, PropertyResolver props, boolean lenient, boolean ignoreUnsupported) { SshConfigFileReader.configure((AbstractFactoryManager) client, props, lenient, ignoreUnsupported); SshConfigFileReader.configureKeyExchanges(client, props, lenient, ClientBuilder.DH2KEX, ignoreUnsupported); return client; http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/10de190e/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/ConfigFileHostEntryResolver.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/ConfigFileHostEntryResolver.java b/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/ConfigFileHostEntryResolver.java deleted file mode 100644 index f1c9ea8..0000000 --- a/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/ConfigFileHostEntryResolver.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.sshd.client.config.hosts; - -import java.io.File; -import java.io.IOException; -import java.nio.file.LinkOption; -import java.nio.file.Path; -import java.util.Collection; -import java.util.List; -import java.util.Objects; -import java.util.concurrent.atomic.AtomicReference; - -import org.apache.sshd.common.util.GenericUtils; -import org.apache.sshd.common.util.io.IoUtils; -import org.apache.sshd.common.util.io.ModifiableFileWatcher; - -/** - * Watches for changes in a configuration file and automatically reloads any changes - * - * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> - */ -public class ConfigFileHostEntryResolver extends ModifiableFileWatcher implements HostConfigEntryResolver { - private final AtomicReference<HostConfigEntryResolver> delegateHolder = // assumes initially empty - new AtomicReference<>(HostConfigEntryResolver.EMPTY); - - public ConfigFileHostEntryResolver(File file) { - this(Objects.requireNonNull(file, "No file to watch").toPath()); - } - - public ConfigFileHostEntryResolver(Path file) { - this(file, IoUtils.EMPTY_LINK_OPTIONS); - } - - public ConfigFileHostEntryResolver(Path file, LinkOption... options) { - super(file, options); - } - - @Override - public HostConfigEntry resolveEffectiveHost(String host, int port, String username) throws IOException { - try { - HostConfigEntryResolver delegate = Objects.requireNonNull(resolveEffectiveResolver(host, port, username), "No delegate"); - HostConfigEntry entry = delegate.resolveEffectiveHost(host, port, username); - if (log.isDebugEnabled()) { - log.debug("resolveEffectiveHost({}@{}:{}) => {}", username, host, port, entry); - } - - return entry; - } catch (Throwable e) { - if (log.isDebugEnabled()) { - log.debug("resolveEffectiveHost({}@{}:{}) failed ({}) to resolve: {}", - username, host, port, e.getClass().getSimpleName(), e.getMessage()); - } - - if (log.isTraceEnabled()) { - log.trace("resolveEffectiveHost(" + username + "@" + host + ":" + port + ") resolution failure details", e); - } - if (e instanceof IOException) { - throw (IOException) e; - } else { - throw new IOException(e); - } - } - } - - protected HostConfigEntryResolver resolveEffectiveResolver(String host, int port, String username) throws IOException { - if (checkReloadRequired()) { - delegateHolder.set(HostConfigEntryResolver.EMPTY); // start fresh - - Path path = getPath(); - if (exists()) { - Collection<HostConfigEntry> entries = reloadHostConfigEntries(path, host, port, username); - if (GenericUtils.size(entries) > 0) { - delegateHolder.set(HostConfigEntry.toHostConfigEntryResolver(entries)); - } - } else { - log.info("resolveEffectiveResolver({}@{}:{}) no configuration file at {}", username, host, port, path); - } - } - - return delegateHolder.get(); - } - - protected List<HostConfigEntry> reloadHostConfigEntries(Path path, String host, int port, String username) throws IOException { - List<HostConfigEntry> entries = HostConfigEntry.readHostConfigEntries(path); - log.info("resolveEffectiveResolver({}@{}:{}) loaded {} entries from {}", username, host, port, GenericUtils.size(entries), path); - updateReloadAttributes(); - return entries; - } -}
