diff --git a/.github/workflows/kind-e2e-cosigned.yaml b/.github/workflows/kind-e2e-cosigned.yaml index bb5d63d91..dc7e051cc 100644 --- a/.github/workflows/kind-e2e-cosigned.yaml +++ b/.github/workflows/kind-e2e-cosigned.yaml @@ -29,9 +29,10 @@ jobs: fail-fast: false # Keep running if one leg fails. matrix: k8s-version: - - v1.27.x - - v1.28.x - v1.29.x + - v1.30.x + - v1.31.x + - v1.32.x env: # https://github.com/google/go-containerregistry/pull/125 allows insecure registry for diff --git a/.github/workflows/kind-e2e-trustroot-crd.yaml b/.github/workflows/kind-e2e-trustroot-crd.yaml index 3339a457c..90d689dfc 100644 --- a/.github/workflows/kind-e2e-trustroot-crd.yaml +++ b/.github/workflows/kind-e2e-trustroot-crd.yaml @@ -29,9 +29,10 @@ jobs: fail-fast: false # Keep running if one leg fails. matrix: k8s-version: - - v1.27.x - - v1.28.x - v1.29.x + - v1.30.x + - v1.31.x + - v1.32.x env: # https://github.com/google/go-containerregistry/pull/125 allows insecure registry for diff --git a/pkg/apis/policy/v1alpha1/trustroot_validation_test.go b/pkg/apis/policy/v1alpha1/trustroot_validation_test.go index 8cfe60123..df81b64dc 100644 --- a/pkg/apis/policy/v1alpha1/trustroot_validation_test.go +++ b/pkg/apis/policy/v1alpha1/trustroot_validation_test.go @@ -29,14 +29,14 @@ import ( // encoded. These are vars because conversion to []byte seems to make them not // constant var ( - validRepository = `H4sIAAAAAAAA/+x8WZPixra1n/kVHf1a3zE5D444DxIISoCgxAxf3HDkKOYZBNw4//0GVT1Uu9pun9vttn1u7YemSQlpaylz7bUzc9fObdb76WG9u/zwhxkAAHBKfwCQc87Jx8+P9gMkDBNMMeDoBwAJpfiHN/SPc+mjHfcHtfsBgNV6tVuvD7963peOv3+Q959/E/v4/ovwx9sD/jjbr1ff9h43PBghv/b+CQLoF++fMUJ/ePNdQPw//v7/u/Dm7X6arZx9+9Ob/y68efP258Nl497+9Obt7XHf/r9b037jzM8nt9tP16vbEfgjeDrwsQ0+fnfnzXTn9rdzEEDkHxD9A4ouFD8R/hNC46cfzd1l/+5mb94SRBGUhAhDgBYGOCOBkkQQL5WRAAJqCJWecMykMdIzoTXTWEHEEKJUvL/Q42Xfe+4sohTKx9vd3DcTt/zcgbm7TO3PE7Wf/KwW2Xo3PUyWN9f+/+PhN2/3E4Uoe3f241cK0dvHb//18RIntfjgxZu3m6NeTM0jAkh75LxQHhhDJIEEIKyUYxAZBJVD0hDDlWbISA4ch5IhCqik3hph39/oX7d///V4t7dUCsy5805g6ACzGEhmLOHScY8R5xJDQomimkJFCCbQES2FAwg5RRi0f2WwCOfQeyQARxYDB6GFSgoPmIReE6oVF1hCwZlkggjEDJFcCo0FBRhZ8RIsAR331HDBrOAeE0uo0tJi6IhxTiEhkSeaK4C9k0Ipo6RXzgvmBUdG+L8wWNRw6KBTxmkEKUTAY8Cl1B4wyy0zEnosIMIGI0200dJbzK122inKIFEvwTKcOa6U5MZYBW/dyErBPdWECIgYpQ5xIBDn2GghmWKSeS80sxhBBpj7C4MlNeXICq6ctABgxrjT5jYa/G1MCgGMxhQrjYg0nnJogPZAGCgEBs4h+hyswjvA3u7WC/eRxB6Z8jkCU/vc/68G95NHPUx2bj9ZL26jGT57hfuV2uwnv+nIV5Pt73LkoHaZO+x/w4+v5rHf58d06fYHtdz8hidfTRJf8ORDhzHr1X66P7jV4ednL8qrxd4VHk95jMLqcHwKnzf/nvrWo8u3fvzVvehdN5lmt6sxzADGjHouoMGUU80A9lAqZzXVjFiuGNNOOaAAxhJAAjTkDlAtibbUY4ulB9hqIZEAmFEIBbGYCUoRs0hLSQF3nFKCsNWMGYegp8hrIwEgANyA+1fhzX8V/vVnK6D/2/ZM//9B6v9/pf8pYK/6/3vYq/5/1f9/CbBe9f+r/n/V/6/6/1X/v+r/V/tu9kz/v++X3zwH+IL+h5D+Uv9zzPCr/v8e9hv6/wNP/QE5wNId1Ifw+S5gPPa7j1y9cKvsMHn70xuEOXtHsDeN8DHuftQCN0KznkrOFDDaekOwFf7WQBByRBouITBOAS+R9kBRrjz0xElNpOUOcsk8hw5D7KkTQAGlMWEWcoyQsExze1Pp0CDBDaeUMoKcwoZxhgEWgBoF38mEd44+A+VDHPidPP/VQfoTnqdaUUegElhBAaUjxHtvlYFSAoK94IQL5KCBymgjiBRMa4OEUc5S553BkmCJsbCSGAYR04pD6zTCAFHEAEI3dUmlsBQjRz2mRhsprWGeKw6BeOX5v7Y94/93w/Db3+PfX/9nCJHX9f/vYS/ff9EcvPtxc9Tf7B5fiP8AsRfxn2PyGv+/h/3jZmFUjZtvHnphIy69qUejx8ZCUpnnUT66r6/H8XUGSkE6it/9vxykppxmQRTo3fw4Hyx615IflerHha+upxVr12m9X8hKd2qapagxT2a1+9VdO19lxzsLrErpNo1HtWkNLzo+CYNpcd29G4OYu1oygqfgn/8sPPoQNcsv3PqzEfvPss+Mf39cmOn65xP80ewOP27c8mvv8aX5fwDhp+MfQcLA6/j/HvZs/JeidjeuxKWgG70jgDiu5NdSKWDHLMjjMMji2G6qw/GltNuCJC+no9qNECYn0wzSqBGmQe5nUZIE62oAe1EhnCTlfr8ZJu0kj9JRuZ+mcZRvyqPBeTNeyoteLiZJe5RXgsdj91EOu6MBydqr2kQvm5uCQc3TsxNqUQ5gs5xl3UHlolAfxJUmSFKSl5+Ot6O8B5vXGDfL0TgJTbVwc6M0SdJudXG0wyxrLyXUy/bEVhcnPQtcJQeXZjlASTc7t8opSq6hemzrPrUV3jcm9+RcLgf1MGv2w2DUDWC/m3ajbhJGj89aCpN6iip7NRifzJJuRt1okITpkwfhOWn2UOUYR+PLaEBnatic6evTCY8/bifNZjclcQQnZnlY2FLYteWolQT50wWidlJpds2leU3P1W4wfPJi3Y2i80av+iSOxic7oPPRsL3RiORZFk+TAFRLnW210Ik1LqdRGKS9ICBxqZwHtxPqwTouBWl5tK5sUZ4ffGgGq3OAs8Gos9jsZFpxlcWhX1wU1nBU9XWR3o/FfVi7bx+jcNYnXRN06oNolPR2HNlOI9+SXdK96+4caLVift7yB5OhtTrYQn19XHVO21mwOYzHjjRYuToN+arpeuv6ft6Yk6RFeKPaOSszj6M1mG0QnRYvfDCfjlsTZgrk3Drr5ugyyUU+WmR1sz1vLFsFtXQkdjVY7KT3JB022Gay2N2faD7pR5dmibhqdk3ypN8s7AXEd/jhYex2exkfxovUkofVIazG7U7nrn9ojPJwkp1Os1aft+x1MMCelFZ3scvA8dSt1Qqufbhs5ck1p0Ohi4Mcr+9pv7jYAu6DByfBYbTCD/XkfO2xferxNrON2XBARZ+RXDVYXLg7DJUVuxi02vPFsrK4FlutuDyo2Umiln0SjeZZq9WeazOriFJL1Xphb14eVFWyyx4ofkCFaNiDqhL34tJyPQgWA+igY+0EDMfk2Loc82KnNef5arfo8OpiW5yfx/2ddIOHfinvN/oHX9C7bRH1zGKEI1OzMuyHzTvMZ6J1GMpGULqDbDWj2U6Kqq1u1yQ87ntn11Gy2RzhI6FpoTG+ryrvyv24uZ9NEjtIRx1ANlFev8+nG9uuzEN+Xl12vdKmvt2pu0GxJyan3mV74RzVRrDQW4w7Jl53axknQXc4ju8y3d8tso7vhLy+XLb3x8HmUuI+K1W7m3NlsGyf9WW62Je8bfDWpNA5xrQ0rfTbaVwO0iBcg16eXoPWbTzcpyIMvIjCILlJlTzKRuV+G3SD9L4YBlkeZlFYKN5orBvYpx+QqJKlvflut5xv29tGElfb08WuWmk17vNVmWTxC4orhGlQzrI4DMprm2OuANUe1OH9aqO2g7R1sulJroUJ+LA9GV/lvNa477X1OKltyn2JsCnUjtfZqjvRdXtszqcPs+F9ZdjakSKFdps316VgV5l0cIj75VVrNqsP0nwD9rANUtgpTopNXQhRRSzng86q9ZDOsy5dqOW+xZY+vRvUW8uev6erdqp357g3lXvWnZSO+VUvK7I8HR7NnF0KWXqVlQGe6GifH4a0eULrYzIouuJwutuzoF+2obXgPt4efblnbGV2Xzv2VHveKrnROmn6wiVYkl3xojbR7tSY0vO0eAHrwzVIx3cdpnc9XeyV14dDuyX4eUj2aQdH/ax0ifPWlURBKy5cl5Nwwydp65hNFG6hxWAL+tOuyXs4TvelsT7VxWDVHp6Ra13yiq55HF3Pp/p2u609oLEsHFt2kJ3y5rUEYl/EYflyMCNR5IepZf3G9U6w5Np/EIP4EIj5tF8v7bfjNi9VH2hRrKurYmEdtvL0bllNzXIUtTuDDOhp/34Zn+cXR9fxLpFRqTRL8n4LXCvb1bJ03vXr3V4n3bvig7fVwmbZvlQcnkcsb+KLX9d0iu6ah82sbBqdEQQVxXdtfg7MFD30zoE5JKt5fjftNvrZfg/zVaFF9oOTO+KAn+EJLu7HWyuiS7ioTubXfTyveXEXzI+u1hTtEuQZ7Fwru4300XDoZUXLegFvK/tJNIJ+TFlne5iYu3Ufmv6y+pAVUWVVrI4PxjVtdu6j6rloL82mKn9U1S+C/Z8tRF7tT7HP6P+dm69333IC4N/O/xGA+HX//3exr8z/w+j40Mzp+WHTO4v2DoHSXQ5YnZ32107h0DHjjbsP5+HyBI67vg9Mr7GqjPen8aqxEt3kflzKehRfxKDcqBWPLcQX3cYu1ulr/v+97DPj/7BXP09XB7dbOjtVB/cz+MqJgC+t/yGGfzH+Mcb8dfx/D/tC/h+CWakUDKfv8/9eOVs0D6dlv+bNpVPzu1mzPWadKl5mvbyUfSCIKMjjvFB/l8O+y8Iruipno0F+rsyC3lMKm3TL/fbC4DTrV5phXKmdNE7z+4lpJrM0LzRnEUm6GUhmwXVwa7ym+fu25jW4DmZB/iz/r0d5f69Rc6LLkUvCd8lzcE76/Wr/akthrweirDOgYDysHcaD9mY0bC9+i+cK74lu0BRZp7pcK9JeTosP4XBmDt1jYzxGYXKOi+f6g0AJuczE9Y6VyuGiOiTb1ABZ6AL5cIhnaL3smXUYRY3JXVzKA9AE52mumiS5H+Xlp1Tl4SlVSctBFlWTMLnhZgu1NH2cUSmV9tUg7VXCPImTQDwejPIoLOZpJQmSW+6T36ePF2qF4SiqRI0aRsN9Idq3In2dDTQxy8qhvhty0UjCpwvEeTpKQhVUAg2bYXs8LabLMtbhhoV+M7yjAIBF4enu22onIfIxuwJZkES9Uhy1dhW4HcW9SW+Oy2iXj7PLNes17uMzb+xNPLm736c0K/iV58E0CiA23SBtHecHzqPtaGaM7ZWYALadl7NZAOXlnpbBpbvtBP/8dan6Zw+Z/yj7Ff5fOOW/1fTvl/mf/pL/Iaav6z/fxb7E/9fyjf/rH/n/FCxa5HyYzzaj+2IHXw5ifGHXpHuNXvJ/8iv8fz8LzHv+rzzn/2hxtNX+RQ/6czWogMK4+2KKFiTlpqrk4JpcP7ThW1tSDs7lWZC8nxsNB+dTYYQq+6RN8vunAFGOzv3eeNgEcaXdTTthTw3gwuD2RA/DjV6afNANumFmtpP5rPWQxmEhzLJ3X5IwzJulIEhblqlZ0N/zKuadaeiTuLVJF/Zaui4u8+hObpZ65ianQ1ufl/1Ce3Y5S3jqItHoqPu1iOw1FaXLvp+bUpFcVutVc6EWPFyjda7KL6eyCiEJPuX16lgc7i6lMQzWHVI/TGf0sB6fiiTeXl/QetSoFW5B4PMxYPR4ci19DCKfCTJPtF94wfulPLirjGC/d6fCEWejMWmthn2jo+V2XT72muHsOJIqDvR0eKP9wnV8vjaCvHO68Hm/WOwvBWRn2Dh105OKdfKwTbbReLujG21eef/72q/w/2Mt0Pfif4jZi/U//Lr+913sS/w/v+n/7vI9/3fjekPd1Sd8Ub/LzLCZ1faX6SqcnXU3qH/kyrQczIJ14Vek+Yd1r+CcNJ8r895Snmz5I+UX3vH75T3nP4sDT5xfyl5w/hPlP60ZFh45P4fPOb+jkQS/Z26jN+jAQri9+GkcXltHoXehb3fUkj7AoSgN9g+UxO1abbkHI1htHnbhFl3m03L/Ihv6uApYf6KWYeFyGe/beM6uBk6XUeCtapaSKPi85v+MrC+80PW/IdVfKnUTFJIoLcVVtm/I4vV+HDUrnbiyv2z6K9yBrWzrD61FmYWHJVhvVkeQDYJpWD8Y2TsPamPUEudCeYuK9atY1ZuNS7nOFyN495DsWxxcw93pk7maV8r+u9lL/v/2JaBf2v9B4S/3/3HIX+s/v4v9xv7v93U8f8D271+UCL19v+XwM7u/IRdf3vztkXHOYiUcxYJR560ngFttNdGeEAqookIazgiUnFIAPSJMMMCN0lRTiRCihAHAEREaK8uMFEhyYiSkxALOkKDeQakMBMQAhSk3SmpPGAECaPzp5m9z3B/Wy+eOTrP9Yb37WCX35s3b415ljzCXupXofW3bm7f7gzocH9ELzGF6ch+PHHfTW/PTrZ7q0T4p4XuxbetzW+kB5V9GEwkHkZdEYiAAJkojbTg02BgvEbRKeIcVFZxaD7njyCJuiSSSaca0d857YrSj0FKFBEFSGC044cBrAyjCClmuJYZCSMkgxxIaqJzCTkLDBfDsa9CsPKLwLfD8sAz2v+2UEAFrEBcWAQYZUsQCggliDgrBhEECG841dtAJxRiX0mmHOEKWIm8wRYI45CgmDkKtMXfUacIUJFBKabVByBAMECLMQWkR1tBbZDAxkiguvXBfA2P79vDfAsVfX0z4DKxMwi/DaqEmFiAkGLBcOGkNVtYYx6y1AkpigafScGCtNpgACzWWlCDBFJYSOKABNQQKjqChmgLNrJaOAM0JNALhW8830GuGKGUcE0eIBQx4zZQW0HP7NbB2O8G3AvX5DN3noBT4y1Biyrl1EjjNqSIQaUIhlhRDwpDywBnCjcYUQuSV0Y47yBSUXBpFJHXaAgSI90YSahVyBBJPKbYCUSUAc8bdyEBAABzDDhFDjGMMCXxjTgWsh38RKJ8nu5+DEvyO8iMEuQKOQYAIdUhhhKAW3EAorUUMICGgos4xwyh0xlPttbbAWGKZcloRCgjijknAMERKYaEJRkJj6AWmnniFEaOAYWAwcdIDwZhEWkEloWMYfhVnfjWU/0Z101eX/n5S3SQIVlY6YKxDVCBKFMfgsUc6B7AxmmlCGWXeM0OEhBpSKY12mEIOGVaaMYWA5RAoQB3zGgvioIKQSie4gtRwY6jgCBmkObp55BwQCEDxSCZ//+qm5/r/fb30t84Avlz/iX+p/+nr/M/3sd/S/x/q5//oAtBPKo8/x8Dw9+QAANxiGScQiVsQZ55R4ilGWlEpOeTecK01NBh6DbCk1kpPMLBMCyWgZ9wjDqWxkhNrEYXMOwcIuDUYryyWFmjpFaIcckq0MchQBIVnAmHm0TcrAP3qv0nwCUVqqDVEiDHnjXPSIsUYAFpAeyNHwAyGTjCipOcIcyQUJ8wISchNY3qPuHREEousNgJDYqgQCiDioQTCEo25lJJ4pJmAgmJjDBTaaSWwl9xQYP/+FPlqr/Zqr/Yfaf8TAAD//10FmiMAXgAA` + validRepository = `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` // This is valid base64 (hello world), but should not be able to gunzip // untar. invalidRepository = []byte(`aGVsbG8gd29ybGQK`) // TUF Root json, generated via scaffolding - rootJSON = `ewogInNpZ25lZCI6IHsKICAiX3R5cGUiOiAicm9vdCIsCiAgInNwZWNfdmVyc2lvbiI6ICIxLjAiLAogICJ2ZXJzaW9uIjogMSwKICAiZXhwaXJlcyI6ICIyMDI0LTEyLTE4VDE4OjQ3OjIyWiIsCiAgImtleXMiOiB7CiAgICI0MjUyMTk0NDhjNDBiOGMwZWM5MGE5NDg0ZjlhYzkwMTA1YzQ1OWY0NzM2OWNjOWY2OGJiNmIzYTEyNjIyNTU4IjogewogICAgImtleXR5cGUiOiAiZWQyNTUxOSIsCiAgICAic2NoZW1lIjogImVkMjU1MTkiLAogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICIyMmJmMmVmOGFmMGNjNDk0MTQwMjNhYWU2MTJjMjFhZTI5YzRjN2FiNjJjOTcwZTcxOTYyNTA1OTVmZGM4ZDEyIgogICAgfQogICB9LAogICAiNTk4Mzc3ZWZlODMxZTA2ZDMwOTZjZDQ3OWU3ZjMyNzc5MzE0NTRhNWI1MWE0NDM0MWU0Yjk4ZTAyMmVhNDYxZCI6IHsKICAgICJrZXl0eXBlIjogImVkMjU1MTkiLAogICAgInNjaGVtZSI6ICJlZDI1NTE5IiwKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiMjQ3NzFmZjI4MDcyZDMwZTExZDFhOThmMDY5MWZiNDViYTc4MzkxODc2OTY4NDgyNmM0OTc5OGIzODUwMzJkOCIKICAgIH0KICAgfSwKICAgIjgxZTdmNWM3ODZkODdmMzRkNDVhYjlkMzFlNGNlZWEyODkyZjRiN2EwM2ZlOThhYWNhOWZhZWY4NmY4NzJjOGYiOiB7CiAgICAia2V5dHlwZSI6ICJlZDI1NTE5IiwKICAgICJzY2hlbWUiOiAiZWQyNTUxOSIsCiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIjVjNzFlMWVhY2ViMjE1MTIwZjMwNzk5YmYwNmQ3ZDZjOTFmMzgxMjNjMzJiNGJjYjlmZDM3ZGJlYmVhNTYxNGEiCiAgICB9CiAgIH0sCiAgICJjNzZlN2FhOTdjY2RhMTMxNDVkOTg3ZjViNDQ4MTI2NTVlMjcwODI3NzNjYjg5NmE2OTZmZjhiNmQzMjE2MDZlIjogewogICAgImtleXR5cGUiOiAiZWQyNTUxOSIsCiAgICAic2NoZW1lIjogImVkMjU1MTkiLAogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICI5YjU3MmQ4N2FlOWQwMDM2NjdlYmM0NjFkZjQ5NDE4ODBjYjM1M2FiMjQ5Y2Y1NzFjMGJmMDhjMTg4MzBlZTI1IgogICAgfQogICB9CiAgfSwKICAicm9sZXMiOiB7CiAgICJyb290IjogewogICAgImtleWlkcyI6IFsKICAgICAiYzc2ZTdhYTk3Y2NkYTEzMTQ1ZDk4N2Y1YjQ0ODEyNjU1ZTI3MDgyNzczY2I4OTZhNjk2ZmY4YjZkMzIxNjA2ZSIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9LAogICAic25hcHNob3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI0MjUyMTk0NDhjNDBiOGMwZWM5MGE5NDg0ZjlhYzkwMTA1YzQ1OWY0NzM2OWNjOWY2OGJiNmIzYTEyNjIyNTU4IgogICAgXSwKICAgICJ0aHJlc2hvbGQiOiAxCiAgIH0sCiAgICJ0YXJnZXRzIjogewogICAgImtleWlkcyI6IFsKICAgICAiNTk4Mzc3ZWZlODMxZTA2ZDMwOTZjZDQ3OWU3ZjMyNzc5MzE0NTRhNWI1MWE0NDM0MWU0Yjk4ZTAyMmVhNDYxZCIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9LAogICAidGltZXN0YW1wIjogewogICAgImtleWlkcyI6IFsKICAgICAiODFlN2Y1Yzc4NmQ4N2YzNGQ0NWFiOWQzMWU0Y2VlYTI4OTJmNGI3YTAzZmU5OGFhY2E5ZmFlZjg2Zjg3MmM4ZiIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9CiAgfSwKICAiY29uc2lzdGVudF9zbmFwc2hvdCI6IGZhbHNlCiB9LAogInNpZ25hdHVyZXMiOiBbCiAgewogICAia2V5aWQiOiAiYzc2ZTdhYTk3Y2NkYTEzMTQ1ZDk4N2Y1YjQ0ODEyNjU1ZTI3MDgyNzczY2I4OTZhNjk2ZmY4YjZkMzIxNjA2ZSIsCiAgICJzaWciOiAiNjM2MDMzNjVmNzgxYzM1NzViNjAzZjE5YWVkYjViNjRkN2E2NmJlYWUwYTAzMzkwMTQwYjE3ZTA1Yjk0YmQ1ZjNkMzlmMDNkYjg5MjgwMzY1MTE4NGQzNjg1NTI2ZDJiOTk1MDdlNzU1NDIzZGI2NmNlMjFmNTJmYmM5MDA0MDAiCiAgfQogXQp9` + rootJSON = `ewogInNpZ25lZCI6IHsKICAiX3R5cGUiOiAicm9vdCIsCiAgInNwZWNfdmVyc2lvbiI6ICIxLjAiLAogICJ2ZXJzaW9uIjogMSwKICAiZXhwaXJlcyI6ICIyMDI1LTA2LTIwVDEwOjA3OjIzWiIsCiAgImtleXMiOiB7CiAgICIxOGRhNDVlN2Y5ZmY5NTRiNzJmMTliNGViZDczNmU4OGI2NjhjMjNkZjRkZWM0ZTU4ZjZhMDM3MWFmOWJiMzY2IjogewogICAgImtleXR5cGUiOiAiZWQyNTUxOSIsCiAgICAic2NoZW1lIjogImVkMjU1MTkiLAogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICI2OWIzOWRlOTY3NGRlYjc3N2VhNTgwMmYwMjU5MmUzYTg3YzRiZDNhMDEwZTRkMWM5OGU1M2FkMjdjOTBjNGI4IgogICAgfQogICB9LAogICAiNmUzMTk3M2RkMjU1ZGM5MWRjYTgwOGU0MzcxZjNlY2EyMjM2OTBkNjJhZWFmYmE0MmQxNGIwM2YzODYzOTMwOCI6IHsKICAgICJrZXl0eXBlIjogImVkMjU1MTkiLAogICAgInNjaGVtZSI6ICJlZDI1NTE5IiwKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiYzc0NGVhODUzNjg5Yjg5YzYyZjBmMDZjYjgyOGE4OTVhYTQ3ODZlOTEzZWE3ZmE5Y2NhYzRkODgxZDcxYmJmZSIKICAgIH0KICAgfSwKICAgIjZlNWI3NzUzNmMwMjhjMWZiYzIwNGRjYjRlOTczMjZjZWRkNjY5YmZiNDVmOTlkYTdmYjRmMjYyNThhMDM5ODYiOiB7CiAgICAia2V5dHlwZSI6ICJlZDI1NTE5IiwKICAgICJzY2hlbWUiOiAiZWQyNTUxOSIsCiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogImU0ODA1NGYxYzhmYzQzNDUxY2E2NmU4ZmE1MjQ4NzA5YzYyYThmZjM5ZGU4ZjliYjIxZGRiOGM2YTM3YzcyZWQiCiAgICB9CiAgIH0sCiAgICJkNmY0MTc0Zjk1YjM3YWEyYTBmOGIxZWM1NGRmOWQwY2NmZWQ4MjQzMzEyZDE5ZjIxYWM1OWFkNTAxYmM2YTZiIjogewogICAgImtleXR5cGUiOiAiZWQyNTUxOSIsCiAgICAic2NoZW1lIjogImVkMjU1MTkiLAogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICIwY2I5MzFjNTAzY2EzYjBjNjRjN2E3Mzc3Mzc3YWYzYTgwMjA2ZTk2Yzc5NGY4NTA5NzkzOTk0YTE5MGEzYzMzIgogICAgfQogICB9CiAgfSwKICAicm9sZXMiOiB7CiAgICJyb290IjogewogICAgImtleWlkcyI6IFsKICAgICAiNmU1Yjc3NTM2YzAyOGMxZmJjMjA0ZGNiNGU5NzMyNmNlZGQ2NjliZmI0NWY5OWRhN2ZiNGYyNjI1OGEwMzk4NiIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9LAogICAic25hcHNob3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICJkNmY0MTc0Zjk1YjM3YWEyYTBmOGIxZWM1NGRmOWQwY2NmZWQ4MjQzMzEyZDE5ZjIxYWM1OWFkNTAxYmM2YTZiIgogICAgXSwKICAgICJ0aHJlc2hvbGQiOiAxCiAgIH0sCiAgICJ0YXJnZXRzIjogewogICAgImtleWlkcyI6IFsKICAgICAiMThkYTQ1ZTdmOWZmOTU0YjcyZjE5YjRlYmQ3MzZlODhiNjY4YzIzZGY0ZGVjNGU1OGY2YTAzNzFhZjliYjM2NiIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9LAogICAidGltZXN0YW1wIjogewogICAgImtleWlkcyI6IFsKICAgICAiNmUzMTk3M2RkMjU1ZGM5MWRjYTgwOGU0MzcxZjNlY2EyMjM2OTBkNjJhZWFmYmE0MmQxNGIwM2YzODYzOTMwOCIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9CiAgfSwKICAiY29uc2lzdGVudF9zbmFwc2hvdCI6IHRydWUKIH0sCiAic2lnbmF0dXJlcyI6IFsKICB7CiAgICJrZXlpZCI6ICI2ZTViNzc1MzZjMDI4YzFmYmMyMDRkY2I0ZTk3MzI2Y2VkZDY2OWJmYjQ1Zjk5ZGE3ZmI0ZjI2MjU4YTAzOTg2IiwKICAgInNpZyI6ICJmM2IyMjMwNTk2ZmUzZTU1MzA2OTJmMGY4NGQxMjIxZjQ2YzhhMGRmODQzMGI5OTVjMjZkMjFkYzI3YTY5YTM5ZmQwNWE1MjMzMDBjNTE5ZWVhYzAzNmFkZDNlYmZkOTM3YmY3MjM1ZTcwNjU5YWMyMDgyYzhlYzQ4NTI5ZmYwMCIKICB9CiBdCn0=` ) func TestTrustRootValidation(t *testing.T) { diff --git a/pkg/tuf/repo_test.go b/pkg/tuf/repo_test.go index b15d67b5c..56ca79566 100644 --- a/pkg/tuf/repo_test.go +++ b/pkg/tuf/repo_test.go @@ -68,10 +68,10 @@ N6mY2prOeaBRV2dnsJzC94hOxkM5pSp9nbAK1TBOI45fOOPsH2rSR++HrA== // validRepository is a valid tar/gzipped repository representing an air-gap // TUF repository. - validRepository = `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` + validRepository = `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` - // IMPORTANT: The next expiration is on '2024-12-18T18:47:22Z' - rootJSON = `ewogInNpZ25lZCI6IHsKICAiX3R5cGUiOiAicm9vdCIsCiAgInNwZWNfdmVyc2lvbiI6ICIxLjAiLAogICJ2ZXJzaW9uIjogMSwKICAiZXhwaXJlcyI6ICIyMDI0LTEyLTE4VDE4OjQ3OjIyWiIsCiAgImtleXMiOiB7CiAgICI0MjUyMTk0NDhjNDBiOGMwZWM5MGE5NDg0ZjlhYzkwMTA1YzQ1OWY0NzM2OWNjOWY2OGJiNmIzYTEyNjIyNTU4IjogewogICAgImtleXR5cGUiOiAiZWQyNTUxOSIsCiAgICAic2NoZW1lIjogImVkMjU1MTkiLAogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICIyMmJmMmVmOGFmMGNjNDk0MTQwMjNhYWU2MTJjMjFhZTI5YzRjN2FiNjJjOTcwZTcxOTYyNTA1OTVmZGM4ZDEyIgogICAgfQogICB9LAogICAiNTk4Mzc3ZWZlODMxZTA2ZDMwOTZjZDQ3OWU3ZjMyNzc5MzE0NTRhNWI1MWE0NDM0MWU0Yjk4ZTAyMmVhNDYxZCI6IHsKICAgICJrZXl0eXBlIjogImVkMjU1MTkiLAogICAgInNjaGVtZSI6ICJlZDI1NTE5IiwKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiMjQ3NzFmZjI4MDcyZDMwZTExZDFhOThmMDY5MWZiNDViYTc4MzkxODc2OTY4NDgyNmM0OTc5OGIzODUwMzJkOCIKICAgIH0KICAgfSwKICAgIjgxZTdmNWM3ODZkODdmMzRkNDVhYjlkMzFlNGNlZWEyODkyZjRiN2EwM2ZlOThhYWNhOWZhZWY4NmY4NzJjOGYiOiB7CiAgICAia2V5dHlwZSI6ICJlZDI1NTE5IiwKICAgICJzY2hlbWUiOiAiZWQyNTUxOSIsCiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIjVjNzFlMWVhY2ViMjE1MTIwZjMwNzk5YmYwNmQ3ZDZjOTFmMzgxMjNjMzJiNGJjYjlmZDM3ZGJlYmVhNTYxNGEiCiAgICB9CiAgIH0sCiAgICJjNzZlN2FhOTdjY2RhMTMxNDVkOTg3ZjViNDQ4MTI2NTVlMjcwODI3NzNjYjg5NmE2OTZmZjhiNmQzMjE2MDZlIjogewogICAgImtleXR5cGUiOiAiZWQyNTUxOSIsCiAgICAic2NoZW1lIjogImVkMjU1MTkiLAogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICI5YjU3MmQ4N2FlOWQwMDM2NjdlYmM0NjFkZjQ5NDE4ODBjYjM1M2FiMjQ5Y2Y1NzFjMGJmMDhjMTg4MzBlZTI1IgogICAgfQogICB9CiAgfSwKICAicm9sZXMiOiB7CiAgICJyb290IjogewogICAgImtleWlkcyI6IFsKICAgICAiYzc2ZTdhYTk3Y2NkYTEzMTQ1ZDk4N2Y1YjQ0ODEyNjU1ZTI3MDgyNzczY2I4OTZhNjk2ZmY4YjZkMzIxNjA2ZSIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9LAogICAic25hcHNob3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI0MjUyMTk0NDhjNDBiOGMwZWM5MGE5NDg0ZjlhYzkwMTA1YzQ1OWY0NzM2OWNjOWY2OGJiNmIzYTEyNjIyNTU4IgogICAgXSwKICAgICJ0aHJlc2hvbGQiOiAxCiAgIH0sCiAgICJ0YXJnZXRzIjogewogICAgImtleWlkcyI6IFsKICAgICAiNTk4Mzc3ZWZlODMxZTA2ZDMwOTZjZDQ3OWU3ZjMyNzc5MzE0NTRhNWI1MWE0NDM0MWU0Yjk4ZTAyMmVhNDYxZCIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9LAogICAidGltZXN0YW1wIjogewogICAgImtleWlkcyI6IFsKICAgICAiODFlN2Y1Yzc4NmQ4N2YzNGQ0NWFiOWQzMWU0Y2VlYTI4OTJmNGI3YTAzZmU5OGFhY2E5ZmFlZjg2Zjg3MmM4ZiIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9CiAgfSwKICAiY29uc2lzdGVudF9zbmFwc2hvdCI6IGZhbHNlCiB9LAogInNpZ25hdHVyZXMiOiBbCiAgewogICAia2V5aWQiOiAiYzc2ZTdhYTk3Y2NkYTEzMTQ1ZDk4N2Y1YjQ0ODEyNjU1ZTI3MDgyNzczY2I4OTZhNjk2ZmY4YjZkMzIxNjA2ZSIsCiAgICJzaWciOiAiNjM2MDMzNjVmNzgxYzM1NzViNjAzZjE5YWVkYjViNjRkN2E2NmJlYWUwYTAzMzkwMTQwYjE3ZTA1Yjk0YmQ1ZjNkMzlmMDNkYjg5MjgwMzY1MTE4NGQzNjg1NTI2ZDJiOTk1MDdlNzU1NDIzZGI2NmNlMjFmNTJmYmM5MDA0MDAiCiAgfQogXQp9` + // IMPORTANT: The next expiration is on '2025-06-20T10:07:23Z' + rootJSON = `ewogInNpZ25lZCI6IHsKICAiX3R5cGUiOiAicm9vdCIsCiAgInNwZWNfdmVyc2lvbiI6ICIxLjAiLAogICJ2ZXJzaW9uIjogMSwKICAiZXhwaXJlcyI6ICIyMDI1LTA2LTIwVDEwOjA3OjIzWiIsCiAgImtleXMiOiB7CiAgICIxOGRhNDVlN2Y5ZmY5NTRiNzJmMTliNGViZDczNmU4OGI2NjhjMjNkZjRkZWM0ZTU4ZjZhMDM3MWFmOWJiMzY2IjogewogICAgImtleXR5cGUiOiAiZWQyNTUxOSIsCiAgICAic2NoZW1lIjogImVkMjU1MTkiLAogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICI2OWIzOWRlOTY3NGRlYjc3N2VhNTgwMmYwMjU5MmUzYTg3YzRiZDNhMDEwZTRkMWM5OGU1M2FkMjdjOTBjNGI4IgogICAgfQogICB9LAogICAiNmUzMTk3M2RkMjU1ZGM5MWRjYTgwOGU0MzcxZjNlY2EyMjM2OTBkNjJhZWFmYmE0MmQxNGIwM2YzODYzOTMwOCI6IHsKICAgICJrZXl0eXBlIjogImVkMjU1MTkiLAogICAgInNjaGVtZSI6ICJlZDI1NTE5IiwKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiYzc0NGVhODUzNjg5Yjg5YzYyZjBmMDZjYjgyOGE4OTVhYTQ3ODZlOTEzZWE3ZmE5Y2NhYzRkODgxZDcxYmJmZSIKICAgIH0KICAgfSwKICAgIjZlNWI3NzUzNmMwMjhjMWZiYzIwNGRjYjRlOTczMjZjZWRkNjY5YmZiNDVmOTlkYTdmYjRmMjYyNThhMDM5ODYiOiB7CiAgICAia2V5dHlwZSI6ICJlZDI1NTE5IiwKICAgICJzY2hlbWUiOiAiZWQyNTUxOSIsCiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogImU0ODA1NGYxYzhmYzQzNDUxY2E2NmU4ZmE1MjQ4NzA5YzYyYThmZjM5ZGU4ZjliYjIxZGRiOGM2YTM3YzcyZWQiCiAgICB9CiAgIH0sCiAgICJkNmY0MTc0Zjk1YjM3YWEyYTBmOGIxZWM1NGRmOWQwY2NmZWQ4MjQzMzEyZDE5ZjIxYWM1OWFkNTAxYmM2YTZiIjogewogICAgImtleXR5cGUiOiAiZWQyNTUxOSIsCiAgICAic2NoZW1lIjogImVkMjU1MTkiLAogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICIwY2I5MzFjNTAzY2EzYjBjNjRjN2E3Mzc3Mzc3YWYzYTgwMjA2ZTk2Yzc5NGY4NTA5NzkzOTk0YTE5MGEzYzMzIgogICAgfQogICB9CiAgfSwKICAicm9sZXMiOiB7CiAgICJyb290IjogewogICAgImtleWlkcyI6IFsKICAgICAiNmU1Yjc3NTM2YzAyOGMxZmJjMjA0ZGNiNGU5NzMyNmNlZGQ2NjliZmI0NWY5OWRhN2ZiNGYyNjI1OGEwMzk4NiIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9LAogICAic25hcHNob3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICJkNmY0MTc0Zjk1YjM3YWEyYTBmOGIxZWM1NGRmOWQwY2NmZWQ4MjQzMzEyZDE5ZjIxYWM1OWFkNTAxYmM2YTZiIgogICAgXSwKICAgICJ0aHJlc2hvbGQiOiAxCiAgIH0sCiAgICJ0YXJnZXRzIjogewogICAgImtleWlkcyI6IFsKICAgICAiMThkYTQ1ZTdmOWZmOTU0YjcyZjE5YjRlYmQ3MzZlODhiNjY4YzIzZGY0ZGVjNGU1OGY2YTAzNzFhZjliYjM2NiIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9LAogICAidGltZXN0YW1wIjogewogICAgImtleWlkcyI6IFsKICAgICAiNmUzMTk3M2RkMjU1ZGM5MWRjYTgwOGU0MzcxZjNlY2EyMjM2OTBkNjJhZWFmYmE0MmQxNGIwM2YzODYzOTMwOCIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMQogICB9CiAgfSwKICAiY29uc2lzdGVudF9zbmFwc2hvdCI6IHRydWUKIH0sCiAic2lnbmF0dXJlcyI6IFsKICB7CiAgICJrZXlpZCI6ICI2ZTViNzc1MzZjMDI4YzFmYmMyMDRkY2I0ZTk3MzI2Y2VkZDY2OWJmYjQ1Zjk5ZGE3ZmI0ZjI2MjU4YTAzOTg2IiwKICAgInNpZyI6ICJmM2IyMjMwNTk2ZmUzZTU1MzA2OTJmMGY4NGQxMjIxZjQ2YzhhMGRmODQzMGI5OTVjMjZkMjFkYzI3YTY5YTM5ZmQwNWE1MjMzMDBjNTE5ZWVhYzAzNmFkZDNlYmZkOTM3YmY3MjM1ZTcwNjU5YWMyMDgyYzhlYzQ4NTI5ZmYwMCIKICB9CiBdCn0=` ) func TestCompressUncompressFS(t *testing.T) {