// auto generated by print_keys.py use num_bigint_dig::BigUint; use hex_literal::hex; use makiko::elliptic_curve; pub fn alice_ed25519() -> makiko::Privkey { let keypair_bytes = hex!( "e264980178ad0b28ef8b9a7cad8278f4f9001c52e1f2fc61165d7baa36b53175" "09255d6093be46c9db2f486fd0a946f21f5729127603811e20c2fddbf58592b3" ); let signing = ed25519_dalek::SigningKey::from_keypair_bytes(&keypair_bytes).unwrap(); makiko::Privkey::Ed25519(signing.into()) } pub static ALICE_ED25519_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW\n", "QyNTUxOQAAACAJJV1gk75GydsvSG/QqUbyH1cpEnYDgR4gwv3b9YWSswAAAIhmfkbhZn5G\n", "4QAAAAtzc2gtZWQyNTUxOQAAACAJJV1gk75GydsvSG/QqUbyH1cpEnYDgR4gwv3b9YWSsw\n", "AAAEDiZJgBeK0LKO+Lmnytgnj0+QAcUuHy/GEWXXuqNrUxdQklXWCTvkbJ2y9Ib9CpRvIf\n", "VykSdgOBHiDC/dv1hZKzAAAABWFsaWNl\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static ALICE_ED25519_PUBKEY_FILE: &'static str = concat!( "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAklXWCTvkbJ2y9Ib9CpRvIfVykSdgOBHiDC/dv1hZKz", " alice\n", ); pub fn edward_ed25519() -> makiko::Privkey { let keypair_bytes = hex!( "3972dfb17dcf6a949e08d8979ef0722b021379e72c66b549af2a98d3eeae905c" "f2549b117e1f8d9a440a8360e1eab3d5a1d890de70be755a0632832d61c6cc25" ); let signing = ed25519_dalek::SigningKey::from_keypair_bytes(&keypair_bytes).unwrap(); makiko::Privkey::Ed25519(signing.into()) } pub static EDWARD_ED25519_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW\n", "QyNTUxOQAAACDyVJsRfh+NmkQKg2Dh6rPVodiQ3nC+dVoGMoMtYcbMJQAAAJBPdwHAT3cB\n", "wAAAAAtzc2gtZWQyNTUxOQAAACDyVJsRfh+NmkQKg2Dh6rPVodiQ3nC+dVoGMoMtYcbMJQ\n", "AAAEA5ct+xfc9qlJ4I2Jee8HIrAhN55yxmtUmvKpjT7q6QXPJUmxF+H42aRAqDYOHqs9Wh\n", "2JDecL51WgYygy1hxswlAAAABmVkd2FyZAECAwQFBgc=\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static EDWARD_ED25519_PUBKEY_FILE: &'static str = concat!( "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPJUmxF+H42aRAqDYOHqs9Wh2JDecL51WgYygy1hxswl", " edward\n", ); pub fn ruth_rsa_1024() -> makiko::Privkey { let n = BigUint::from_bytes_be(&hex!( "e72e0e6569dd40cafc4c608c4ee3b7f13956b7e5b301cc8dc47c9e26019b053d" "0f9de0ed4856f89c5cf2355f08c41486d7c6840a670e2eaa425a7db58a8e99b3" "e46bf2902a1b699de966df734f7b127129909b2e009a102e553f0b683870b127" "16569b6e8ab707d5bf52d1575c8093b506f3bf54c2a23d644023ce6d0fbd8a11" )); let e = BigUint::from_bytes_be(&hex!("010001")); let d = BigUint::from_bytes_be(&hex!( "ccd54e04256cd90001d45aa7772ee5c86299a78f6ab06962237a9755ed8e4171" "fce852676bf5438aa80023b1f4be67c1a2664e903907a3e94fa98640d867c95e" "9fc837873c58c1adcfe9ba2624089b45d841bb838be73470f319ccf5541d27dd" "e7734a59a242f796d8c6e21129c95ea5b5b7a9ea6346afc55b7f725b4afd18c1" )); let p = BigUint::from_bytes_be(&hex!( "fd9484530f9492f263198e923707318d1b2517546ce6c3eb357e8985551fd95a" "6096a1ad74e9ab1715e10cc41c6b075f98f3c8482c4b52c2ea8222faa211cdbd" )); let q = BigUint::from_bytes_be(&hex!( "e962d1151bf00073d3ee5cda8b22a3b03685cf203daf4f9cb110d50dedd52799" "92ab6c68dfed18a1e17aadaaf3a524dbc90a6c8569e0d28f16053551acda80e5" )); let privkey = rsa::RsaPrivateKey::from_components(n, e, d, vec![p, q]).unwrap(); makiko::Privkey::Rsa(privkey.into()) } pub static RUTH_RSA_1024_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAlwAAAAdzc2gtcn\n", "NhAAAAAwEAAQAAAIEA5y4OZWndQMr8TGCMTuO38TlWt+WzAcyNxHyeJgGbBT0PneDtSFb4\n", "nFzyNV8IxBSG18aECmcOLqpCWn21io6Zs+Rr8pAqG2md6Wbfc097EnEpkJsuAJoQLlU/C2\n", "g4cLEnFlabboq3B9W/UtFXXICTtQbzv1TCoj1kQCPObQ+9ihEAAAIAcCOChXAjgoUAAAAH\n", "c3NoLXJzYQAAAIEA5y4OZWndQMr8TGCMTuO38TlWt+WzAcyNxHyeJgGbBT0PneDtSFb4nF\n", "zyNV8IxBSG18aECmcOLqpCWn21io6Zs+Rr8pAqG2md6Wbfc097EnEpkJsuAJoQLlU/C2g4\n", "cLEnFlabboq3B9W/UtFXXICTtQbzv1TCoj1kQCPObQ+9ihEAAAADAQABAAAAgQDM1U4EJW\n", "zZAAHUWqd3LuXIYpmnj2qwaWIjepdV7Y5BcfzoUmdr9UOKqAAjsfS+Z8GiZk6QOQej6U+p\n", "hkDYZ8len8g3hzxYwa3P6bomJAibRdhBu4OL5zRw8xnM9VQdJ93nc0pZokL3ltjG4hEpyV\n", "6ltbep6mNGr8Vbf3JbSv0YwQAAAEEAl2cdVGalH2a/PWoBJmCDYcNpNKJZoZldp0p52Bqw\n", "pCxjzOdQqWzv8xLKm/5bCh03j1mn8BwmKPtzit3Z040W6gAAAEEA/ZSEUw+UkvJjGY6SNw\n", "cxjRslF1Rs5sPrNX6JhVUf2VpglqGtdOmrFxXhDMQcawdfmPPISCxLUsLqgiL6ohHNvQAA\n", "AEEA6WLRFRvwAHPT7lzaiyKjsDaFzyA9r0+csRDVDe3VJ5mSq2xo3+0YoeF6rarzpSTbyQ\n", "pshWng0o8WBTVRrNqA5QAAAARydXRoAQIDBAU=\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static RUTH_RSA_1024_PUBKEY_FILE: &'static str = concat!( "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDnLg5lad1AyvxMYIxO47fxOVa35bMBzI3EfJ4mAZsF", "PQ+d4O1IVvicXPI1XwjEFIbXxoQKZw4uqkJafbWKjpmz5GvykCobaZ3pZt9zT3sScSmQmy4AmhAuVT8L", "aDhwsScWVptuircH1b9S0VdcgJO1BvO/VMKiPWRAI85tD72KEQ== ruth\n", ); pub fn ruth_rsa_2048() -> makiko::Privkey { let n = BigUint::from_bytes_be(&hex!( "e248796bbb1912c2131adb59e32415bde6f1ed68ca3ba582eb70b9c45e728ab4" "9f58d01585a9269a556a0437b494f6fd57713a02437f80b395a92748e272f4ea" "95ee818f683d25461d1eae9d024e7f6e19b404c02b13618ee6fd7fd467e7ba62" "250f48306c1e726df5e5c83beb80a0e260a0530dfabb8e470b7bbd03fd6804b3" "a043c588242ef45659f0223047c929d0fa183aab20052aaba0aa78f468c1b668" "4e5742ffc9f65443e2ed068774cf55ef7799f50d32fa920e64834d2b61ab0d8c" "9a6561b69b17a28cea51de0f8f9bc7f5d012fe74e2ceb3ebf692a08fd2e23c76" "9b9e9d121cda1f26f2a2781741aba1da0353f3dcc2f694f712d654951d609e01" )); let e = BigUint::from_bytes_be(&hex!("010001")); let d = BigUint::from_bytes_be(&hex!( "41e470d71a2876f9e4ae51699f67069dc1fe78efa6d42fa22c052b532f5d935e" "7d78533fb1284c816c95ee9c7a0d56cef70395accb12f9db519d6c3f2111f097" "cf0920d92db580812641a4ff3b88b83acb694c68d9224faa594140540dddc0bc" "8ba6239356289791c5a51fe5b2f245e725d409db6c43e96e6ebd9d90e7ddbe60" "3402a07c12800e1674f77bbe85bb61be16b3c7606e9aeea35887c2b95b95911f" "5a54682f71a7cd4081ade177b69851a9bcd9e3f2ce93ca63dfefe49b9418efa7" "d2c33862792e50bfc26923fb975ced69c827e047fa4099e9935c9e5fc3aac2f1" "d1663e037ff3a8ac7755031e909b1f0b2ff1ba30f8d34572871444c66b0e1531" )); let p = BigUint::from_bytes_be(&hex!( "f0f31c437f765fc87fcf479a530da6637259e80bda84df779da810a2eb3e26a4" "57b2f234e473a3ca74f6696d9c66fafff4eb8cef0e1ac05225c00b1857dc347d" "3b20248383d993807a2ec3c5cd32ccdc4bac121c54d12bc92529bf86d1483898" "43da68ae7581cee6fe7360e1b7471c98a87c13b0f8662042b62d178d54eb3a87" )); let q = BigUint::from_bytes_be(&hex!( "f06ad6e4fc578f4310f0b6a977af571646f42ac0757ac017a3599c679eb04d6e" "b5813e561cf2e6e100bcff381b7aa622c5f9089917dab5765a13d82959b27764" "a7b88f7ccb93223aeaadc6771bd9a6b6b67138383805f42c4c5cff58b6c4e7f5" "76f0cd4a3193f8e4ca2678fa931dc03f621323799b9c565d2953b5d4c1cc5d37" )); let privkey = rsa::RsaPrivateKey::from_components(n, e, d, vec![p, q]).unwrap(); makiko::Privkey::Rsa(privkey.into()) } pub static RUTH_RSA_2048_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn\n", "NhAAAAAwEAAQAAAQEA4kh5a7sZEsITGttZ4yQVvebx7WjKO6WC63C5xF5yirSfWNAVhakm\n", "mlVqBDe0lPb9V3E6AkN/gLOVqSdI4nL06pXugY9oPSVGHR6unQJOf24ZtATAKxNhjub9f9\n", "Rn57piJQ9IMGwecm315cg764Cg4mCgUw36u45HC3u9A/1oBLOgQ8WIJC70VlnwIjBHySnQ\n", "+hg6qyAFKqugqnj0aMG2aE5XQv/J9lRD4u0Gh3TPVe93mfUNMvqSDmSDTSthqw2MmmVhtp\n", "sXoozqUd4Pj5vH9dAS/nTizrPr9pKgj9LiPHabnp0SHNofJvKieBdBq6HaA1Pz3ML2lPcS\n", "1lSVHWCeAQAAA8DnIIlg5yCJYAAAAAdzc2gtcnNhAAABAQDiSHlruxkSwhMa21njJBW95v\n", "HtaMo7pYLrcLnEXnKKtJ9Y0BWFqSaaVWoEN7SU9v1XcToCQ3+As5WpJ0jicvTqle6Bj2g9\n", "JUYdHq6dAk5/bhm0BMArE2GO5v1/1GfnumIlD0gwbB5ybfXlyDvrgKDiYKBTDfq7jkcLe7\n", "0D/WgEs6BDxYgkLvRWWfAiMEfJKdD6GDqrIAUqq6CqePRowbZoTldC/8n2VEPi7QaHdM9V\n", "73eZ9Q0y+pIOZINNK2GrDYyaZWG2mxeijOpR3g+Pm8f10BL+dOLOs+v2kqCP0uI8dpuenR\n", "Ic2h8m8qJ4F0GrodoDU/PcwvaU9xLWVJUdYJ4BAAAAAwEAAQAAAQBB5HDXGih2+eSuUWmf\n", "Zwadwf5476bUL6IsBStTL12TXn14Uz+xKEyBbJXunHoNVs73A5WsyxL521GdbD8hEfCXzw\n", "kg2S21gIEmQaT/O4i4OstpTGjZIk+qWUFAVA3dwLyLpiOTViiXkcWlH+Wy8kXnJdQJ22xD\n", "6W5uvZ2Q592+YDQCoHwSgA4WdPd7voW7Yb4Ws8dgbpruo1iHwrlblZEfWlRoL3GnzUCBre\n", "F3tphRqbzZ4/LOk8pj3+/km5QY76fSwzhieS5Qv8JpI/uXXO1pyCfgR/pAmemTXJ5fw6rC\n", "8dFmPgN/86isd1UDHpCbHwsv8bow+NNFcocURMZrDhUxAAAAgQDsdm+WvIU4fGya53YMBE\n", "FFwP4474j1cu83T5z1uXfFdShWLJu0ZZvPRC8zaooLrNAZUX+0AkkqZzxwopbOip/pQVpk\n", "tMp2cDu6bxL4u0+oegTe+9mJGga+daKK01Q37gFbY5OyPCL/MkKrhcigh13DYtgjiBTOnq\n", "S/UbaT9cfDVAAAAIEA8PMcQ392X8h/z0eaUw2mY3JZ6AvahN93nagQous+JqRXsvI05HOj\n", "ynT2aW2cZvr/9OuM7w4awFIlwAsYV9w0fTsgJIOD2ZOAei7Dxc0yzNxLrBIcVNErySUpv4\n", "bRSDiYQ9pornWBzub+c2Dht0ccmKh8E7D4ZiBCti0XjVTrOocAAACBAPBq1uT8V49DEPC2\n", "qXevVxZG9CrAdXrAF6NZnGeesE1utYE+Vhzy5uEAvP84G3qmIsX5CJkX2rV2WhPYKVmyd2\n", "SnuI98y5MiOuqtxncb2aa2tnE4ODgF9CxMXP9YtsTn9XbwzUoxk/jkyiZ4+pMdwD9iEyN5\n", "m5xWXSlTtdTBzF03AAAABHJ1dGgBAgMEBQY=\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static RUTH_RSA_2048_PUBKEY_FILE: &'static str = concat!( "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiSHlruxkSwhMa21njJBW95vHtaMo7pYLrcLnEXnKK", "tJ9Y0BWFqSaaVWoEN7SU9v1XcToCQ3+As5WpJ0jicvTqle6Bj2g9JUYdHq6dAk5/bhm0BMArE2GO5v1/", "1GfnumIlD0gwbB5ybfXlyDvrgKDiYKBTDfq7jkcLe70D/WgEs6BDxYgkLvRWWfAiMEfJKdD6GDqrIAUq", "q6CqePRowbZoTldC/8n2VEPi7QaHdM9V73eZ9Q0y+pIOZINNK2GrDYyaZWG2mxeijOpR3g+Pm8f10BL+", "dOLOs+v2kqCP0uI8dpuenRIc2h8m8qJ4F0GrodoDU/PcwvaU9xLWVJUdYJ4B ruth\n", ); pub fn ruth_rsa_4096() -> makiko::Privkey { let n = BigUint::from_bytes_be(&hex!( "ed89a6dda8e80c2d90d6ef0b69fa1ff02045ba736c015f88a8a6e9bd7b13dc41" "40c421a754d30a7fa1efe15686547d69e8efe42d076e7262b7df4e9e814b80ec" "e236744b00bf95c748324e001a55e140ee7c58d4d0e02ad58c08b9df060a775f" "c85b8ef60fd0db8275a1402cc39107f06fb883e7115a838dedfba78a46773a74" "46f6c8b3a2c515dbeec31351b0617545201211fd033a03b126ebe345d8628b06" "5390cbea2775bdee8cff35e5ed6ecb7f9f2b7e1527c733b32cb91043c2fd361a" "d745af5ed7bd431f7e98edb436b35cabc755176cb5e72886c6040c09ee744d43" "99a63bd8facafb5c2a2cc9c523e582070859a8c8ae79c0da9195cd059737cdc5" "d760b1c4bb77ffb5cc08f34d7a5238980945b1796f12aee31197fe85b4fa22b4" "402ee76d1cf0971022c3630acbe5d28f38a03f5fce2e54e1e2a5f20e119b785e" "4a1060302a685abe0d2760c9a4b3ddaf90b8e03cc7a28881e8e6f5ce27b1a175" "b3d215ba10e76c3bf61052ac9ae79cbf2fee89e266679f9e981a850361983395" "6ce39238fbd64e98ce717b88861f954ff1ef9641a3cbf071fa9607277ba21656" "bdc662eef52f8119542f35919968c3a8a61fdea485589758945bb165249aa500" "ca5f1d10ad96a82d4f308286e36efd5768cc6ab00469ff0f89dd9fd8fedfc027" "6934d8a1383f0769cf7dacf8c5aa9e3bca0e923f53c849ec9c974c41d2033f09" )); let e = BigUint::from_bytes_be(&hex!("010001")); let d = BigUint::from_bytes_be(&hex!( "2feb560b5f78b88434b4f7726105c18daaa506712477be730e3ae5ea80bac7f3" "2e02a31b63a45378de0d4b732e143b5cb34e39c4cfbbfb3d69049692a958b700" "92be1385d1f7d45a6879257d25d2ef672ef54ce259e4ef1f3769c73d73b586d1" "7ed4e1a948158542f341fd754a5aa6b45d8566aea5b491d77f0c068781a1a9dc" "2d38b9d26b62c0ff26529a421f87f9a5614be3ef1bc887582496efb97666a2cf" "3aea7a0899bf49faa6dd115d7a21a0d1f5254c012e8e2422e041d1432a41f4b9" "43765e638eb832a356e1b90a63029a0e595f1423ad2a9de55a6b1496a8513409" "102515ebb6e45e0300cb1a4537f1a3e2914fad1a17009ee438fc7468cd51c7a3" "df476887f187ca1e9469fb0793a1afbbb2c60f64a1fe19776f3d96486d2e15d6" "208b037e519e91423deaa87954d59aba3bfa316a93c3ffba16b57d8e03daa509" "7b0aee81ec099f028ef0c814908a871666e25d004bb276ea3c4f608f20194175" "1ff56a9e12fc40ad1b9cbc792fb535e38b5d384163b4fab42c20766290cbc4f4" "32db6d094de3cb9494e3d42a5465640360252e5b83b406952463ae0ba4ff1734" "d2d56ee2a2117a743a66f5598f54555aa464f08774e7d0ec72ceef95c50f4554" "5108b1409a2dab28062dbcdb35f067fb9431ec33a946b8c7e20c7d477d778ffd" "680fb2a4b0dbf04cca3da016f5726a955645387d25faffdba9a2c7a2f1460381" )); let p = BigUint::from_bytes_be(&hex!( "f9cbda75eea8ca71a5bd0a586d9793077779fbb11ebc1c6e31183dfa79d93f88" "ac3406d115cd395b3679dc32ad136c94a8d6a54383928b92391c33b3cfc76c45" "f23431e7b9e5735e97458b9c083c7fb83353aae008d5a8cb92ded469081ebcb5" "43885f7dceb0f3375cf4f6b64b6251304bc6d8fcc25e29b20affb7a9feeb04cf" "6b481ed05bfe68e5ac7c2054ce4fe83de5c48bd44d383ae35ad1f8a5376ac194" "c83017113d5163e8439920c2afc972dded06d0e63a2e2e0d484fc48d10e81a04" "0ca44a9e9805df1ef4dfa740cbde7d20ef7c08ea392455410328a653aff1e2bb" "9d8800ff39578a5a5229cf97b24db66379e356744e96aa3ddf0a256df5cdd5d1" )); let q = BigUint::from_bytes_be(&hex!( "f36fdc739bb0b7c933e5e086023aab31235f59cb4ec16da80054e430ee849b71" "efb34f7ee74eaf091c4a5519bc706401c048acb41d3fb9786ebd88eb7dfa0f26" "ec0eba2f37d823af8235bb97bf7423fe918683e7e0121fbb8a56ce2e908ce156" "208057ed6b6e39ca542d588e44dcffa3db4a9245a9ccceae83d63a354a005a2a" "b7b49612ecb1967f49d6aa2477e6211e482edd69e8e4cbe6206aff487c6eb4aa" "38270f8289c308c4eca9fdcb78df73d1fd34c3893fe41b69152ef20a0081fdf4" "45bc7b533ff23bc9e0d60e0b80cf7d995ba3d4504a0df457d55f446106d6d553" "f07198cab9dccc0753c42a1f94418b81c83a97db8c1d01516b804f02ef07cbb9" )); let privkey = rsa::RsaPrivateKey::from_components(n, e, d, vec![p, q]).unwrap(); makiko::Privkey::Rsa(privkey.into()) } pub static RUTH_RSA_4096_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn\n", "NhAAAAAwEAAQAAAgEA7Ymm3ajoDC2Q1u8Lafof8CBFunNsAV+IqKbpvXsT3EFAxCGnVNMK\n", "f6Hv4VaGVH1p6O/kLQducmK3306egUuA7OI2dEsAv5XHSDJOABpV4UDufFjU0OAq1YwIud\n", "8GCndfyFuO9g/Q24J1oUAsw5EH8G+4g+cRWoON7funikZ3OnRG9sizosUV2+7DE1GwYXVF\n", "IBIR/QM6A7Em6+NF2GKLBlOQy+ondb3ujP815e1uy3+fK34VJ8czsyy5EEPC/TYa10WvXt\n", "e9Qx9+mO20NrNcq8dVF2y15yiGxgQMCe50TUOZpjvY+sr7XCosycUj5YIHCFmoyK55wNqR\n", "lc0FlzfNxddgscS7d/+1zAjzTXpSOJgJRbF5bxKu4xGX/oW0+iK0QC7nbRzwlxAiw2MKy+\n", "XSjzigP1/OLlTh4qXyDhGbeF5KEGAwKmhavg0nYMmks92vkLjgPMeiiIHo5vXOJ7GhdbPS\n", "FboQ52w79hBSrJrnnL8v7oniZmefnpgahQNhmDOVbOOSOPvWTpjOcXuIhh+VT/HvlkGjy/\n", "Bx+pYHJ3uiFla9xmLu9S+BGVQvNZGZaMOoph/epIVYl1iUW7FlJJqlAMpfHRCtlqgtTzCC\n", "huNu/VdozGqwBGn/D4ndn9j+38AnaTTYoTg/B2nPfaz4xaqeO8oOkj9TyEnsnJdMQdIDPw\n", "kAAAdALFR+yCxUfsgAAAAHc3NoLXJzYQAAAgEA7Ymm3ajoDC2Q1u8Lafof8CBFunNsAV+I\n", "qKbpvXsT3EFAxCGnVNMKf6Hv4VaGVH1p6O/kLQducmK3306egUuA7OI2dEsAv5XHSDJOAB\n", "pV4UDufFjU0OAq1YwIud8GCndfyFuO9g/Q24J1oUAsw5EH8G+4g+cRWoON7funikZ3OnRG\n", "9sizosUV2+7DE1GwYXVFIBIR/QM6A7Em6+NF2GKLBlOQy+ondb3ujP815e1uy3+fK34VJ8\n", "czsyy5EEPC/TYa10WvXte9Qx9+mO20NrNcq8dVF2y15yiGxgQMCe50TUOZpjvY+sr7XCos\n", "ycUj5YIHCFmoyK55wNqRlc0FlzfNxddgscS7d/+1zAjzTXpSOJgJRbF5bxKu4xGX/oW0+i\n", "K0QC7nbRzwlxAiw2MKy+XSjzigP1/OLlTh4qXyDhGbeF5KEGAwKmhavg0nYMmks92vkLjg\n", "PMeiiIHo5vXOJ7GhdbPSFboQ52w79hBSrJrnnL8v7oniZmefnpgahQNhmDOVbOOSOPvWTp\n", "jOcXuIhh+VT/HvlkGjy/Bx+pYHJ3uiFla9xmLu9S+BGVQvNZGZaMOoph/epIVYl1iUW7Fl\n", "JJqlAMpfHRCtlqgtTzCChuNu/VdozGqwBGn/D4ndn9j+38AnaTTYoTg/B2nPfaz4xaqeO8\n", "oOkj9TyEnsnJdMQdIDPwkAAAADAQABAAACAC/rVgtfeLiENLT3cmEFwY2qpQZxJHe+cw46\n", "5eqAusfzLgKjG2OkU3jeDUtzLhQ7XLNOOcTPu/s9aQSWkqlYtwCSvhOF0ffUWmh5JX0l0u\n", "9nLvVM4lnk7x83acc9c7WG0X7U4alIFYVC80H9dUpaprRdhWaupbSR138MBoeBoancLTi5\n", "0mtiwP8mUppCH4f5pWFL4+8byIdYJJbvuXZmos866noImb9J+qbdEV16IaDR9SVMAS6OJC\n", "LgQdFDKkH0uUN2XmOOuDKjVuG5CmMCmg5ZXxQjrSqd5VprFJaoUTQJECUV67bkXgMAyxpF\n", "N/Gj4pFPrRoXAJ7kOPx0aM1Rx6PfR2iH8YfKHpRp+weToa+7ssYPZKH+GXdvPZZIbS4V1i\n", "CLA35RnpFCPeqoeVTVmro7+jFqk8P/uha1fY4D2qUJewrugewJnwKO8MgUkIqHFmbiXQBL\n", "snbqPE9gjyAZQXUf9WqeEvxArRucvHkvtTXji104QWO0+rQsIHZikMvE9DLbbQlN48uUlO\n", "PUKlRlZANgJS5bg7QGlSRjrguk/xc00tVu4qIRenQ6ZvVZj1RVWqRk8Id059Dscs7vlcUP\n", "RVRRCLFAmi2rKAYtvNs18Gf7lDHsM6lGuMfiDH1HfXeP/WgPsqSw2/BMyj2gFvVyapVWRT\n", "h9Jfr/26mix6LxRgOBAAABAEPGsW7sUi6JPQ9YsomTzsEMUazh45EyNj02iP1EQgC8Q4AY\n", "z/qm5u9pDQ+YRxGLxe3u01/aEJmXV+RbQ4Tb73uhGARtZ/V9qlmNyoZrucjbXuyQ71Seah\n", "IxtcoR4/Zj+ce7CvDKrw1Hk3uZlp5C7PmD9X2uqofTZ691AMYiAoPgdtfsB1ZQSo3MQ9YT\n", "VRZeVWwfHTlE+CtkDohph3QcAlkGiBaGKC8ynCEF92cCxgv+Tx1chwJlA7aT8GmGcvrpdD\n", "J/cWceBc+e/MA3otBlA6EhdZOoF18yNrrC3wp0vyy3/EupF+3pQX1NyUZbHx0ehJOjGvPG\n", "72TzZWga3tWVb1AAAAEBAPnL2nXuqMpxpb0KWG2Xkwd3efuxHrwcbjEYPfp52T+IrDQG0R\n", "XNOVs2edwyrRNslKjWpUODkouSORwzs8/HbEXyNDHnueVzXpdFi5wIPH+4M1Oq4AjVqMuS\n", "3tRpCB68tUOIX33OsPM3XPT2tktiUTBLxtj8wl4psgr/t6n+6wTPa0ge0Fv+aOWsfCBUzk\n", "/oPeXEi9RNODrjWtH4pTdqwZTIMBcRPVFj6EOZIMKvyXLd7QbQ5jouLg1IT8SNEOgaBAyk\n", "Sp6YBd8e9N+nQMvefSDvfAjqOSRVQQMoplOv8eK7nYgA/zlXilpSKc+Xsk22Y3njVnROlq\n", "o93wolbfXN1dEAAAEBAPNv3HObsLfJM+XghgI6qzEjX1nLTsFtqABU5DDuhJtx77NPfudO\n", "rwkcSlUZvHBkAcBIrLQdP7l4br2I6336DybsDrovN9gjr4I1u5e/dCP+kYaD5+ASH7uKVs\n", "4ukIzhViCAV+1rbjnKVC1YjkTc/6PbSpJFqczOroPWOjVKAFoqt7SWEuyxln9J1qokd+Yh\n", "Hkgu3Wno5MvmIGr/SHxutKo4Jw+CicMIxOyp/ct433PR/TTDiT/kG2kVLvIKAIH99EW8e1\n", "M/8jvJ4NYOC4DPfZlbo9RQSg30V9VfRGEG1tVT8HGYyrnczAdTxCoflEGLgcg6l9uMHQFR\n", "a4BPAu8Hy7kAAAAEcnV0aAECAwQFBgc=\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static RUTH_RSA_4096_PUBKEY_FILE: &'static str = concat!( "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDtiabdqOgMLZDW7wtp+h/wIEW6c2wBX4iopum9exPc", "QUDEIadU0wp/oe/hVoZUfWno7+QtB25yYrffTp6BS4Ds4jZ0SwC/lcdIMk4AGlXhQO58WNTQ4CrVjAi5", "3wYKd1/IW472D9DbgnWhQCzDkQfwb7iD5xFag43t+6eKRnc6dEb2yLOixRXb7sMTUbBhdUUgEhH9AzoD", "sSbr40XYYosGU5DL6id1ve6M/zXl7W7Lf58rfhUnxzOzLLkQQ8L9NhrXRa9e171DH36Y7bQ2s1yrx1UX", "bLXnKIbGBAwJ7nRNQ5mmO9j6yvtcKizJxSPlggcIWajIrnnA2pGVzQWXN83F12CxxLt3/7XMCPNNelI4", "mAlFsXlvEq7jEZf+hbT6IrRALudtHPCXECLDYwrL5dKPOKA/X84uVOHipfIOEZt4XkoQYDAqaFq+DSdg", "yaSz3a+QuOA8x6KIgejm9c4nsaF1s9IVuhDnbDv2EFKsmuecvy/uieJmZ5+emBqFA2GYM5Vs45I4+9ZO", "mM5xe4iGH5VP8e+WQaPL8HH6lgcne6IWVr3GYu71L4EZVC81kZlow6imH96khViXWJRbsWUkmqUAyl8d", "EK2WqC1PMIKG4279V2jMarAEaf8Pid2f2P7fwCdpNNihOD8Hac99rPjFqp47yg6SP1PISeycl0xB0gM/", "CQ== ruth\n", ); pub fn eda_ecdsa_p256() -> makiko::Privkey { let secret_key = elliptic_curve::SecretKey::::from_slice(&hex!( "d8fd4505ee0da7db5269de892c3d1a577a1a46188df892478ee7550c359abb1a" )).unwrap(); let privkey = makiko::pubkey::EcdsaPrivkey::::from(secret_key); makiko::Privkey::EcdsaP256(privkey) } pub static EDA_ECDSA_P256_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS\n", "1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQQ8fwweAGpAvTJ3Dd/UOArK2A4FWyx5\n", "kzV0rMDMDglGxhhvU+jIHcpHitu2eeZPRi9SJrcTfVMHStig6pgRKqVAAAAAoKTD2uukw9\n", "rrAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDx/DB4AakC9MncN\n", "39Q4CsrYDgVbLHmTNXSswMwOCUbGGG9T6MgdykeK27Z55k9GL1ImtxN9UwdK2KDqmBEqpU\n", "AAAAAhANj9RQXuDafbUmneiSw9Gld6GkYYjfiSR47nVQw1mrsaAAAAA2VkYQECAwQ=\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static EDA_ECDSA_P256_PUBKEY_FILE: &'static str = concat!( "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDx/DB4A", "akC9MncN39Q4CsrYDgVbLHmTNXSswMwOCUbGGG9T6MgdykeK27Z55k9GL1ImtxN9UwdK2KDqmBEqpUA=", " eda\n", ); pub fn eda_ecdsa_p384() -> makiko::Privkey { let secret_key = elliptic_curve::SecretKey::::from_slice(&hex!( "48881a10e3140e41e6c4da6c7dfe4cfa3db82d10526f5707dee2722e29e5545d6840d14e54efd37e6eae9c20490729c1" )).unwrap(); let privkey = makiko::pubkey::EcdsaPrivkey::::from(secret_key); makiko::Privkey::EcdsaP384(privkey) } pub static EDA_ECDSA_P384_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAiAAAABNlY2RzYS\n", "1zaGEyLW5pc3RwMzg0AAAACG5pc3RwMzg0AAAAYQTHZW4k5tFzU/ewoWw2tR8LWiS5l9mz\n", "DDl0gVEGxBGcwLmEvrtGwTYLARPHkAOy0UNY5ezjM9FKi3dvSEBuCflq50mst7cc07HaqH\n", "kGoQhSZ94yhBRjVnGHGYJNk0gY/AEAAADQEZtu4hGbbuIAAAATZWNkc2Etc2hhMi1uaXN0\n", "cDM4NAAAAAhuaXN0cDM4NAAAAGEEx2VuJObRc1P3sKFsNrUfC1okuZfZsww5dIFRBsQRnM\n", "C5hL67RsE2CwETx5ADstFDWOXs4zPRSot3b0hAbgn5audJrLe3HNOx2qh5BqEIUmfeMoQU\n", "Y1ZxhxmCTZNIGPwBAAAAMEiIGhDjFA5B5sTabH3+TPo9uC0QUm9XB97ici4p5VRdaEDRTl\n", "Tv035urpwgSQcpwQAAAANlZGEBAgMEBQ==\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static EDA_ECDSA_P384_PUBKEY_FILE: &'static str = concat!( "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBMdlbiTm", "0XNT97ChbDa1HwtaJLmX2bMMOXSBUQbEEZzAuYS+u0bBNgsBE8eQA7LRQ1jl7OMz0UqLd29IQG4J+Wrn", "Say3txzTsdqoeQahCFJn3jKEFGNWcYcZgk2TSBj8AQ== eda\n", ); pub fn rsa_encrypted() -> makiko::Privkey { let n = BigUint::from_bytes_be(&hex!( "dd2621c85ff9ae71346a9bc9ce267f33c5138aae527505557304cc75f84792a4" "de7f90ba28c5552dbee4f298633012e6fee03192aa516ef5fd76775bf0a21ecd" "511c7acb3d83f59e280130d43881a69be0b4bbac12800da57dcc06bf6b5a4459" "5097844c28326a49362de50ce471639dfb3ec7acb229dd1ad1e7707cddb20c51" "64417fb1efcdaff9869e09beb48b3aa1dfe2d449e00329ee9cf0392f241fe216" "8a79f5dd0b82f41d7b9efe8bed8bfd77463e462c37bb55341985402d5739c7ff" "ee3fd9ce409463b3d9e01e9c3fb49e7a2c1cac35aaf32aebba2d76a39576507f" "b62706ee4535577ac386e1acdb1cebf0a7e5b4fad9e4ccae3bf8ebe13276306a" "4ad6c0805c504b5794be59abbb073f3ebff6d0c891c9951721001166c6b38483" "519e9a0f789d51751a577d865604b94f7e382fe7c2b1b83e9e2deb2e70c1a5eb" "ee755e5adb5a911d969760dcfc42ae4a4e469ebdf4d85b51f9bc67430568232d" "250b588ac4e5f04c294f9472ba7e0960e5d309519ebd4dcde8bb4772f31c3359" )); let e = BigUint::from_bytes_be(&hex!("010001")); let d = BigUint::from_bytes_be(&hex!( "a3d30cb1a84f89677942047861cbe8ed4bf0270aee309c2be9d1c3391d1cc048" "7c3f19d29e4358cf539bbd0f20634b8d6d805d98ddad07bb18f1ba881461b4d9" "ba5d93a59dc3749f9dd90bf81a8809096e53d4b72ad94bc2adc707b4a3ed31b6" "cc5a01fa7cc8a42dea01e3ad4249b15725f922e80eefae48a0f8873f28e82df1" "d9881ff58bc4deb8c57dab9067a4c0618c3e37af265091ae9ef9e212c6fb0b7c" "5146f9d8af1f6a81b0c35ea3ffec756ef74d48a49700a2a4bec7147cc2221ec2" "5af45a1b6b171e22acdc21b56150b52e28b647e4722926f6479ccabaf19c454b" "85597201fb319b31768542e3ffd29536b87032376e76943227d47529afaa80f7" "258fa7bd6921262844b24f23bcbbe1dc5ffa92cd6001570177f5c32fbb7bf010" "6559465dacd0a0f96783bfea3456adb99bfbbf5a316a5c737dec2a081bb608b3" "e5b05f613752777a88740433afeeba3c4f1ab09397e4697861159afbfd2621c3" "5f114b73e58eddad02cd2842b18d4aa5224e922b0e1687e0b4cab7111a30e751" )); let p = BigUint::from_bytes_be(&hex!( "fc583b4364a88e0ff493a00e0928a3c95f9552e827ef0433e1ee97ad44f9517f" "ce37f450bd2f4d723f188462767584822cf541ab49f7ad5042b7bc765c2982bd" "9a324728ef68b165b6192ae1f822947b83354bbe30dc13c1be5528cf8efa71dd" "96a46144efb94fa8679cd2aa819976df9264b0b81241a50d359919de1c63b2c9" "cb74eefcde6c0dc219526fd07e73bcf2c7f0eb7bfc94bf8fbb0c3642e48a92a2" "a6d810c459dc4ca831cfd467341ba3c5c39000a5255c12781019f0e8bc251f85" )); let q = BigUint::from_bytes_be(&hex!( "e05a37b4301f91250d9b581a18802a425f320df3e57f500654a41f29a1322ed5" "1339bf54bb1db7e26d2f0de8bd0170d23b5a3133184803f2e2395ee2635355bc" "fb1a97e8abe8ba6f5a44aa8d0f15cc45774d762bbf50fdc470d46968754eede4" "84f500c80772669ea00bc90c08ce9d0d75a68ae32f23ed8e1069b4a496ab52eb" "0d7b275b0abe503ef7c8fc35445b49e43e7ebf434bcdf87c694b5ae2e22c8345" "7b04652a77e90cfaf6c130251f05cbda5a3474ecf3896ef90997e25ef2bccac5" )); let privkey = rsa::RsaPrivateKey::from_components(n, e, d, vec![p, q]).unwrap(); makiko::Privkey::Rsa(privkey.into()) } pub static RSA_ENCRYPTED_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "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\n", "Ck8ndkJhx+0Og5jQKtdDfk42d9s=\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static RSA_ENCRYPTED_PUBKEY_FILE: &'static str = concat!( "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDdJiHIX/mucTRqm8nOJn8zxROKrlJ1BVVzBMx1+EeS", "pN5/kLooxVUtvuTymGMwEub+4DGSqlFu9f12d1vwoh7NURx6yz2D9Z4oATDUOIGmm+C0u6wSgA2lfcwG", "v2taRFlQl4RMKDJqSTYt5QzkcWOd+z7HrLIp3RrR53B83bIMUWRBf7Hvza/5hp4JvrSLOqHf4tRJ4AMp", "7pzwOS8kH+IWinn13QuC9B17nv6L7Yv9d0Y+Riw3u1U0GYVALVc5x//uP9nOQJRjs9ngHpw/tJ56LBys", "NarzKuu6LXajlXZQf7YnBu5FNVd6w4bhrNsc6/Cn5bT62eTMrjv46+EydjBqStbAgFxQS1eUvlmruwc/", "Pr/20MiRyZUXIQARZsazhINRnpoPeJ1RdRpXfYZWBLlPfjgv58KxuD6eLesucMGl6+51XlrbWpEdlpdg", "3PxCrkpORp699NhbUfm8Z0MFaCMtJQtYisTl8EwpT5Ryun4JYOXTCVGevU3N6LtHcvMcM1k= example", " comment\n", ); pub fn ed25519_encrypted() -> makiko::Privkey { let keypair_bytes = hex!( "658ffa60f316e34424206cb7423a9083034e92cbbb9c4558767dfbcd9ae0ca7e" "b745e4c87adfbd3945c243969a127b9767132eb232279d3b16607fa70940b027" ); let signing = ed25519_dalek::SigningKey::from_keypair_bytes(&keypair_bytes).unwrap(); makiko::Privkey::Ed25519(signing.into()) } pub static ED25519_ENCRYPTED_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDTPlM9fP\n", "LvZc+iYbijNu54AAAAEAAAAAEAAAAzAAAAC3NzaC1lZDI1NTE5AAAAILdF5Mh63705RcJD\n", "lpoSe5dnEy6yMiedOxZgf6cJQLAnAAAAoDlV9qwZ8jlW1M/MRx/i2EZ7sMPMAGmr5hv10Y\n", "I4HHAc0rEff6tnAerWBzz7xhcQ0fQEuFd1rkZNgFRiXKBp96VlaXLehtzpD+1G51Qeb0Z7\n", "MUAX3nNfin30FRR9fveg5kiqVbajeMgH21Kj0O/sBIzyUJLo5ObarTLNnSqnc2ym9lNFJA\n", "FdNqwwocrmcsXlfv6o8y7oNH1Sa2oACCRliMg=\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static ED25519_ENCRYPTED_PUBKEY_FILE: &'static str = concat!( "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdF5Mh63705RcJDlpoSe5dnEy6yMiedOxZgf6cJQLAn", " example comment\n", ); pub fn ecdsa_p256_encrypted() -> makiko::Privkey { let secret_key = elliptic_curve::SecretKey::::from_slice(&hex!( "ad18e77b6941aaba4496a348ec21a863b6fbac8d456c508ce1cd90da7d00968d" )).unwrap(); let privkey = makiko::pubkey::EcdsaPrivkey::::from(secret_key); makiko::Privkey::EcdsaP256(privkey) } pub static ECDSA_P256_ENCRYPTED_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDoplaOYE\n", "SFqk8RQ347BqFBAAAAEAAAAAEAAABoAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlz\n", "dHAyNTYAAABBBO2ZeXdaWAUr4ns8U8/bQag2djDbbcH1oIHq1vopf1kYSZN+8+qVt/vWBd\n", "3EppRKT3zIgOe4hvm7se1ILL+IjL8AAACwpwnyyidk/qyzfBrFjkRUVOQV71YehKc2aguH\n", "0GPnr05OfK1RZV2DJYkHOXHDA1h7aW/ks11PI5su0+zPaqlLHXCyDgKCwL0UMpSTRVCfIN\n", "3Rn34VMwIZRm5pLmhgnieF7AedMtl57r8JC9WwiOvSBog5fyKICyaCmIe8nxH7iABbyvWl\n", "R1twhj5we06/k4ZtG2YFQWHa7XZsZ5tK4EBvoDZZ2NapNEKwEgMtE92Diq0=\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static ECDSA_P256_ENCRYPTED_PUBKEY_FILE: &'static str = concat!( "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBO2ZeXda", "WAUr4ns8U8/bQag2djDbbcH1oIHq1vopf1kYSZN+8+qVt/vWBd3EppRKT3zIgOe4hvm7se1ILL+IjL8=", " example comment\n", ); pub fn ecdsa_p384_encrypted() -> makiko::Privkey { let secret_key = elliptic_curve::SecretKey::::from_slice(&hex!( "d5e1163bd7efb7b0e2c7554e8dca5cf66eaedd345d54f8734832070997baf782575a660cf57fc71b98deded3a29f22a1" )).unwrap(); let privkey = makiko::pubkey::EcdsaPrivkey::::from(secret_key); makiko::Privkey::EcdsaP384(privkey) } pub static ECDSA_P384_ENCRYPTED_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABCsgNRLfR\n", "jR5HahwAV59KKRAAAAEAAAAAEAAACIAAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlz\n", "dHAzODQAAABhBE90bl1WvFWLHVcWVUpU90z+h5Q0aaGGOQibbyxMB3y7tDHE2O8p7EbeEj\n", "pzqUAnANUL7iayGMRB5f/442POVjV5wOOJyBKCudpNHFzpXC+r2G2L1X5Z2bqS0imfRKvu\n", "JwAAAODp2hnAQw1CYUICaZ79b4wAl/mJ7t4/68rTeMbw1zLm0wFYv6t9XI6Li4mdt1X163\n", "X1LMELTZcU98228jbqVretidia5f0naiVSkyN+9NbMu3yhQGYVZAAbSSMaPf17P8yXV+sr\n", "EUsp8SxIVna3uHqh70EAAxrfcWxgbL2PN+DXYmhpr0NaNqu8SF9X5+nCMG3uWz72XA09dw\n", "n34tqf2DsGklWUtOMuk3NuYe1gzy+gZZ+t2mhKayfPA/3ko/pTK/UJYeYmhBCxlOHDhtKr\n", "zBM5+Xu+gB5dlB6srLzNxEXdDw==\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static ECDSA_P384_ENCRYPTED_PUBKEY_FILE: &'static str = concat!( "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBE90bl1W", "vFWLHVcWVUpU90z+h5Q0aaGGOQibbyxMB3y7tDHE2O8p7EbeEjpzqUAnANUL7iayGMRB5f/442POVjV5", "wOOJyBKCudpNHFzpXC+r2G2L1X5Z2bqS0imfRKvuJw== example comment\n", ); pub static RSA_ENCRYPTED_AES128_GCM_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN OPENSSH PRIVATE KEY-----\n", "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\n", "-----END OPENSSH PRIVATE KEY-----\n", ); pub static RSA_ENCRYPTED_AES128_GCM_PUBKEY_FILE: &'static str = concat!( "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDJkdbeQiEUyGWMdIBTGN/sPnEIR/AqobUoWflsGaz2", "i8OJ8GQOz1g5B2TZ6kU60TO/kMq9op7pWd4Kj2dKp/wZl3Hhh1U+dOdLGjxZzqWtN0htagrTFKMt0OOt", "qYk1Qy4icX3iynGbctBMrCEaZbcyW39l2PvtJaZuE27VtQvrIR1rxKIHzhAnlN0r+hw32j/TV9nvhJ1d", "PS7RiAnY/AO/YE2L7i6Ur2TfITJMfceHm5D9d5UhhtKfmLFiHfEmHaeJ9n/wD2RfhDFQfgYLfKQr74pK", "Yt0h4HBk8WM22og9hDOA78bvX/yxZpilEOcl1T0DCxCxp0Zw3leaBRc1WBqVX2syU3zQonMidmxPrZh2", "ex5V48VyrktUvU6ADRYiYiA5OD8i3yvRysPIm+DvC9KplkPbqNDACtcFvxzWSFLTowl0OwFJBvjEV3cq", "UomLrSLAJ7IjNzDYoh4oVkyMxGEvkLNUdfW7HYxnTcX1HiY/HLKnC/pqJD5hOegS3Ubi4qk= example", " comment\n", ); pub fn pkcs1() -> makiko::Privkey { let n = BigUint::from_bytes_be(&hex!( "d9ce5201020dfda51cb2b456e641c7620c3c37090f3e68c70ed75508cc161215" "40baa44dd7c5a519dfba5eff55cd09d2e358b6d777ab9c64a2d84cf58ce2e6e2" "051446c9d20641ec4482cc300492170734d53aaecd4c01338ffa4427d7a312e8" "2c2aff83a3f8e25367667624e3886a7dedf2036a9762dee5faf322e57ab79a16" "4617206519bf3acd3d379f53104e9a37041a50a1448e8270764351ec3f4fb4b6" "9d469520ba8b8b5dbf59435d7453017ad8ae9bfede2f18157278f36f222c5997" "ed1e886595905a28aecfde1c5cada935f625ac25d33559cb57b57ce4b6bbd411" "f1a6a7545da52b4b89ea6254de688173b2622cbbfc016acec023a395d32a430f" )); let e = BigUint::from_bytes_be(&hex!("010001")); let d = BigUint::from_bytes_be(&hex!( "30550f6f77d440f7f5d156217e81144c96a87a120196f8cb4b68cf4edf72fa5a" "4afddfde0246b2a77635364574f5c5fb4d45ef750af2430735f7c7c4299a645f" "bd7ecd6295bf9bbb614ca120fab2ac7785ead755d8eac7cd7862b1e3217fe77f" "2be5f2c3748c9334acda58d740c291d716094166d2e736cd540dc62da438bff1" "4e433a293a206db2fcbc07fbc956911bf6930f3d0a35cb6d1aeffe1098aa6af0" "c7e3b7544123cf69490bf33410e008629a0fcc164fab2f42bdee19c236e64783" "b41dd92e5829925815406fa8e53bf78177f06fe0792f6d32b9dc5b30d2e277c3" "b22a74c462f81bb07d733656c4c6f24aec1df0fc85649722faa9015ef475b7d9" )); let p = BigUint::from_bytes_be(&hex!( "ffe03e8473d31014730488115727b8c27b630b47adf2c7d0a2c1ee3868d53b8b" "380cd6145266ea4cd9bd153c85c4f6c39b717e13d31ed94e581a582cadd0b953" "2e1e20b660070317a393f6ba71330fb4e5cb099a77d1bb940feee564fa36cbe6" "306bff34ab7f86413e005db8dc84816e8e1069dd9f4bac662b7ed7f4aab9e973" )); let q = BigUint::from_bytes_be(&hex!( "d9e959f4fdfa88b25fee1c19cb46d6fd5e14c379368440c7401d317d0b648783" "2f35fe355c5491e87d72fc1e4a3f3a912c79437b20b95731c18c38a46749ae6b" "efd28fc7d4631d79c9e675e86d0e8a210ca8b996962ace7686dd045ec3c4569f" "dd7f2fafe2ef0bd94090c1ce7498ba821da1f56188660738d3cdafc3c4b4c8f5" )); let privkey = rsa::RsaPrivateKey::from_components(n, e, d, vec![p, q]).unwrap(); makiko::Privkey::Rsa(privkey.into()) } pub static PKCS1_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN RSA PRIVATE KEY-----\n", "MIIEpQIBAAKCAQEA2c5SAQIN/aUcsrRW5kHHYgw8NwkPPmjHDtdVCMwWEhVAuqRN\n", "18WlGd+6Xv9VzQnS41i213ernGSi2Ez1jOLm4gUURsnSBkHsRILMMASSFwc01Tqu\n", "zUwBM4/6RCfXoxLoLCr/g6P44lNnZnYk44hqfe3yA2qXYt7l+vMi5Xq3mhZGFyBl\n", "Gb86zT03n1MQTpo3BBpQoUSOgnB2Q1HsP0+0tp1GlSC6i4tdv1lDXXRTAXrYrpv+\n", "3i8YFXJ4828iLFmX7R6IZZWQWiiuz94cXK2pNfYlrCXTNVnLV7V85La71BHxpqdU\n", "XaUrS4nqYlTeaIFzsmIsu/wBas7AI6OV0ypDDwIDAQABAoIBADBVD2931ED39dFW\n", "IX6BFEyWqHoSAZb4y0toz07fcvpaSv3f3gJGsqd2NTZFdPXF+01F73UK8kMHNffH\n", "xCmaZF+9fs1ilb+bu2FMoSD6sqx3herXVdjqx814YrHjIX/nfyvl8sN0jJM0rNpY\n", "10DCkdcWCUFm0uc2zVQNxi2kOL/xTkM6KTogbbL8vAf7yVaRG/aTDz0KNcttGu/+\n", "EJiqavDH47dUQSPPaUkL8zQQ4Ahimg/MFk+rL0K97hnCNuZHg7Qd2S5YKZJYFUBv\n", "qOU794F38G/geS9tMrncWzDS4nfDsip0xGL4G7B9czZWxMbySuwd8PyFZJci+qkB\n", "XvR1t9kCgYEA/+A+hHPTEBRzBIgRVye4wntjC0et8sfQosHuOGjVO4s4DNYUUmbq\n", "TNm9FTyFxPbDm3F+E9Me2U5YGlgsrdC5Uy4eILZgBwMXo5P2unEzD7Tlywmad9G7\n", "lA/u5WT6NsvmMGv/NKt/hkE+AF243ISBbo4Qad2fS6xmK37X9Kq56XMCgYEA2elZ\n", "9P36iLJf7hwZy0bW/V4Uw3k2hEDHQB0xfQtkh4MvNf41XFSR6H1y/B5KPzqRLHlD\n", "eyC5VzHBjDikZ0mua+/Sj8fUYx15yeZ16G0OiiEMqLmWlirOdobdBF7DxFaf3X8v\n", "r+LvC9lAkMHOdJi6gh2h9WGIZgc4082vw8S0yPUCgYEAodJI122E0wuLvhbrmIoH\n", "f/+WoOChMwSJfxVUuhoamMCwHvYY/hAWJ6ogudh/5RQGmz0IdjMztEymzWpsPzTc\n", "r61f4mJUkrqy7YG7LShAGbPXDDQzm4lprvbwp+TXlWYYWxFB4iZ/zQFf281qBxRJ\n", "4wg3eyxs/Oe36dQbcaGzV98CgYEAzPy4xMBOd1zk5QbGNPT0tO9VtPRHlm2hgex0\n", "a17WOKvtM2tpIuvjPcMU8ZpE2ensOtvv4NnNv/psSc3WydsEG0FE4EBoyLwnnwgO\n", "jpBYhxPD5sx+ndCy28jODJhgrEeYpzJH17swiALcu8+0uPYbLN9XRY90UhYlHQl2\n", "eECImCkCgYEAmgewsrbM7hSxW2Sr0WqiV1i8K/bLnRrEBml/jXUyuBhRCZRmA0je\n", "OzRHrIs4tJBnlU7DbjY57gPbbdTzpaldoK+XjJ1xjDBDbUKKa9KBsbOoyvIzwLdm\n", "6IEC4SUUWKhQXhuMjp68R8dVBL8XyFaUZZQy7EJ2/Jx/W3tRwsn/Ziw=\n", "-----END RSA PRIVATE KEY-----\n", ); pub static PKCS1_PUBKEY_FILE: &'static str = concat!( "-----BEGIN RSA PUBLIC KEY-----\n", "MIIBCgKCAQEA2c5SAQIN/aUcsrRW5kHHYgw8NwkPPmjHDtdVCMwWEhVAuqRN18Wl\n", "Gd+6Xv9VzQnS41i213ernGSi2Ez1jOLm4gUURsnSBkHsRILMMASSFwc01TquzUwB\n", "M4/6RCfXoxLoLCr/g6P44lNnZnYk44hqfe3yA2qXYt7l+vMi5Xq3mhZGFyBlGb86\n", "zT03n1MQTpo3BBpQoUSOgnB2Q1HsP0+0tp1GlSC6i4tdv1lDXXRTAXrYrpv+3i8Y\n", "FXJ4828iLFmX7R6IZZWQWiiuz94cXK2pNfYlrCXTNVnLV7V85La71BHxpqdUXaUr\n", "S4nqYlTeaIFzsmIsu/wBas7AI6OV0ypDDwIDAQAB\n", "-----END RSA PUBLIC KEY-----\n", ); pub fn pkcs1_aes_256_ctr() -> makiko::Privkey { let n = BigUint::from_bytes_be(&hex!( "d273e841880c71b1828f1a9106268c5140480c555d9df9082fa0cd7f9c65de0d" "c3d0c236c949bbf4fca123047cff09f5174de4d9aee4f523329a84c3e25c06ac" "dfb1bc88cae36c5dd37d0f7da680f92b273ffe3801ca168582274d6009489811" "c94e64d7ff1f7d688973cb5096831fab243210c45e185e8b8d7562edb4282eaf" "2f0cb5dbe357a001a0a1e1659e561835e6dfb5a425c7a3b9022ee911023cccec" "cd4420798e827e5fe9248dcd29d5ef4870ff51e47fca8dc344df40bfaf8fb0e4" "ea8db3068d0d29cfe9bad4264a4300e7877e0c99566d7e5d9f6ae6826b33fcf1" "92f96bcc61461366e068c02376f4c70345906795c1fa151fc933ec1828cd9243" )); let e = BigUint::from_bytes_be(&hex!("010001")); let d = BigUint::from_bytes_be(&hex!( "a3e8d874e9a45f8c94962667db757c85efdded953333cd78ddb78d361db68d4b" "053efb74b633726badb346d5c110d64d8898076cafb5ed633b8f7366294fe977" "0d469e03a0999e963918c74ee2b6c2da2458c8041108b79fc62e1c2a77308e18" "1444b5703168f240d0055acdea5c37f7105ada0a470b0ddffd0df73e11b9d618" "fb5dda1fd88539b4fc82b2689be426ee8d5aabb368a4fac5741f46dabea5959f" "2a6b9a6aa59363bd41fd13f2192f01f91515d0d4ade5f70666d90a404f9078cf" "12c7646d6a9904248e364db305b16ca4ca0de46c913bcb419a34bf61fa43b290" "4650988de071b8805b585a3315d83f61309f7f8fe20dc05641a04f4f24a0a399" )); let p = BigUint::from_bytes_be(&hex!( "f1a8b4b8b89776935789a60801e3cd28eecb34bc8119f0da36a7d1264b47a970" "9bc7a052c1b6eab214707d2edf4afcbc4d78bd586e20d8122b378b17afc7e7e6" "a64a3397ae8e3135077daeac6cc133a42e868b6b57aa333fcbef8c570a5009c6" "fd3e54394d4b005d432d1b93f6507bc14d1aaa8c8e8d112a28c4686494824c7f" )); let q = BigUint::from_bytes_be(&hex!( "def11d5c44d48b0f21f613dba5666d7b93a93ab44626d68d737d354e8eeee5ec" "2fbf456a4abf0ab73f00ae201bcdcd3a3f539303d524e5da46f11818aa612f03" "6a1cc5e3dcdd22db51ce81f01c633b3bf61d838649a17132405d2d3f81c86d23" "f85fbb8b828590763684fc282f7b3263a6180a4931ac1b62e30d52dd4d72a83d" )); let privkey = rsa::RsaPrivateKey::from_components(n, e, d, vec![p, q]).unwrap(); makiko::Privkey::Rsa(privkey.into()) } pub static PKCS1_AES_256_CTR_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN RSA PRIVATE KEY-----\n", "Proc-Type: 4,ENCRYPTED\n", "DEK-Info: AES-256-CTR,6131EF8B83EC499A2AF2370A2CE55F86\n", "\n", "SW5EKZTScBgw6VPdQVZDTGelQ0HaNa6q5HTcmVfLFqIwBhEFZaaWmuIxF8yZAmHa\n", "hjp+JlLj52lC/x4JuX27vModXwMxagc8nU7g13pQWW4FCRLFnkDYK1zJZtWv6m3O\n", "y26TijrD9yjUeStZ8IbIPVwy2YT7aF6l766h8CmOMHyz7G8cfXFM1Es+giLzOrnW\n", "yJW7ivq/Nd7kJFLvRAbem88rpwUMx54Mi+JChu2JzcRN0xi3ocS8A8GHP4OVjj2U\n", "NllZ8LX0fqNNF5kgTyzcm6/VtfNk1e7eVicD0l8AW1KdbJgyfaq3nAE3tgOwc6/E\n", "TdYkKRHPULYs+7yezXl263UImCvmNMHtlRWavbz3RsBFwn9doTkxSpJ/dzNr7vjk\n", "RtquMYvVm/mbDcbUvW++yhEnPj9Uf8RCKMLsFVMcHxYuuV6QFNgwlGbTY2uQWzp4\n", "9+V47w8z/RH6zDdGpgZN4XxYXxGfGlgbwLFwpe6QCdBLrmnkaCDt4ZXs6XMtcJ3C\n", "FKnyipJEFrL6GbrpHDSeqkGrvHSzx6gS+GIgqZ2NFQc8c0HBxouaGwu8NCkZlSqw\n", "OPKR648K4XdsF+Ek0dKPa+RPnr6EZgXuwGKKACYzbGCV7ID5SVeagsiGoj+iUomR\n", "Vja3DZzJDPlWop7r5EX7mROep3ruYbXXMz3KOT0OW32DcJr7IFNLf05LDFke2WCC\n", "Qsn0t2glkDwHtUJdMAo0NT6WceHvkTz9qJCI2tj5PzB+p4366lV0U+Ie9eT8P5Al\n", "iH8gpJ1Ocbb+7T2T3Qtuxal1Q31+eMfDF+e1G//eYeq6ADP9TaI++DCUEDQY4f+n\n", "X4lBjR6c2JfjAq74nq5W9iobxGIp2CaiZoXH7CsknTCWqlntK4rnLfapQgWGrsGf\n", "DZ82zV/yfYtLnOK26Dx1t/87XhTH0jLJelvTkqcbQiTZ1Xdb2ftyEY5Ap6jvUDB2\n", "2cKsAxCCkdQjLK6CfgooOCtEwV7FTri3LuzEfSn/kqkbyIxw2oO3piIO8XOmV0RE\n", "3yFypaPk0DkpNbtfj1hWEggYW7dojsBzHgySc+2BHzZr1I7G5jsri6JVClpZvA8G\n", "1rXaMpNV2PHRUk4yAaVjd5ULy2jr6yQYZ5ryBE/B1haTGGY7suMm23yWTBY0wk5h\n", "V/+tTztXi0l6/obW4XgrQqawp2o2hDUZeJ3ttGTKSHLjqmtCd/cGc/Qb1wYrUPZF\n", "oeWV5/tiar/ZZMr0rJ78UTt0zQE8S6dZp1eWn6+8YNO1c5riJSM3QSuo2EEksxik\n", "/TUIbIXZaelPmHlYqll3Meoqj6e24pQFIFVBBgimKpRHmoHc0Sm8kf1B4YZxR3vp\n", "8soquWbytCzlUH1sUaPU57s/r8/zst7ALDw1CsEGCocrzko6ctKtA4Nt/rNilRfp\n", "dx3V89FpmSyCYOIxpqdkB+a1JHVG5XbQM5JCd5R9BY/iOF5WLEiIY8tbKiHCGEUo\n", "UR5iD1cFmtslxeVjat0/N02qez443u0ioB9EPHVI8p+YK8w9Hfa2CePkD4+2rDg6\n", "8eDzU8OlcHgNl4L/kPaPX9qOL9bOlQKjbVynABNc8Oyl25Vm1Deuqek=\n", "-----END RSA PRIVATE KEY-----\n", ); pub static PKCS1_AES_256_CTR_PUBKEY_FILE: &'static str = concat!( "-----BEGIN RSA PUBLIC KEY-----\n", "MIIBCgKCAQEA0nPoQYgMcbGCjxqRBiaMUUBIDFVdnfkIL6DNf5xl3g3D0MI2yUm7\n", "9PyhIwR8/wn1F03k2a7k9SMymoTD4lwGrN+xvIjK42xd030PfaaA+SsnP/44AcoW\n", "hYInTWAJSJgRyU5k1/8ffWiJc8tQloMfqyQyEMReGF6LjXVi7bQoLq8vDLXb41eg\n", "AaCh4WWeVhg15t+1pCXHo7kCLukRAjzM7M1EIHmOgn5f6SSNzSnV70hw/1Hkf8qN\n", "w0TfQL+vj7Dk6o2zBo0NKc/putQmSkMA54d+DJlWbX5dn2rmgmsz/PGS+WvMYUYT\n", "ZuBowCN29McDRZBnlcH6FR/JM+wYKM2SQwIDAQAB\n", "-----END RSA PUBLIC KEY-----\n", ); pub fn pkcs1_aes_128_cbc() -> makiko::Privkey { let n = BigUint::from_bytes_be(&hex!( "df854a305bbbd841f26f5bf1f2c43924fa5a323609a1b0404e8d28afe570d330" "27944dfc7fca33aecb7c7e8c1d92fa6d0c727d4a640cb4eb809ae0d2ea5be825" "696b10edf587ca41dfed76ca8d56ce1678a6ed59217c4ed7ccea230ae0c76b7f" "3090f0c0310880e16d6e02f54616c478a19c3983ec9597ae09be097c334d7ad5" "cf9e1bccf1a900a6996d6b4a93dba3dfa364a893408382144ee94a5386c19136" "6b65f3cabe5f5f7a7722255abfc33498f4ec7b74d7e4eb1def4ac2db08e5f8fc" "6484af2027a1b9bb4b2bcea64e3b6d57295e28e968cfaaea0ef5f91d0d2d714d" "6e68d132b2e5079793eedafc58c3db9e9ba33c5c847a92d8ece6956b5ded945b" )); let e = BigUint::from_bytes_be(&hex!("010001")); let d = BigUint::from_bytes_be(&hex!( "a5f23f7247a8de95977835bb1b91b31b510345e3f8a2a2481c0990fb864c8d7e" "62e428421e5df0a105521861ce5320b975544ad0c016eefb292fd35ac3c41846" "2e4ddef3cc26547333dd0924b86a89f704fc699a92d1c777501b4488fef90f46" "0eb88d0523623ccd20815c90dcc86a756506a76cda68f583b097f652cf83e67d" "13765a8b9c7cb6a36e6626915cfc130f5ae0651dc8817b9f258953419009fc61" "a5e218bdefe937b652f92d7d1e255227f5d0efda800759353f0d6646d894df90" "66c0cb9db45e25d8be62f8d51126f808cbac848bcbc97afd041ae9ed113f4712" "12a2dc23be1a3a230c3df3f0045e7ec0efbe9b08c7a142d8baffc36204da4581" )); let p = BigUint::from_bytes_be(&hex!( "f9692192331f21868b0a80dbb58534c4d7275f18cab8466589b4016ca29fcae2" "9a1eb14c8257af0ed2f795048f9cd7bba3cdd9a0d207a864bb145cefb3426386" "e1488ac3c976abe3b0bbeb5ef0f00dd2348d86804ad06f7253dae84904a296b4" "a1730fb642943fcc05a5e3f99eae3aa948e73906a9dc77a654a43ec9b305b5f5" )); let q = BigUint::from_bytes_be(&hex!( "e56d0dbfe270da537724c33f9f8cfbf773ae2d1e4add4f8be99d5f67d7872651" "9de8397c40b4e5b5eb22906342679a55112d963c285e99dedfd8ed58dcc66485" "63d4145fbc38e3f7920a93efad7514586771acce3810e002ce41f7f3cbb28b5f" "ac708035abd7ef4a8ddbdcecb622bead85eb8505b2a97fff008458a47c8a5f0f" )); let privkey = rsa::RsaPrivateKey::from_components(n, e, d, vec![p, q]).unwrap(); makiko::Privkey::Rsa(privkey.into()) } pub static PKCS1_AES_128_CBC_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN RSA PRIVATE KEY-----\n", "Proc-Type: 4,ENCRYPTED\n", "DEK-Info: AES-128-CBC,C7E2FDD09A8357FFB24954B4BECEA935\n", "\n", "imRQTU7R/L/FpU2Uowhwp6fO59Wy+q7cP9jZn2Izin7cQRA4xi6twIsWRJrMLL/9\n", "uAPIjNUBwLD9SE+HuPwNipPzfh0JmhyN5rxQtILnZJs1LlL/ZN+lCZKLP808V3Ak\n", "TWApI3Id7dkLb9heAH51c5AxmAhdIM4eoVqsnyvvW6lASWQQpsEUPjK2qk8GENyl\n", "ID+H5cQI1y79j35ByLwevm2CX9tIWEwdTiwyjrkATxj4LU/gV6mJxfbLLOTao4dr\n", "GuAO2l5wvTYmjzsQn5MXgSIu6oOgaSql2Ii8Dmt6Jq3JvXxcmDRueseoFPfo2L8i\n", "a3/YU27kLp0tCr5bmnDAUDakc361jGF/zX4YzEOhUUMZTTfnkHJo52sz97lZ3G/C\n", "uuE5rSX5KTEvg9rxjMcOzK9ac3421t7LBK6h72iYLz5TPpCYJP4Ls8s8FAx7rlvd\n", "xKCn2cC4dGl9NQCthD8EMFjqdSWd7+985UUWYoq7/d7yhhSEQPA3Nq8r5KygUk4U\n", "dV6y4vzhApg8rAfe6EOsPKax+8EVKqpU3jLDmMjUYW21u9x+dQV1KlJIr3Imp2JQ\n", "9Qf3JNVYzN8voV/Hpphgl51UbGtuzAGhK6t2hNgObkKffl+Tmu7khLtLLoEcrgKY\n", "2uX0E0L8zMW2PsTZ7wzCL793TEtduhyk5MttK7OGdGjYPEJalSLHBGnmlWwXxFVp\n", "8fhoo4HIDqSYNge6QqoY+DgEnC4FcRvJuKxLfBv+78ruiW7+vs6rehKM5710lm8q\n", "+r6JEwZMINfQsJxkeHbfa+6PYI9Kvt9NaE6Fiy/0MjpkHHYndlpd0IQfwmWcVISe\n", "lHaRVl/dzGajUPSnRlFxIgXpJtaWlTiuRMUgnZS4HR/ytoy6Ql+fxpAWIaJ7LQkl\n", "5gAysjmg9Dk7DzpnrQaD8Pp7AVkcnQZJ8LVgumpOdVJe+7QgoKVHAylHSXMCi7xV\n", "ThDLztnDXDIrozppoCvYoGiuM8H3AdyPy4oGC6VRl2P2ItwE0Jimmfg3NiArp5bh\n", "VSIewN9QaSt+6hQ1CcbD66Z4bjV2xGK2vYR1ncd9GwLf4K/fL12VkZ1vKibXrHl8\n", "yuXY8rxNcmj8J9FhtnUaqK/IrQHph266qZO2Fot9DrjPlnZJy2kFF2jJBShbbsef\n", "CtHBapT0kQragR8leACBMeusubJi9sWjfcvSzt/Y4miJ8A6gilbsdx1yHKJufaPH\n", "/uDLiVPsCrIK9d8LYVixFLeaW9rz7KQwFXCB1XYc+HofaLhDrGgrPkZ4XGSoUc6B\n", "muXmZ6dfpCVvvG0O6/9EyZSZ+qtckebOth1RIZ8iBNCsvfGSEYNDQkCRcSQNHpUw\n", "KnaZCcyIQnFRt8LW4TvUCR6ZBMzC+w0ORKtXBJcJEZNm2U1lf8s+R5+2MSh7X9tf\n", "3lOEedik8CicCFPF3utZmeYlg0Nk0z6zYiz+bILPixKBGVP2LzloLDSRXfA6e8r4\n", "ktRS6ukdubMhEl7RSZfGQ4HaNl6IgmzLWwCpiBpbz/YLa7M9qXYHCnHzx6k+ltsY\n", "ofEqtF19spRxavrtV28IdAbdLJGupdER+l7h/zAFKPaIHIcBi4DB9hoSsD/4oBkC\n", "-----END RSA PRIVATE KEY-----\n", ); pub static PKCS1_AES_128_CBC_PUBKEY_FILE: &'static str = concat!( "-----BEGIN RSA PUBLIC KEY-----\n", "MIIBCgKCAQEA34VKMFu72EHyb1vx8sQ5JPpaMjYJobBATo0or+Vw0zAnlE38f8oz\n", "rst8fowdkvptDHJ9SmQMtOuAmuDS6lvoJWlrEO31h8pB3+12yo1WzhZ4pu1ZIXxO\n", "18zqIwrgx2t/MJDwwDEIgOFtbgL1RhbEeKGcOYPslZeuCb4JfDNNetXPnhvM8akA\n", "pplta0qT26Pfo2Sok0CDghRO6UpThsGRNmtl88q+X196dyIlWr/DNJj07Ht01+Tr\n", "He9KwtsI5fj8ZISvICehubtLK86mTjttVyleKOloz6rqDvX5HQ0tcU1uaNEysuUH\n", "l5Pu2vxYw9uem6M8XIR6ktjs5pVrXe2UWwIDAQAB\n", "-----END RSA PUBLIC KEY-----\n", ); pub fn pkcs8_rsa() -> makiko::Privkey { let n = BigUint::from_bytes_be(&hex!( "937df690f4b11fb34b84e0eb33fd5982cd6b09973730479d56a2a4ec1ba2b4d8" "bd2316b80e9bc8248ed04a5fc471269c5abd61e03a70a542ad2d98d9f732847f" "294f9df764c89900dd80fe06fe99f783a74032435dd67681c3410f6c06cdd184" "028f8f2eda1874e681778f7b43bf0f0aed26becec1690ff4a904cd014077a1a1" "bbd5fc298c5f241f1a08f5fbd86f9cbf129a02c0a2aa034db3fe939e6a73b388" "3eecd89b4f423dadca6f344615161b188aa7ad216b9b5e88fb25076c2c6e3638" "32ecda3318c47df95e4b1a1937758709f453a478cb4a5238d69b27015bf5535e" "6f083cd2ca595daa8eaed87938ca3fcc178540bf6caff624e6ece73cd42a665f" "27ddd0d598289a7ddd72616973445ab821a2073a5a09d8955672b9bee1b945ca" "9dbb09bf01dc9841c1e7b18d98c4c8f863ff207608be4d4826e3c56656f624e1" "a0ced13fcb28c81a3842719059030f3765bd00be1b31fd89e0c2b0f86e92fa64" "25c531729e1fd6c34a7033edebd999f33bbf9977203ff014842e13f74c743189" )); let e = BigUint::from_bytes_be(&hex!("010001")); let d = BigUint::from_bytes_be(&hex!( "08b6c87a87fa6f0508d130f8b479a37036f2bbfe53246716c4a79756dbcb2124" "2d0885af1a2dda054eeabf7a29010666f67579f2e58102428e38c36f1d4bbec8" "44888facae27abe28133bdce6bfc6cc33a7e7079ca71814ee95a4eaef337f5c8" "f6ddc477e02ad1bd4ca8e3b144af6514202ec9d72d5627bb2cc13bdb77139a59" "13dff0a603c51b3d3b2c8c5bf4cda35526a432c56ed6dc9b1aa74fd16c38a9c2" "c2f4fb5731b7982d4c68858e1e70cfe9034824d274a9194cbe89d1867299905a" "6aa923359391d3f2487889f191e54539f1ac2d781e977914449392b51c9a68e0" "2d0bd7af2c0ded41b13c3dc7db97bf82a5e06b26c46a9038826a38f4364f62b7" "1376a22f840ced2a4a5cc097d8495dbfbc77b068cfb559b8da81e3966f5c73de" "67f47392a83af2745b761e554c2cf90c5c7b31f1702a329898f1f648cf011d24" "a2541577fbc21db5f04ace384d1849af42c876c858048f88570e8b659670b2b9" "e1dfefcb12155c7d4e625e4ffa738b24b4b83b1842d6ef940ab9550d49885e81" )); let p = BigUint::from_bytes_be(&hex!( "cd2b9ecaf8cca65a68be47cf15ecc5f4a601c502d1aed67b39c239accf3883c1" "ac70bb59d66a89ad0abd6490514e0d5b6c049f691a0c738cd79cf36b0eedb32d" "3c6e2029d49780b61da4f3b32afb7c839dc9d1646cad17cc3336770bb1b99bad" "39be12516223997fa5f1438e333e0e1defced03197d4220c2dcd1156d78e27f2" "90ed823082a62eeaea4bd52cac4cc5a4a4076cd5d2367292817283a0fb2c5af3" "6e47d71de9c35a0f69e394d3d5461425d4283d77cefcf52d76feada7e585fbc7" )); let q = BigUint::from_bytes_be(&hex!( "b8083fb921982383b121d19f08c059773adfae83fccecf97af5ecae7a2fbeb79" "75a1c5812b220c14e34951c99b588dc92c5b8996e15c53d86a1b5db541d36041" "61025ba2e3899d88d69c0b07265a73d1759a00e8f5f2582d5a975c988bd740ab" "6b34453d3d8038fc6dc84b644168c3c1c1f85a02b7057d8fd68a0f61a91070ea" "dd95af958c9a4d8b783a696837406aece856cbeb89b7575624ad1b15be17bc5c" "503a9912fe61dee80d00254b3a4f7346023d744b9e89b23e2c0954f2679d482f" )); let privkey = rsa::RsaPrivateKey::from_components(n, e, d, vec![p, q]).unwrap(); makiko::Privkey::Rsa(privkey.into()) } pub static PKCS8_RSA_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN PRIVATE KEY-----\n", "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\n", "+GuwOtUXYalyy2uY0OSsb70=\n", "-----END PRIVATE KEY-----\n", ); pub static PKCS8_RSA_PUBKEY_FILE: &'static str = concat!( "-----BEGIN PUBLIC KEY-----\n", "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAk332kPSxH7NLhODrM/1Z\n", "gs1rCZc3MEedVqKk7BuitNi9Ixa4DpvIJI7QSl/EcSacWr1h4DpwpUKtLZjZ9zKE\n", "fylPnfdkyJkA3YD+Bv6Z94OnQDJDXdZ2gcNBD2wGzdGEAo+PLtoYdOaBd497Q78P\n", "Cu0mvs7BaQ/0qQTNAUB3oaG71fwpjF8kHxoI9fvYb5y/EpoCwKKqA02z/pOeanOz\n", "iD7s2JtPQj2tym80RhUWGxiKp60ha5teiPslB2wsbjY4MuzaMxjEffleSxoZN3WH\n", "CfRTpHjLSlI41psnAVv1U15vCDzSylldqo6u2Hk4yj/MF4VAv2yv9iTm7Oc81Cpm\n", "Xyfd0NWYKJp93XJhaXNEWrghogc6WgnYlVZyub7huUXKnbsJvwHcmEHB57GNmMTI\n", "+GP/IHYIvk1IJuPFZlb2JOGgztE/yyjIGjhCcZBZAw83Zb0Avhsx/YngwrD4bpL6\n", "ZCXFMXKeH9bDSnAz7evZmfM7v5l3ID/wFIQuE/dMdDGJAgMBAAE=\n", "-----END PUBLIC KEY-----\n", ); pub fn pkcs8_ecdsa_p256() -> makiko::Privkey { let secret_key = elliptic_curve::SecretKey::::from_slice(&hex!( "d5e07955f86df89a1abb70d494a40a6e7698ff1ef8b940fece2bda7da5d08ce7" )).unwrap(); let privkey = makiko::pubkey::EcdsaPrivkey::::from(secret_key); makiko::Privkey::EcdsaP256(privkey) } pub static PKCS8_ECDSA_P256_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN PRIVATE KEY-----\n", "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg1eB5Vfht+Joau3DU\n", "lKQKbnaY/x74uUD+zivafaXQjOehRANCAAQHSC2B0jd1JZhnf2H1WYcgGCTB/cDa\n", "0WhxW7dGZ420tiIYaGnH4MnJ1NQtAT4TcLn1Zrw8tFFzeqvh8IceW/X2\n", "-----END PRIVATE KEY-----\n", ); pub static PKCS8_ECDSA_P256_PUBKEY_FILE: &'static str = concat!( "-----BEGIN PUBLIC KEY-----\n", "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEB0gtgdI3dSWYZ39h9VmHIBgkwf3A\n", "2tFocVu3RmeNtLYiGGhpx+DJydTULQE+E3C59Wa8PLRRc3qr4fCHHlv19g==\n", "-----END PUBLIC KEY-----\n", ); pub fn pkcs8_ecdsa_p384() -> makiko::Privkey { let secret_key = elliptic_curve::SecretKey::::from_slice(&hex!( "3b9564ce53defb1405a8061e85014f8363ebfe1de8a58052784fbc634fac38faca2547df6e00eb74c1a60df24a3953c6" )).unwrap(); let privkey = makiko::pubkey::EcdsaPrivkey::::from(secret_key); makiko::Privkey::EcdsaP384(privkey) } pub static PKCS8_ECDSA_P384_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN PRIVATE KEY-----\n", "MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDA7lWTOU977FAWoBh6F\n", "AU+DY+v+HeilgFJ4T7xjT6w4+solR99uAOt0waYN8ko5U8ahZANiAARB2CraQoSB\n", "slL06DUNTLXfmppgYVV0eUEIjUGMb8HErKYUt6sqcrMOuHalTZtAQsel44+iKBgf\n", "GMQ7VHnGF3XzWyGGnESLULfqCccCYoCH/gc/xaZKjQl2TXZXDBQfAp4=\n", "-----END PRIVATE KEY-----\n", ); pub static PKCS8_ECDSA_P384_PUBKEY_FILE: &'static str = concat!( "-----BEGIN PUBLIC KEY-----\n", "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQdgq2kKEgbJS9Og1DUy135qaYGFVdHlB\n", "CI1BjG/BxKymFLerKnKzDrh2pU2bQELHpeOPoigYHxjEO1R5xhd181shhpxEi1C3\n", "6gnHAmKAh/4HP8WmSo0Jdk12VwwUHwKe\n", "-----END PUBLIC KEY-----\n", ); pub fn pkcs8_ed25519() -> makiko::Privkey { let keypair_bytes = hex!( "913b3c130b79f9949f91a227ea91a388906e778d19358e2fdf67fb1b26aec1fc" "5652ceff9784c400f92e20c891fda383efb48b27e163086c05ebf8c214adca28" ); let signing = ed25519_dalek::SigningKey::from_keypair_bytes(&keypair_bytes).unwrap(); makiko::Privkey::Ed25519(signing.into()) } pub static PKCS8_ED25519_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN PRIVATE KEY-----\n", "MC4CAQAwBQYDK2VwBCIEIJE7PBMLefmUn5GiJ+qRo4iQbneNGTWOL99n+xsmrsH8\n", "-----END PRIVATE KEY-----\n", ); pub static PKCS8_ED25519_PUBKEY_FILE: &'static str = concat!( "-----BEGIN PUBLIC KEY-----\n", "MCowBQYDK2VwAyEAVlLO/5eExAD5LiDIkf2jg++0iyfhYwhsBev4whStyig=\n", "-----END PUBLIC KEY-----\n", ); pub static PKCS8V2_ED25519_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN PRIVATE KEY-----\n", "MHICAQEwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC\n", "oB8wHQYKKoZIhvcNAQkJFDEPDA1DdXJkbGUgQ2hhaXJzgSEAGb9ECWmEzf6FQbrB\n", "Z9w7lshQhqowtrbLDFw4rXAxZuE=\n", "-----END PRIVATE KEY-----\n", ); pub static PKCS8V2_ED25519_PUBKEY_FILE: &'static str = concat!( ); pub fn pkcs8_rsa_encrypted() -> makiko::Privkey { let n = BigUint::from_bytes_be(&hex!( "bda7e2ff8d48c14e2b79959149b7f4dcdec5ba8634c28fa121d919ac25f44605" "4b8dce12e0957cb28dce93bea41c8bc9bc5202eeb70580db3749dbb4fb73c88f" "64e8c219eb60617cffab29636e2b1a4f4f6ad54428eb2d9e0a7dee0b25771eff" "82bf0e91692bd17e88e9587c55d69f6b0a460f9f27f76c9d7ee8c7da5249bb1b" "452317d3216f41fc06f4c740f67a21499dd283887def1706bc2554a4343e49b3" "bcc3722619aeb0bf4a723058867baed4da1218f7390699138bd77ae9f3b5e545" "a0a7b6235fc424c92f372de08bab8f823749a99aeb44ee61863ab59c0a8dc5cf" "143543ea0df006283b03e480e7f4e87630db109336b40abfac5cbf4993cdf8dc" "3df869066e0a75500a6fa9fc848fd084242b4259f1c1604c7e279ffa78ffcfe2" "869fccef2e9f88cf7b6333283daacf18a1bcc6c78f8bf7b403b6182c2a8d7040" "4f4291c6826ffbd0ee39f1b3e769ecb984a2151bce57b7841cf5a2e9e26ec236" "96ed0935e6811ff09fcfda82b4dc167810a88e7ef2190dbcaf8d0a25083f411b" )); let e = BigUint::from_bytes_be(&hex!("010001")); let d = BigUint::from_bytes_be(&hex!( "2b675d397c058f0bcb424f9b09027b1d0334c04bcf8e495da887ed6aaae2fd15" "6025ab684192a48f9e898ce17fe0729370305ab0741d63d08796351c75c19940" "4be942e6b8a9fd95a453712ceabd1d8fd20e92913f4617520877aa7f4d8b3602" "66d33fcbc2847f34d4b386872a03ecc70bfa5dbfe05f2d31dc25fcfaf7831d39" "8ff8888ecea38e37d605b60625826cd4d2b4275b18eb1b5b74ba9c64d9f9f957" "1397ad2b900c1d32222100f4798e9bc3e5c6678548bd3c522f5a58ac6b14914c" "192ecd8f088aa2dd894b229aba8b40cd26f1b65b282753e5d634048187bb77d7" "1cf9348348fd71e85fa4cc7c865f224f0e4a531973e5bc38ad12315a00bcf384" "08d948d3b8f8cfae968fda82c471562ee618b4bb0243aaf7fbfcd1c393a2d19a" "6b7c69be1ef5589eb9a8d9fe6a12433104d123dc69e946ff0c843ba028dcdb4b" "7024eca300ffddf864a30008fd689748bf8c23832a7f331d626ba78a63162fcf" "631cfe89a872daee552c674815cab432b27e2e48998ac24e3f0a37440dc05cbd" )); let p = BigUint::from_bytes_be(&hex!( "c78ceec647e3ba1ac72ec6c17b5af8b9bcf731f8c3321883cadd2b3370b3ad1a" "9cb397b5025246e5a36420dd0886151d0010603a3340f3dadebddcf65112a570" "e9bb6d3374fba97e403c019c41729f418ef21e7aafe0984b5dbd5a06fbfeedbb" "9dd0272876cdfcb33c7207c1ba3f1045f01b675ac0fd28420869936aa59630d5" "3038887c96e5f94582156fa5cb51f8a95f87991f93048e857c02376df19bcd64" "d44677481681ff4f0fb6e8f71937fbfa8d6f755ec40b9309b2dd6a1b28d788cf" )); let q = BigUint::from_bytes_be(&hex!( "f34e65df342a20ca124dd256b21044fc0bb44e8039753e03b9706c59b23bf091" "394ba03be197061f611d004ddbf091577d97caf83a317372d2fb7b386b4ba6d5" "27c0a9c6bd008ccbd65d2f0f7ca4265ffed72bad5dd770de254efe629d1801c8" "bddeb4dd35f22355bc64af87dd25740f09f93aaad88394b7476d7546d964ed29" "3219302e25c2f3573e1a3d0c4010543cd0d48dde23d97eaf5aa314668d47b04e" "3ff5cc8148913e4af06905449e8e0694eb29b92df95f9f99d4b669c3dba03df5" )); let privkey = rsa::RsaPrivateKey::from_components(n, e, d, vec![p, q]).unwrap(); makiko::Privkey::Rsa(privkey.into()) } pub static PKCS8_RSA_ENCRYPTED_PRIVKEY_FILE: &'static str = concat!( "-----BEGIN ENCRYPTED PRIVATE KEY-----\n", "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\n", "-----END ENCRYPTED PRIVATE KEY-----\n", ); pub static PKCS8_RSA_ENCRYPTED_PUBKEY_FILE: &'static str = concat!( "-----BEGIN PUBLIC KEY-----\n", "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvafi/41IwU4reZWRSbf0\n", "3N7FuoY0wo+hIdkZrCX0RgVLjc4S4JV8so3Ok76kHIvJvFIC7rcFgNs3Sdu0+3PI\n", "j2TowhnrYGF8/6spY24rGk9PatVEKOstngp97gsldx7/gr8OkWkr0X6I6Vh8Vdaf\n", "awpGD58n92ydfujH2lJJuxtFIxfTIW9B/Ab0x0D2eiFJndKDiH3vFwa8JVSkND5J\n", "s7zDciYZrrC/SnIwWIZ7rtTaEhj3OQaZE4vXeunzteVFoKe2I1/EJMkvNy3gi6uP\n", "gjdJqZrrRO5hhjq1nAqNxc8UNUPqDfAGKDsD5IDn9Oh2MNsQkza0Cr+sXL9Jk834\n", "3D34aQZuCnVQCm+p/ISP0IQkK0JZ8cFgTH4nn/p4/8/ihp/M7y6fiM97YzMoParP\n", "GKG8xsePi/e0A7YYLCqNcEBPQpHGgm/70O458bPnaey5hKIVG85Xt4Qc9aLp4m7C\n", "NpbtCTXmgR/wn8/agrTcFngQqI5+8hkNvK+NCiUIP0EbAgMBAAE=\n", "-----END PUBLIC KEY-----\n", );