From 71f66e3142639b2f20e99fde0e48259c5be23d51 Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Sun, 21 Feb 2021 17:16:40 +0100 Subject: [PATCH] Remove old testdata and update documentation to new location --- {scripts => docs}/decrypt.py | 2 +- docs/vault.md | 15 ++-- testdata/aegis_export.json | 25 ------ testdata/aegis_export_plain.json | 142 ------------------------------- 4 files changed, 11 insertions(+), 173 deletions(-) rename {scripts => docs}/decrypt.py (95%) delete mode 100644 testdata/aegis_export.json delete mode 100644 testdata/aegis_export_plain.json diff --git a/scripts/decrypt.py b/docs/decrypt.py similarity index 95% rename from scripts/decrypt.py rename to docs/decrypt.py index c56ae3f9..d54049da 100755 --- a/scripts/decrypt.py +++ b/docs/decrypt.py @@ -3,7 +3,7 @@ # this depends on the 'cryptography' package # pip install cryptography -# example usage: ./scripts/decrypt.py --input ./testdata/aegis_export.json +# example usage: ./scripts/decrypt.py --input ./app/src/test/resources/com/beemdevelopment/aegis/importers/aegis_encrypted.json # password: test import argparse diff --git a/docs/vault.md b/docs/vault.md index dc0d3d40..cc4cc115 100644 --- a/docs/vault.md +++ b/docs/vault.md @@ -70,8 +70,8 @@ __master key__. Aegis supports unlocking a vault with multiple different credentials. The main credential is a key derived from a user-provided password. In addition to that, -users can also add a key backed by the Android KeyStore (authorized by biometrics) -as a credential. +users can also add a key backed by the Android KeyStore (authorized by +biometrics) as a credential. #### Slots @@ -116,9 +116,14 @@ wheter the vault is encrypted or not. If it is, the value is a string containing the Base64 encoded (with padding) ciphertext of the vault contents. Otherwise, the value is a JSON object. -Full examples of a plain text vault and an encrypted vault are available in the -[testdata](/testdata) folder. There's also a Python script that can decrypt an -Aegis vault given the password: [scripts/decrypt.py](/scripts/decrypt.py). +Full examples of a [plain text +vault](/app/src/test/resources/com/beemdevelopment/aegis/importers/aegis_plain.json) +and an [encrypted +vault](/app/src/test/resources/com/beemdevelopment/aegis/importers/aegis_encrypted.json) +are available in the [test +data](/app/src/test/resources/com/beemdevelopment/aegis/importers) folder. +There's also an example Python script that can decrypt an Aegis vault given the +password: [decrypt.py](/docs/decrypt.py). ### Header diff --git a/testdata/aegis_export.json b/testdata/aegis_export.json deleted file mode 100644 index db2cdc84..00000000 --- a/testdata/aegis_export.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 1, - "header": { - "slots": [ - { - "type": 1, - "uuid": "70e1ed52-6b55-45be-8d33-415f62826806", - "key": "31dfe4b4ea3055c763e0111ec913a7045f93b5112cd979670ac0f6911e82cbfd", - "key_params": { - "nonce": "ba089d23671c870926b0afa6", - "tag": "bf341c3596854fad376e9afd8523540d" - }, - "n": 32768, - "r": 8, - "p": 1, - "salt": "46a687d48a36d388e2a01f03a72d3b31bc53ddc6a0a6d03e9ffd40460c785e48" - } - ], - "params": { - "nonce": "2a79db774fa227c47e7508e2", - "tag": "f521db4650fad7e814e78b8a20747c60" - } - }, - "db": "S\/kF8IvxGlCVwTtLo0kii37cITtPl9f02qM0Y\/N9yu95uYbCy1gJfHxTEmvtidvjfS+ag6fcqTt6dJSZwkzfAyqfX6LgCzPrcj2EApngKPllpIRaanTFWPH9SgK6j9sQyRP7RiPJcO684k\/2TcJAXbJ9eBazbikbvE4dUWzcywLXG60NDgNorr0RSHJmHB88gMzOjuI6QQqudk6CQSdZ1FKKtQ3LV518sG4TrJ4YA4S4ccXHmWcap3r2f5Z1hq3J6qm7W+DfE8Atwe\/iw2AwVSKON4YpOj16j1nQDqzMYpBARboxCC75Y0t9rroHdkDeD7gqWMEIChTFuq4LBlMZJl4XL0frumXn+cF49OhDJmiKn69ywtUjvWn+xkicLe0mgpCcEs8A01UOnQwvMHZ2WNLLgXI8SfhkBUGs9GAwP5g8uawrJcoxZXYRvAiJOicmBjTsg72+2T6j8WAPXab9zu8EuFrN0gXUBDqsAPHfVAJmQTkTxLrnKg+A6Yv1Rj7PA\/adyu7tDGLtwVu4e3mQodfI1hsJILRrYbYNlZGr2Oq4LH8DWWQC0sYldEzaNWl5X+97KsiY73RMjO40nR32DBKWLrtTkiYkE1Je\/lwjvI1Zqp3QQhbCQtaxYlkBKJ9F06oF7PUZFslKgh9Z8HXFpYo0U2VdizFZts3tNtwXwDcDByk5KFh+37lOAE8UdvC0CP5ned3bxFbZJa2bmqrCoGDDK9RAnoegqx31wLcN2wae5qQrjclqVAb1fYKmffvwhPNG1EDsYwvKUDUdECb5RsPUq7ALjoIreXkWzXVDuTntU7BD08IPWR\/b\/v2ZMxP3OCX7HDDTTYI5jHyP5hH95vK0\/AmtrQ85kypyYW+7tn6T9spylfRK9RzyHbtJ\/WNYmZINOem40vFOkVpFmuWXnad\/HyctpwsG2hutEv2HG3G5zq6yA3WYA22zsjcDidckxVJS0ygSiU6BBsjwP39qntX0pbi25o26U5oWm+IcqLl1VdUt9FLwjtP+grRShXITntg3WWc9kKkiSsKk16INkz15fH1oJpsxxRo7H2efHDhwTE7bw3GZoL0KEE1TAS4Ho\/gKBmueEEslyTJSw\/iYMc4CpJK\/hxp40cvzkvHe8ZedgVixvgijbp\/JO\/Wl1VWIGfTHSIJgPaC2ZI4tNVJDjIm7arisOgAN6u7wzjKNPSUAL8\/nJpgJrDfQPLHUl8CUymq97rmdjIrCpjjltKbELlz5f9bjbqcNKS\/YfUm9rzUPD3mVPG8GOkRwBgr\/HpDNltVkvDp0pbT9M9e1nKa3vH2SMnc8sx8Zd7lzOD0kiHdbDDpoXSgq\/merEeV0PikcPiliohJVL3HfNEyLgUynp1lLfS4MFhktIVhnksme56Qhw8CaKwiBmWWTNPvXY7XH2ogsba\/tEUIGTcVQzK8zeXIKM4w\/rLBRwDDfx9P5G+1\/voh\/6rCAG7gu2DH4ZHzq562gCcIi3HcRE4NLKYQOnZuaD47\/nQijmqxDkxSYpSEL+xOLrd4Q3FnlU8vYmGmabRiPX0xS8IjxlAcdO06n4hmPm2+xXMo1d+6aEpcVaJSq8rWou90Zv9JCLtV723UJzwMUSiI2cAWec7mPH4L+GZyO1Gcq0l7XMfw3aqFpTrm3gVIOF0PJH3uZtQ\/OKmI3\/oH9uEtUkaj9Y0daBUehx7ZVQVA6jBtCq5riKPoua10Dfwrxe7Wmp2Yg8K\/7wska4HfpTmxRu9ZSHYRIErhRol6LqCljgxqaZQmCb9\/LR8Qoxu\/pKmzAFJfOGF7mdVK\/G31K4pVwRBp15KU0Wp\/nBf9RXmeMbZzwOjBZE8spGf13P1oaByxXDjm+JyxUX6S250m5KO4ZagNlxcVa5FvXKgk1fC8Byi73Q4dA7BZU4epQLlqGCEYmFn4Y\/d0hnDyBBI42S1Mgo8S2xP1GkcxcouTyl8RAT1Hsd\/zrm\/FhHPF7o79NodycCDcxQ2XKEhT+azBXHyJIWCuSuqnRapXpKCoQtEl2h94I9N8vTGn1tj0yzz2aClaDV8iHJWOpnEPEZn0mjTewaZT8xTyO601PEPRsidRSDKLWracrASg0HSxLUL8KK\/RpGckmUcyj+cxP2DSxssWrrcZkgyQbwZBFq3xvnztyeX8rFdSuB43uHn1bytE1Rq3UrOQbNs3exGdog0ytqG+2jFZUx5r\/gwTW+feiArIKlClowJkx+VRx4Djhh1aDCafasmjxrwPrx\/X3IFIX24GLd7Zz89xG7KjMV4AncUOlS2nMQ5UtfpuW+Og++C8Dy6+u2brB819MB+Anhc6qJD0UmbcnmVXeeTheFZAhe7GeX+hrc6ELe4irXD4Fa3IxwJcvPX1U+0ib9G8v1sBVzld+5lS05U8CWdZbB5NymeOsRNxDAmkRkyIBAx9dpVny8g6B07WOGbD0WbUgAZegwOmgXWOXlRAPK9IlO8PD8\/5n5\/bThBkysUQX7xx9bvAGC9J+zqOqhdcooQORgeLhVOz7C7EglPKw413C9FoIley9u3NNJSuOE9OmCw4I9DPoy0CD2MhYVdixdxtNMAtTjiZoa4CHiBREgMV0iT+k5sYWQ27Q1EQQuQMiI5zqiUySOHiSypHNnLqmTUJhSqwU0w8OwtesbITx16ELus+1xkKsjrVfCTRLXBfKKDXNQ\/vKwxcx9IYbBWYnkFMNa\/zGv2xdrJb0KE4VydQFPNHGiDt+MzaFBn17w4clRDOgBVVoO2y4NYMh6lUIKRhhpeT92kgXFrzkrlrT6V2gnSZthdcJjrrcdX3Z0HrSKm9HqKLIEsfQDUB\/bqYkbNSaPeuyQfs9lSHx20Qq5gGSBNiRqkZ6scIMpQcu5l7B+nYZq9+niNy0AhbPO514Sjv3\/xJLAMFcRcKX7gi4iP\/6e1dWyOUdFRWyhDQXS3V5G6j\/RV8wuC6wu4c+WlpZgbHyplHTPEGRVz5sLUjVTSjBuBX1EMrVwFRyy9xresDlHlzKnOmF9gN18O3Tf9XSmFkg0lf5VQ2bosNtPx58SN8y\/y6rvC1zMFVnx+\/YTR2JzGDnt89po21rVTrg8LaSffFNKw4PkxKQEbMaaDC0IBZhgZ7iN5kZyecEXIAMTrmqGPeCq+ASEp5BCXX3s0tlgF9c5W5veAmCfAD4RG714LLXxjVIP7tyq6DASoAyoTBMfO365Db3InLnaKPzrNgwAv7drn7udK4jg3cF7w4mHVsEna6yv+nlgixT8gqxlyv1eRoHPL5Bf2i+9vgUKq5Ndm\/k0EIND5KK+6LzulB+Gv5EKucHeoRnBikxMqvdEVWfImQjnuW7G3b+RN3fO9OR0HGoc4rZWD56GeeFCQZo3vf8ubZUZnSVQinYPiObjLJ3\/OjvldycF7oAWRjIItQyJXNlMCclRAe8laU+sRoqGtaeCUd1nzlqFH5Q5BQ2I3i6UqgurSJFmGYp2bUQonBdP0tKkswcNnwn1KwNcqeLx8NHLGzGkj5Odhz5qwvHi+Xx7vEP72Jgwj6UoWsFmiV0YZwdf5+m0UE661H3CyniQGbUx+2aNn\/HfSPNck4KPuxI5mlmWPWRFF5NeR+5LJ2ataaXMXOkkoJpW7H2jgOR5KET+2GPlOdo7ytC2eMdpWraztyBrAVC4c7hwQZGXyHbPojLIWu57dGtDTsXO4rtyMhM5PfBgI9idRbaCSmiPx2bloxMB8bkbprvNzdYaaT+Cf\/ABDPAerKQznRQQlid2M5jvOWDNWshrzZ2aTOyYsBzDdxy9XXasAhAkCJVnN4JKAiKp2xlIx\/pz\/bVGjJmo4zMlgysGbyapvOnszSbe5KuhOEy58yqf6rf4SChZgxbRyxMltrzKAxmpLgxjmqR6WxuyunXObZdXC9XgBND9LdluQdF3Q0T5rSasjrU4XO72YqWDdP1gs3gnqjUaxAYhWLnvw\/bs8KDuyvCEqepzLwLA95KjNA4BlvYgF+JRuFTKO5qiURXjYFw\/aEw3KeOWIACgFg0j0StnRWrPZ7YIrDzi2neUQhPBpm+QSVDNi\/0S6xkPOfJjqsU8I\/I2UCGy8G\/PzhmfWKaO3sK5sA7JYwB0+jgGrvTOyBZ0ZZeG5FYzxa2uDWdiwhfThQl+O++7i6sx4kUFzlh1bL1T1kU4N4l6O7iLD6H\/KxQIO5ubPyWiNRYu8r68ENzGouecaoB0sViCQ3Y3OZl6Rkj1xoC0ro5Mlb8fm34JiTpgm391fikPWL47caMKajwWtWOh1rZc7kUgyC6XkQ3yz0+z1Qf1TCKYG\/NvWpRiA85A2ZrwJ9avga+A8Srg4WeemoIx\/JdSHcMfQ3ZpF\/Jm9+hvP+mk2p57FieyLdSp6IvwtPdmTq+4Rvwrp9HcJkWGKtJh42ipiQ2lCDa0EBOLbUXv\/SPMlb3BaIsfwX3xjUd2+c+ZeUpiyqAERoOVYlkLJF9FXw9zss+LShsxVf9f3Ru2r0Kft1aBamKpMpx1mdhMYlgvQ\/1+6s2Qi0vv++28CExWaJCfFBMySCUI+sxXl1qBhaNhTY128Sg647QaXLXFiMwZVLAo2sCJ3c5dLhk2GpTge6otpQ+FvXwuJXEnT1acfx8uEExJRJe0hSVU4Z2JvGqxsVVflz4Gvne5D3qBEVKQzG8YIDGjnjQM87csa9TJAmcwcCg9xG7Ke7fYVRo+2sa7L6rzoosJU3wn1r881hLJiYBVeqA1MRCEiWzq3MIy4xjI2p9xbh6KBmjiX+LpTfN2Dz7+IGb86p7PkQjxFemY1y55GY9RBhsXvOmIgcjiTusokmNxSxPqgCAWfTaq\/JWfrCplQhkL6+GA1De1BKDlWaTKh5wQfXjAd\/ToSi\/INXJuNfK4w+i6Vm7+aJms2Xr9MU0w5IdLuGI9pXxjdm5wX+VsAU+H\/38AWNsyu\/gVN5BSn4\/ifkBBO0VOkdjDDSCIWyd6GASrEgufSm\/xjFTBl8IUIQxSWa0APqj+vNtnnBfmmvvLdcJ2CCsuyXVVOeFNOnmM2sIFvxTqS+1GGUJEQOZJqyBYzr4r2hTiSYh82gIbs6YL2RbTQwRUmR\/H8iN2pihEH7ZLNfu7hQ69fZQJZy9VJn+IKnug3KZaW3h54s1ye8\/bBw6zxkUeVe7kPkWsO\/uC6q7aO7UOjgSW9Z50ZDxaNTjz47\/tbzxp7GWNG9\/eUY3AtzQz++TiOPaptk2n\/ynrSWCD1scgAek4G7NWqpE3IxF9B9ZWUJsFoPVfayPUbKj+LsQ\/X24Ij1tazV0DIht12bWJMs036jaEstSUE7O1H6iZC7UPGtX+g==" -} \ No newline at end of file diff --git a/testdata/aegis_export_plain.json b/testdata/aegis_export_plain.json deleted file mode 100644 index 10d03a95..00000000 --- a/testdata/aegis_export_plain.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "version": 1, - "header": { - "slots": null, - "params": null - }, - "db": { - "version": 1, - "entries": [ - { - "type": "totp", - "uuid": "8e986927-a7a3-4d35-88fb-509ae7960155", - "name": "Bob", - "issuer": "Google", - "icon": null, - "info": { - "secret": "KD3WHMYQ7K7DGV5QFJNN2ZUATBC44C7F", - "algo": "SHA1", - "digits": 6, - "period": 30 - } - }, - { - "type": "totp", - "uuid": "97155de0-fb6a-4dfa-ac59-2abe54f5d059", - "name": "Henk", - "issuer": "Scaleway", - "icon": null, - "info": { - "secret": "MBQX47S3XOSOF7YT2CO3LZNACULZNY4P", - "algo": "SHA256", - "digits": 6, - "period": 10 - } - }, - { - "type": "totp", - "uuid": "a6276843-3c95-43b7-a3ef-e824c5534801", - "name": "nodejsc0d3r", - "issuer": "Github", - "icon": null, - "info": { - "secret": "642GK5EROWKUAEBFRH6FWSMM4FRKS5IA", - "algo": "SHA1", - "digits": 6, - "period": 50 - } - }, - { - "type": "hotp", - "uuid": "1748b48c-7496-4722-9048-17248e843773", - "name": "Lil' Droplet", - "issuer": "DigitalOcean", - "icon": null, - "info": { - "secret": "6CAIGVYB5MQ6TSZLJ56HJBWU5S3H7FUC", - "algo": "SHA512", - "digits": 6, - "counter": 102 - } - }, - { - "type": "totp", - "uuid": "9eef3fa3-bdde-4954-bf37-58bf1d5d6e5f", - "name": "alex", - "issuer": "TTRSS", - "icon": null, - "info": { - "secret": "BEBXDJJVXKX3ZMAZLJUU5I5PONI4IYAL", - "algo": "SHA1", - "digits": 6, - "period": 30 - } - }, - { - "type": "totp", - "uuid": "159b3e5f-fff4-4ff5-997a-b8d1263ee446", - "name": "MoneroMan", - "issuer": "Poloniex", - "icon": null, - "info": { - "secret": "NUSLOF6CFEWNPAARBVJ5WFA5YRRQU4FG", - "algo": "SHA256", - "digits": 8, - "period": 30 - } - }, - { - "type": "totp", - "uuid": "8cd843e5-4122-48e1-8089-a3d0c769741f", - "name": "givemeabucket", - "issuer": "Bitbucket", - "icon": null, - "info": { - "secret": "5KY3D2N53MRMIOMNKLLTNF3TDQJRDMEY", - "algo": "SHA1", - "digits": 6, - "period": 20 - } - }, - { - "type": "hotp", - "uuid": "77c6267a-b38a-40b9-a3a7-5a5ce11230bb", - "name": "Pepe", - "issuer": "4chan", - "icon": null, - "info": { - "secret": "EIQMT7NHFYJUMBKQ35P34JGLG3MO7L2W", - "algo": "SHA1", - "digits": 8, - "counter": 30 - } - }, - { - "type": "totp", - "uuid": "435a3542-c566-4cc0-a5f4-39cd6ffe316d", - "name": "Delete Me", - "issuer": "Facebook", - "icon": null, - "info": { - "secret": "GSQ7E5FO3UFFVANS3NSMFE7RTMRMYNCV", - "algo": "SHA1", - "digits": 6, - "period": 60 - } - }, - { - "type": "totp", - "uuid": "7dca76af-fa6a-4585-8d47-5a8b78130c9c", - "name": "Oh wait, they don't have TOTP", - "issuer": "Namecheap", - "icon": null, - "info": { - "secret": "HIMV4HX3REXMUG236OOLN4GS7URI247Y", - "algo": "SHA512", - "digits": 8, - "period": 30 - } - } - ] - } -} \ No newline at end of file