diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2020-09-05 21:56:34 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2020-09-05 22:30:04 +0300 |
commit | de3c03a47160dec355d9b19ad5ca210d90c15fd7 (patch) | |
tree | 4ca6dc05b5fc9530d812bbb269f1c61ab9efccf3 /gnu/packages/python-crypto.scm | |
parent | ab6fe9d362046231ad6f46eccfd1ea2c9c80b401 (diff) | |
parent | b8477cab7bccc4191ed3dfa3f149aec7917834d8 (diff) | |
download | guix-de3c03a47160dec355d9b19ad5ca210d90c15fd7.tar.gz |
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'gnu/packages/python-crypto.scm')
-rw-r--r-- | gnu/packages/python-crypto.scm | 135 |
1 files changed, 128 insertions, 7 deletions
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 41d15f80e1..6b81b80860 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> @@ -22,6 +22,8 @@ ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> +;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,8 +55,10 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-check) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages swig) #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module ((guix licenses) #:prefix license:) @@ -205,14 +209,13 @@ This package provides a Python interface for BLAKE2.") (define-public python-paramiko (package (name "python-paramiko") - (version "2.7.1") + (version "2.7.2") (source (origin (method url-fetch) (uri (pypi-uri "paramiko" version)) (sha256 - (base32 - "17wx8lkhqxmddfdq7z7x45xqq2w3gwa974hpq1n3y0dqbn4r414j")))) + (base32 "0dahwq623jnna7gsr9j0mkwr9k2n1pvkapjryhcx508d5jxg8dkz")))) (build-system python-build-system) (arguments `(;; FIXME: Tests require many unpackaged libraries, see dev-requirements.txt. @@ -1018,6 +1021,7 @@ in userspace) (base32 "09yirf3w77w6f49q6nxhrjm9c3a4y9s30s1k09chqrw8zdgx8sjc")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) + (native-inputs `(("swig" ,swig))) (home-page "https://gitlab.com/m2crypto/m2crypto") (synopsis "Python crypto and TLS toolkit") (description "@code{M2Crypto} is a complete Python wrapper for OpenSSL @@ -1351,17 +1355,76 @@ items and collections, editing items, locking and unlocking collections (asynchronous unlocking is also supported).") (license license:bsd-3))) +(define-public python-trustme + (package + (name "python-trustme") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "trustme" version)) + (sha256 + (base32 "0v3vr5z6apnfmklf07m45kv5kaqvm6hxrkaqywch57bjd2siiywx")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-vv")))))) + (native-inputs + `(("python-more-itertools" ,python-more-itertools) + ("python-pyopenssl" ,python-pyopenssl) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-service-identity" ,python-service-identity) + ("python-zipp" ,python-zipp))) + (propagated-inputs + `(("python-cryptography" ,python-cryptography))) + (home-page "https://github.com/python-trio/trustme") + (synopsis "Fake a certificate authority for tests") + (description + "@code{trustme} is a tiny Python package that does one thing: it gives you +a fake certificate authority (CA) that you can use to generate fake TLS certs to +use in your tests.") + ;; Either license applies. + (license (list license:expat license:asl2.0)))) + +(define-public python-certipy + (package + (name "python-certipy") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "certipy" version)) + (sha256 + (base32 + "0n980gqpzh0fm58h3i4mi2i10wgj606lscm1r5sk60vbf6vh8mv9")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pyopenssl" ,python-pyopenssl))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/LLNL/certipy") + (synopsis "Utility to create and sign CAs and certificates") + (description + "Certipy was made to simplify the certificate creation process. To that +end, certipy exposes methods for creating and managing certificate authorities, +certificates, signing and building trust bundles.") + (license license:bsd-3))) + (define-public python-jeepney (package (name "python-jeepney") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (pypi-uri "jeepney" version)) (sha256 - (base32 - "1fz9lb5fl831sijg2j0sbki698j2z6awbblas7mz3gp9jz2xi9hb")))) + (base32 "0vp3p1lqhqk2kd3254q5sxr50znmm2hmysc8a7g0fr1brihvhy9l")))) (build-system python-build-system) (native-inputs `(("python-testpath" ,python-testpath) @@ -1451,3 +1514,61 @@ can decide how long it takes to hash a password and how much memory is required. data such as API keys, cryptocurrency wallets, or seeds for digital signatures.") (license (list license:expat license:asl2.0)))) ; dual licensed + +(define-public python-pgpy + (package + (name "python-pgpy") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "PGPy" version)) + (sha256 + (base32 + "0i4lqhzdwkjkim3wab0kqadx28z3r5ixlh6qxj4lif4gif56c0m7")))) + (build-system python-build-system) + (native-inputs + `(("python-cryptography" ,python-cryptography) + ("python-pyasn1" ,python-pyasn1) + ("python-singledispatch" ,python-singledispatch) + ("python-six" ,python-six))) + (home-page "https://github.com/SecurityInnovation/PGPy") + (synopsis "Python implementation of OpenPGP") + (description + "Currently, PGPy can load keys and signatures of all kinds in both ASCII +armored and binary formats. + +It can create and verify RSA, DSA, and ECDSA signatures, at the moment. It +can also encrypt and decrypt messages using RSA and ECDH.") + (license license:bsd-3))) + +(define-public python-sop + (package + (name "python-sop") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sop" version)) + (sha256 + (base32 + "0gljyjsdn6hdmwlwwb5g5s0c031p6izamvfxp0d39x60af8k5jyf")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; There are no tests, and unittest throws an error trying + ; to find some: + ; TypeError: don't know how to make test from: 0.2.0 + (home-page "https://gitlab.com/dkg/python-sop") + (synopsis "Stateless OpenPGP Command-Line Interface") + (description + "The Stateless OpenPGP Command-Line Interface (or sop) is a +specification that encourages OpenPGP implementors to provide a common, +relatively simple command-line API for purposes of object security. + +This Python module helps implementers build such a CLI from any implementation +accessible to the Python interpreter. + +It does not provide such an implementation itself -- this is just the +scaffolding for the command line, which should make it relatively easy to +supply a handful of python functions as methods to a class.") + (license license:expat))) ; MIT license |