{"id":17929516,"url":"https://github.com/marchof/credential-store","last_synced_at":"2025-09-02T15:13:46.471Z","repository":{"id":147578191,"uuid":"44274684","full_name":"marchof/credential-store","owner":"marchof","description":"OpenSSL Based Credential Store","archived":false,"fork":false,"pushed_at":"2015-10-15T05:14:55.000Z","size":128,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-01T06:28:54.004Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marchof.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-14T20:32:51.000Z","updated_at":"2015-10-14T20:38:45.000Z","dependencies_parsed_at":"2023-04-10T04:48:40.332Z","dependency_job_id":null,"html_url":"https://github.com/marchof/credential-store","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marchof/credential-store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marchof%2Fcredential-store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marchof%2Fcredential-store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marchof%2Fcredential-store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marchof%2Fcredential-store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marchof","download_url":"https://codeload.github.com/marchof/credential-store/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marchof%2Fcredential-store/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273302296,"owners_count":25081198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T21:09:31.318Z","updated_at":"2025-09-02T15:13:46.428Z","avatar_url":"https://github.com/marchof.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"OpenSSL Based Credential Store\n==============================\n\nCollection of scripts to manage a store of encrypted credentials. Multiple\ncredentials can be encrypted with multiple public/private key pairs.\n\nUse Cases\n---------\n\n* Add/update entry\n* Remove entry\n* Get entry (any private key required)\n* Get all entries (any private key required)\n* Add public key (any existing private key required to re-encrypt entries)\n\n\nDesign and Algorithms\n---------------------\n\nEvery credential is encrypted and stored in a separate file. This allows simple\naddition, removal and modification without encrypting/decrypting other\ncredentials.\n\nTo allow credentials of arbitrary size credentials are encrypted with the\nsymmetric scheme AES-256-CBC.\n\nA different random key is used for every credential which in turn is encrypted\nwith the the asymmetric RSA scheme using a 4096 bit key. This allows adding and\nupdating credentials without knowing any existing private keys. The random key\nfor the new entry is encrypted with all existing public keys know in the store.\n\n\nFile System Layout\n------------------\n\nThe scripts use a fixed file system layout under a folder containing the store.\n\nAll encrypted credentials are directly stored in the store directory, using the\nentry name as the file name.\n\nFor every public key a directory with the name 'key-\u003cfingerprint\u003e' exists. The\ndirectory contains the public key itself (public.pem) and the encrypted key for\nevery credential.\n\nExample:\n\n```\n\u003cstore dir\u003e/\n +-- keys-330dedf821800d8425cfaedfd977f61c67084f02/\n |    +-- public.pem\n |    +-- com.example.credential1.key\n |    +-- com.example.credential2.key\n +-- keys-556fe76662da271eadcf34704b86ad793b56cc11/\n |    +-- public.pem\n |    +-- com.example.credential1.key\n |    +-- com.example.credential2.key\n +-- keys-803972b8eb835d6d661d2de4675e7e5964326362/\n |    +-- public.pem\n |    +-- com.example.credential1.key\n |    +-- com.example.credential2.key\n +-- com.example.credential1\n +-- com.example.credential2\n```\n\nTest Execution\n--------------\n\nRun the following command to execute the test scenario:\n\n```\nsh src/test/scripts/runtests.sh\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarchof%2Fcredential-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarchof%2Fcredential-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarchof%2Fcredential-store/lists"}