{"id":19652167,"url":"https://github.com/x13a/py-minisign","last_synced_at":"2025-07-24T06:03:27.131Z","repository":{"id":66081722,"uuid":"341727068","full_name":"x13a/py-minisign","owner":"x13a","description":"Missing python minisign library.","archived":false,"fork":false,"pushed_at":"2024-10-30T19:13:05.000Z","size":28,"stargazers_count":18,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-30T20:17:16.318Z","etag":null,"topics":["crypto","ed25519","minisign","python","security"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/x13a.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://x13a.github.io/donate/"]}},"created_at":"2021-02-24T00:10:41.000Z","updated_at":"2024-10-30T19:12:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"6cad4f9b-6c85-4693-b77b-c1d780c5fb2c","html_url":"https://github.com/x13a/py-minisign","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x13a%2Fpy-minisign","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x13a%2Fpy-minisign/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x13a%2Fpy-minisign/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x13a%2Fpy-minisign/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/x13a","download_url":"https://codeload.github.com/x13a/py-minisign/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224124875,"owners_count":17259746,"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","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":["crypto","ed25519","minisign","python","security"],"created_at":"2024-11-11T15:09:31.672Z","updated_at":"2025-04-28T17:30:30.539Z","avatar_url":"https://github.com/x13a.png","language":"Python","funding_links":["https://x13a.github.io/donate/"],"categories":[],"sub_categories":[],"readme":"py-minisign\n===========\n\nMissing python `minisign \u003chttps://github.com/jedisct1/minisign\u003e`_ library.\n\nInstall\n-------\n\n.. code:: shell\n\n    pip install py-minisign\n\nLibrary\n-------\n\n.. code:: python\n\n    import os\n    import minisign\n\n    # verify\n\n    pk = minisign.PublicKey.from_base64(\n        'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3')\n    sig = minisign.Signature.from_bytes(\n        b'untrusted comment: signature from minisign secret key\\n'\n        b'RWQf6LRCGA9i59SLOFxz6NxvASXDJeRtuZykwQepbDEGt87ig1BNpWaVWuNrm73YiIiJbq71Wi+dP9eKL8OC351vwIasSSbXxwA=\\n'\n        b'trusted comment: timestamp:1555779966\\tfile:test\\n'\n        b'QtKMXWyYcwdpZAlPF7tE2ENJkRd1ujvKjlj1m9RtHTBnZPa5WKU5uWRs5GoP5M/VqE81QFuMKI5k/SfNQUaOAA=='\n    )\n    pk.verify(b'test', sig)\n\n    # sign\n\n    sk = minisign.SecretKey.from_file('/path/to/secret.key')\n    sk.decrypt('strong_password')\n    sig = sk.sign(b'very important data')\n\n    # generate key pair\n\n    key_pair = minisign.KeyPair.generate()\n    sk = key_pair.secret_key\n    pk = key_pair.public_key\n\n    # save key\n\n    sk.encrypt('strong_password')\n    with open(os.open('/path/to/secret.key', os.O_CREAT | os.O_WRONLY, 0o600), 'wb') as f:\n        f.write(bytes(sk))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx13a%2Fpy-minisign","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fx13a%2Fpy-minisign","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx13a%2Fpy-minisign/lists"}