High-level Python3 cryptography library using `cryptography` with sensible defaults and CLI scripts.
Project description
cryptopyutils
High-level Python3 cryptography library using cryptography with sensible configurable defaults and CLI scripts.
cryptopyutils can be used to :
encrypt (“derive”) and verify passwords.
generate, save and load Asymmetric encryption keys and certificates :
private keys/public keys (RSA, ED25519, ECDSA, DSA, etc).
generate, save and load x509 Certificate Signing Request (CSR).
generate, save and load x509 Certificates, particularly self-signed certificates, to be used in SSL applications.
encrypt or decrypt messages with RSA.
sign and verify messages with asymetric encryption. It works with small messages or in digest mode.
perform constant time comparisons between two series of bytes (prevents timing attacks).
Please provide feedback to @dheurtevent1.
Disclaimer
How to install
Requirements
This library requires python cryptography, distro and pyaml (for the CLI examples)
$ pip install cryptography distro pyaml
cryptography uses openSSL as its backend engine.
Install the library
$ pip install cryptopyutils
Usage
cryptopyutils is free open source software. It is released under the Apache 2.0 licence.
You are free to incorporate the library and/or its CLI in your open-source or proprietary projects.
To use the library
You can read the following how to guides:
You can also read the source code of other examples.
In addition, you can have a look at the API and at the source code in the Github repository.
To use the CLI examples
You can have a look at the CLI page.
Code quality and stability
The code is documented, tested (>70 tests) and provided with examples.
Defaults can be provided at run time by developers or can be modified in the config.py file.
The default values use the NIST recommendations and recommendations of the cryptography packages, as well as :
cryptopyutils has a goal of strong API stability policy:
Public API shall not be removed or renamed without providing a compatibility alias.
The behavior of existing APIs shall not change.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cryptopyutils-0.1.0.tar.gz
.
File metadata
- Download URL: cryptopyutils-0.1.0.tar.gz
- Upload date:
- Size: 73.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89d467c8ec112bb813aa49f4a84f137369f36e6c1e25f595d705c9ffa06f7f10 |
|
MD5 | 1768c88dc9cb7f361249d4aff942f252 |
|
BLAKE2b-256 | 5a5e139719cc2ba4776898967a4febb5bc1025b226aaff9168f68ffd6b116796 |
File details
Details for the file cryptopyutils-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: cryptopyutils-0.1.0-py3-none-any.whl
- Upload date:
- Size: 45.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 929d244efec61af328cc969e9bd3a2f765a8edfff2d939bda3897ad819459f2f |
|
MD5 | a61093b27f00148fcb3eff79ec67b67e |
|
BLAKE2b-256 | 878b01e3d081b4bd90afac99c211c86352e49d8c57bd2767be108a678743069c |