github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/pkg/ssh/ssh_test.go (about) 1 package ssh 2 3 import "testing" 4 5 func TestIsEncrypted(t *testing.T) { 6 for _, data := range testData { 7 isEncrypted, err := isEncrypted(data.pemData) 8 if err != nil { 9 t.Errorf("Unexpected error: %v", err) 10 } 11 if err == nil && isEncrypted != data.encrypted { 12 t.Errorf("Expected: %t, got: %t", data.encrypted, isEncrypted) 13 } 14 } 15 } 16 17 var testData = []struct { 18 encrypted bool 19 pemData []byte 20 }{ 21 { 22 encrypted: false, 23 pemData: []byte(` 24 -----BEGIN RSA PRIVATE KEY----- 25 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 74 -----END RSA PRIVATE KEY-----`), 75 }, 76 { 77 encrypted: true, 78 pemData: []byte(` 79 -----BEGIN RSA PRIVATE KEY----- 80 Proc-Type: 4,ENCRYPTED 81 DEK-Info: AES-128-CBC,D0FFFDD404B4871ABBAE43ACE8F391C2 82 83 MPQRbEX2HdJpFvbg/m3allWNRtkChw7ZSvzR7SabymvJR9DUQYf5gw/RwDOEku2/ 84 iSUr1kXUnC4nAe8FsjcoXviKhr9uGRc4em8DLoVtxMvKoxCP0d8UhBMHh3dTQzNf 85 JPxshqMQ17XS2yF3dh1ebl8YQoCa1pUMp+v48pczpApX4h8Ijvf1iVhc/j9DiEHh 86 vbVLM7xlwI4g1EFHPdH7zfTY96poKvdD3yP2qJZ6mOloSojgV7NNSc3oLeqPwga8 87 Kvg38o0BmxfE0YqUi572luAh7KT5YQC/pZXdY5iMuHSul8Y5Vj2Oysg9oRzNBWK/ 88 m0NvbKpGWUWWxmVhYIeZ/WqISx4ZvYLAM7+K5OOOlv2/kIxk9MoyB4Vjn3Bq9L20 89 Kp4ME6rf073JeEqTLphoTKbQN9jF57IjV/oEAN+HrOLmJAo/R7Ce9cilAYvxdGGu 90 AcCTGLgnqxEUA/Dm0IAl009ZXIOtBM90mloAyfa4JtAOU+iAVbSMLmFPeiSibuOH 91 NLxg7XxvqJ/2nnrvUlT380BbOdKiASL2YUMmpGcs4c9ZHjz0fe299fhSSPtxM0u+ 92 cBnU/T/tayFQLjo3345QftmRO07+lSh1uVi6wONczhlAuZwHZ/Eo2DhtMsgB+shg 93 dgsWqcn5iHtf+/hGvv5nzIA5UQshcx5GKWAOUrIMnk/jHZNlVVFZ15zPMAYROHG+ 94 u/158hCNt6W3CVH/vwSLzH/FEHsScFqChuJczct7UrhpC8CtqI2qoBLJ64pcMvv6 95 +WvA1pCefUzWz+T+qBbhjyQVAjyjYWCgRK5tv9rYhTscQLMH3EKo2UDSyct5sod2 96 E0+5/uYE9VJCM1C4fABg6Cw+DtNMNZqjG4S7W+CJLO5VTJ3Ea9P1/4U+z0MH4k0H 97 KjNkoxphz4PcpptT70QsUyLP+IcGLXcrzzaTgC0d+8Neg/wVSSZPu17Rm1yffRCk 98 6jvR7/HCJQ5ru+3uDJIK/SHydEnKDVNHlXB1tsaFEP6E7rt4f6v7jf2TiGI2++zA 99 9IBc89QgvzIkYFHE/ikkuViOCvt4qFY4AuWJ39zQd5v6SXAaqje2lnHSbKWmeoVI 100 ksiXEqwgzmSs3shqYO15Bj9EkyEpDsRtwhsLya2bhW/XcdVTm61U99URf9g2ns6o 101 sn2X6YsZu/nUNafrcUZFSd4bmOgM8FHYInS+IPodk3h60q6CJCI/eXs/YkwVqyHS 102 jsiKXrhz1p6auIaTKIqAT4hIedkkNllZFJvMTHOhQ8aQ1bZ6UYJwuqnT06nkgkzn 103 o6L1kpLIJs+qHdMMpljqx2To2jhXy3uzABm0wiEtWc9vj97/+xbRWXtoU/0K03EE 104 vRkWSO4h2MbmBd7+l1joCe3aEwqMN+6N19NKJMG967setlopkbGy4rjM/xP49++2 105 jbqQEpEFqZkMAg5eeAge93JNW6yusEvkK0WHfgDI8+b5uRbvhwPbk2nI4HZw4eEM 106 Zt1GqriRl04uxgxnj6D2mhMACpXn0POiRvBZsBtbGG6ScbnY6TDbjDBXapi7igwI 107 8XQk8Rz8PQG37ihbDOSb3u5a5XQILx13ESQdcam6Ic7gYN8VhRgVp/2WBfQresez 108 xuysLZmd2ymrOF7+gsO4RQSz15cgflrlRS06J8a2X9GmquuheIcYpvBmDq6Wj3pf 109 Y3apeTw6RYsoOBndWa8n9HxrnVobSs4kcukvZsbXDyGXJQfFq0E0wdhHdSotuZqJ 110 GPZUPwnMLRUWXxqSkxPAyVuxGevac85nMql8EpPQ/ktd3/KCWAhyspS/j2chFhnX 111 SRNrNWqRoc9oqrhOrYGyp3KsxDc1NeE0yaqFEjU4u1zae9vosyAjxjFW0xKGMk6W 112 0ailxWN4j1F41cxFIr0jKmq9FQ/GYI0mrdyN5rRP1o3P9NJLwPJeM5bBubbSd+d5 113 lXBo43+7HNzh1c+HcqR5aTmYHYhIbYJ8BM5fgK/Dg7VsTzDR6g2a7SqdCSCAjLen 114 DLzb7EAN9T31ZK0AjZjYf3tRC7aGg8PQOqj0nq4JAlTYlFNfmrmxYa9SkiYtbSCk 115 vxxWm3tU12PgTeGgglKHIWKf+blLHOCM6zix008AhPzB+hoqWWHYpd6VNSUJcd4R 116 hS/IsymkG+mVPNGnfhg92kIipf8BXwx1xOI0wr+4p9z7AF2DcGtzgL3YDc5+OZwY 117 5TVO0KMB/VxRbCp9vPOmlp2ZuU4QpXV+pBmca3XAu1eKoukCbPapf7UVgzREc+al 118 poMpjjElXXKMBebR+FVp00l8r6xHzqwQ6kybHgkFNfVKey3xcqBDV6GvaiDG2OkU 119 8/nS98GK3uwQGaZeQuEnPzXZhwq7YgbgdDMCs14zv+Ev3Tx9+Bf/Bco/QcsL0s5i 120 Nqube4/21HYUqryLbkYkKfRtk2iIScQAFYw4flZwbaYHOERGT/Ojp75nD59GNLcM 121 Pie+TpErmCyXe0s/YKrHLyl6duOdYDFcGtq1TGD3qmRnck6SYEAzm4KXOD9HVUhj 122 MItyCRTccRt/vS4UpiMVtbg0SbDQkXSzLhciaoQiXEF8p5irIdZc9wdwBTNhZgus 123 NOSMR4MxfCR13mDhNzEZhz+YZSz9zbFeoXlAW5NkScfzlODJQliAkJKEF96JDpW4 124 sHWBiqp0fLv3Mbv4cSP+3WInglqxkmhRkzIj+BCe9jMEBnT/GSiiYZg6vfieJKuy 125 TpHQVYBTxYTs4UPas1BnDWqBqmx3pyHQcYQQtj9TDVApel91T3qfSV/U7EvZFWi+ 126 +TvTzHLfJuYOmNwhqU8KJGd5srQhBUtIRS6gpUHj8bCU+0Ld88l9EeC166XXUavL 127 /49tnHpW4u+127lENtEQ71MmuWuxB2jNnk9xmXba8eG1PAt3mrsNd8N+E3XV0twV 128 kjSlTIn0NlWyrMsaE3YjW4Oqe905BXmncOEe0z4DWo7mLH4fUTbEK/4zC2tN0lcX 129 TmNvRfPOKrGex3ZjY1TPhKaDdhYGvX4VsvU6zg/Sm7VlkzTdWHSS6FFowQsGoaqi 130 zcgiyq1C5geFKoTVHy6un10S81z+6YsKJ3ylAz5NkqCUFZL60HFWrFLVqZe8Cbdj 131 yPZ77G/aRvyWij802LwB5dyGybbMd7LWPiuuaMAC/onxNnLYmtwh5VQjIwEM54Lc 132 -----END RSA PRIVATE KEY-----`), 133 }, 134 }