{"id":27620921,"url":"https://github.com/dheurtev/cryptopyutils","last_synced_at":"2025-04-23T07:33:14.902Z","repository":{"id":44354139,"uuid":"512203099","full_name":"dheurtev/cryptopyutils","owner":"dheurtev","description":"A high-level Python3 cryptography library using cryptography","archived":false,"fork":false,"pushed_at":"2022-07-09T17:19:34.000Z","size":165,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-20T17:04:44.854Z","etag":null,"topics":["administration","cryptography","development","python","python-3","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dheurtev.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-09T14:14:41.000Z","updated_at":"2022-07-09T14:24:22.000Z","dependencies_parsed_at":"2022-08-27T18:21:09.188Z","dependency_job_id":null,"html_url":"https://github.com/dheurtev/cryptopyutils","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dheurtev%2Fcryptopyutils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dheurtev%2Fcryptopyutils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dheurtev%2Fcryptopyutils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dheurtev%2Fcryptopyutils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dheurtev","download_url":"https://codeload.github.com/dheurtev/cryptopyutils/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250392529,"owners_count":21423087,"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":["administration","cryptography","development","python","python-3","python3"],"created_at":"2025-04-23T07:33:14.214Z","updated_at":"2025-04-23T07:33:14.884Z","avatar_url":"https://github.com/dheurtev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: https://img.shields.io/badge/-PyScaffold-005CA0?logo=pyscaffold\n    :alt: Project generated with PyScaffold\n    :target: https://pyscaffold.org/\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :alt: Style follow black\n    :target: https://github.com/psf/black\n\n.. _cryptographyurl: https://cryptography.io/en/latest/\n\n##############\ncryptopyutils\n##############\n\nHigh-level Python3 cryptography library using `cryptography \u003ccryptographyurl_\u003e`_ with sensible configurable defaults and CLI scripts.\n\n``cryptopyutils`` can be used to :\n\n* encrypt (\"derive\") and verify passwords.\n* generate, save and load Asymmetric encryption keys and certificates : \n  \n  * private keys/public keys (RSA, ED25519, ECDSA, DSA, etc).\n  * generate, save and load x509 Certificate Signing Request (CSR).\n  * generate, save and load x509 Certificates, particularly self-signed certificates, to be used in SSL applications.\n\n* encrypt or decrypt messages with RSA.\n* sign and verify messages with asymetric encryption. It works with small messages or in digest mode.\n* perform constant time comparisons between two series of bytes (prevents timing attacks).\n\nPlease provide feedback to `@dheurtevent1`_.\n\n.. _@dheurtevent1: http://twitter.com/dheurtevent1\n\n\n***********\nDisclaimer\n***********\n\n.. caution:: USE AT YOUR OWN RISK. Has been tested only on Ubuntu 20.04 (Linux) with python 3.9.12.\n\n****************\nHow to install\n****************\n\nRequirements\n=============\n\nThis library requires python ``cryptography``, ``distro`` and ``pyaml`` (for the CLI examples)\n\n.. code-block:: console\n\n  $ pip install cryptography distro pyaml\n\n\n`cryptography \u003ccryptographyurl_\u003e`_ uses openSSL as its backend engine.\n\n\nInstall the library\n======================\n\n.. code-block:: console\n\n  $ pip install cryptopyutils\n\n\n.. _usage:\n\n******\nUsage\n******\n\n* ``cryptopyutils`` is free open source software. It is released under `the Apache 2.0 licence \u003chttps://www.apache.org/licenses/LICENSE-2.0\u003e`_.\n* You are free to incorporate the library and/or its CLI in your open-source or proprietary projects.\n\n**To use the library**\n\nYou can read the following how to guides:\n\n* `How to : private key \u003chttps://cryptopyutils.readthedocs.io/en/latest/privatekey.html\u003e`_\n* `How to : public key \u003chttps://cryptopyutils.readthedocs.io/en/latest/publickey.html\u003e`_\n* `How to : password \u003chttps://cryptopyutils.readthedocs.io/en/latest/password.html\u003e`_\n\nYou can also read the source code of other examples.\n  \nIn addition, you can have a look at the `API \u003chttps://cryptopyutils.readthedocs.io/en/latest/api/modules.html\u003e`_ and at the source code\nin the `Github repository \u003chttps://github.com/dheurtev/cryptopyutils\u003e`_.\n\n**To use the CLI examples**\n\nYou can have a look at the CLI page.\n\n***************************\nCode quality and stability\n***************************\n\n* The code is documented, tested (\u003e70 tests) and provided with examples.\n* Defaults can be provided at run time by developers or can be modified in the config.py file. \n* The default values use the NIST recommendations and recommendations of the `cryptography` packages, as well as :\n\n  * https://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers.html\n  * https://soatok.blog/2022/05/19/guidance-for-choosing-an-elliptic-curve-signature-algorithm-in-2022\n  * https://www.keylength.com/en/4/\n\n* `cryptopyutils` has a goal of strong API stability policy: \n  \n  * Public API shall not be removed or renamed without providing a compatibility alias. \n  * The behavior of existing APIs shall not change. \n  * Exceptions to API stability are for security purposes to resolve security issues or harden the library against a possible attack or underlying changes in `cryptography`.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdheurtev%2Fcryptopyutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdheurtev%2Fcryptopyutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdheurtev%2Fcryptopyutils/lists"}