{ "info": { "author": "Leif Johansson", "author_email": "leifj@sunet.se", "bugtrack_url": null, "classifiers": [], "description": "python XML Security\n===================\n\n.. image:: https://img.shields.io/travis/IdentityPython/pyXMLSecurity.svg\n :target: https://travis-ci.org/IdentityPython/pyXMLSecurity\n :alt: Travis Build\n.. image:: https://img.shields.io/coveralls/leifj/pyXMLSecurity.svg\n :target: https://coveralls.io/r/leifj/pyXMLSecurity?branch=master\n :alt: Coverage\n.. image:: https://img.shields.io/requires/github/leifj/pyXMLSecurity.svg\n :target: https://requires.io/github/leifj/pyXMLSecurity/requirements/?branch=master\n :alt: Requirements Status\n.. image:: https://img.shields.io/codeclimate/github/leifj/pyXMLSecurity.svg\n :target: https://codeclimate.com/github/leifj/pyXMLSecurity\n :alt: Code Climate\n.. image:: https://img.shields.io/pypi/l/pyXMLSecurity.svg\n :target: https://github.com/leifj/pyXMLSecurity/blob/master/LICENSE.txt\n :alt: License\n.. image:: https://img.shields.io/pypi/format/pyXMLSecurity.svg\n :target: https://pypi.python.org/pypi/pyXMLSecurity\n :alt: Format\n.. image:: https://img.shields.io/pypi/v/pyXMLSecurity.svg\n :target: https://pypi.python.org/pypi/pyXMLSecurity\n :alt: PyPI Version\n\nThis is a python implementation of XML-Security - XML-DSIG only right now. There are no\ndependencies except lxml and pyca/cryptography currently.\n\nThis code was inspired by https://github.com/andrewdyates/xmldsig (this implementation is\na refactor and extension of that implementation) and in former versions used to include a\npure-python RSA implementation https://github.com/andrewdyates/rsa_x509_pem by and with\npermission from Andrew Yates. Cryptographic primitives are now provided by\npyca/cryptography (https://cryptography.io).\n\nIn order to sign with a PKCS#11-module you need to install pykcs11 (http://www.bit4id.org/pykcs11/)\n\nThis package is available under the NORDUnet BSD license (cf LICENSE.txt)\n\nLimitations:\n\n- only support for RSA-SHA1/256/512 signatures with PKCS1.5 padding\n- no encryption support\n\nSome of those limitations might be addressed. Patches and pull-requests are most welcome!\n\n\nNews\n====\n\n0.1\n---\n\n*Release date: UNRELEASED*\n\n* This is the first unreleased version of the code\n* http://github.com/leifj/pyXMLSecurity\n\n0.2\n---\n\n*Release date: Mon Aug 27 12:42:45 CEST 2012*\n\n* more rubust algorithm uri parsing\n* support for \"#\"-style IDs\n* partial support for elts with child-elements\n* make all exceptions an XMLSecException\n* first draft: sign\n* various cleanups\n\n0.3\n---\n\n*Release date: Tue Aug 28 09:46:47 CEST 2012*\n\n* handle #-style references (remove top-level comments and PIs)\n* don't unescape & < and >\n* don't give empty inclusive ns prefix list to c14n\n* move exception to separate file\n* first version of the pkcs11 shim layer\n\n0.4\n---\n\n*Release date: Wed Aug 29 12:43:05 CEST 2012*\n\n* starting on tests\n* cleanup pkcs11 layer\n* various bugfixes and cleanup\n\n0.5\n---\n\n*Release date: Wed Sep 5 11:52:58 CEST 2012*\n\n* Fix bug when signing using non-p11 keys\n* More robust PEM-unfolding\n\n0.6\n---\n\n*Release date: Fri Nov 30 10:29:03 CET 2012*\n\n* Allow Reference@URI to be passed as argument\n\n0.7\n---\n\n*Release date: Mon Feb 4 15:53:32 CET 2013*\n\n* Minor fixes\n\n0.8\n---\n\n*Release date: Wed Apr 3 09:05:53 CEST 2013*\n\n* Multiple bugfixes\n* More SAML and P11 testcases\n\n0.9\n---\n\n*Release date: Mon Jun 24 11:24:20 CEST 2013*\n\n* Bugfixes\n* Protection against wrapping attacks (new API!)\n\n0.10\n------\n\n*Release date: Thu Sep 12 20:16:04 CEST 2013*\n\n* fix PEM parser bug\n* switch to semantic versioning\n\n0.11\n------\n\n*Release date: Fri Oct 11 17:06:53 CEST 2013*\n\n* better control over the position of the signature element\n\n0.12\n----\n\n*Release date: Wed Dec 4 15:00:29 CET 2013*\n\n* use pyconfig to control configuration parameters\n* support sha2 algorithms\n* several bugfixes for c14n\n\n0.13\n----\n\n*Release date: l\u00f6r 22 mar 2014 10:44:49 CET*\n\n* various unicode fixes related to pkcs#11\n* skip certain tests unless opensc is installed\n* use existing SignatureValue if present\n* various fixes from Fredrik T and Maya W\n\n0.14\n----\n\n*Release date: Mon Dec 1 08:58:54 CET 2014*\n\n* Add explicit call to C_Initialize\n* Various bugs fixed - from Fredrik T\n* Allow caller control over session close\n\n0.15\n----\n\n*Release date: m\u00e5n 16 nov 2015 13:40:26 CET*\n\n* xmlsign: a simple sign cmdline tool\n* optionally drop signatures when validating\n* avoid logging keysize in p11 case\n* put a lock around pyasn1 parser\n* make cert loading thread safe\n* bugfixes\n\n0.16\n----\n\n*Release ons 13 dec 2017 21:10:29 CET*\n\n* crypto abstraction\n* switch to sha256 default\n* verify and sign cmdline tools\n* lots of bugfixes\n\n0.17\n----\n\n*Release tor 14 dec 2017 12:27:48 CET*\n\n* fix base64 bug\n* fix bug in cmdline verify serialization\n\n0.18\n----\n\n*Release fre 25 maj 2018 19:43:54 CEST*\n\n* fix verification bug affecting sha512\n\n0.19\n----\n\n*Release tis 22 jan 2019 13:53:49 CET*\n\n* python3 compatibility\n* fix private key leak issue\n* P11 fixes\n* test improvements\n\n0.20\n----\n*Release tis 10 sep 2019 19:41:58 CEST*\n\n* more p3 compat\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://blogs.mnt.se", "keywords": "xml xml-dsig security digital signature rsa", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "pyXMLSecurity", "package_url": "https://pypi.org/project/pyXMLSecurity/", "platform": "", "project_url": "https://pypi.org/project/pyXMLSecurity/", "project_urls": { "Homepage": "http://blogs.mnt.se" }, "release_url": "https://pypi.org/project/pyXMLSecurity/0.20/", "requires_dist": null, "requires_python": "", "summary": "pure Python XML Security", "version": "0.20" }, "last_serial": 5810360, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "24188db7cd052560da044a8833e4a61e", "sha256": "95bcad7bf6c6ff945b6978d382f581c4672f6d1ba2ccc19773342253ac1d8a3f" }, "downloads": -1, "filename": "pyXMLSecurity-0.10.0.tar.gz", "has_sig": false, "md5_digest": "24188db7cd052560da044a8833e4a61e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48679, "upload_time": "2013-09-12T18:17:22", "url": "https://files.pythonhosted.org/packages/fd/4e/b8a3b1a44b466c4163c591f509c41af9a66f03b399c4c6eb38afba6116b2/pyXMLSecurity-0.10.0.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "aaae7251f88f3c664e1e513c6b4f712f", "sha256": "39ce4ed075854a4d962db5db103eed5b94a8f3af2428296a52d9c147807c527e" }, "downloads": -1, "filename": "pyXMLSecurity-0.11.tar.gz", "has_sig": false, "md5_digest": "aaae7251f88f3c664e1e513c6b4f712f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49299, "upload_time": "2013-10-11T20:01:07", "url": "https://files.pythonhosted.org/packages/4f/a2/cff3fdd41fc3120004553a87f2dad68f87495dda919c5ef879fc0b7d3e00/pyXMLSecurity-0.11.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "0646532b2416bb8c54aadda53dcbdc41", "sha256": "e06ef3922089ca501a0659e171eb00ef574fd74eb8f20a08caef43105b33de00" }, "downloads": -1, "filename": "pyXMLSecurity-0.12.tar.gz", "has_sig": false, "md5_digest": "0646532b2416bb8c54aadda53dcbdc41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50608, "upload_time": "2013-12-04T14:02:35", "url": "https://files.pythonhosted.org/packages/54/33/670c66bffde22e869d11cf1afa881a573de0f66eca3a4f992268cefd725b/pyXMLSecurity-0.12.tar.gz" } ], "0.13": [ { "comment_text": "", "digests": { "md5": "7eb0fb718086d353d13b22d7eb1f7661", "sha256": "4493293fbfd6f5075b03d418be700581dc3d3d61838c239135f01a871e4acc24" }, "downloads": -1, "filename": "pyXMLSecurity-0.13.tar.gz", "has_sig": false, "md5_digest": "7eb0fb718086d353d13b22d7eb1f7661", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51090, "upload_time": "2014-03-22T09:46:59", "url": "https://files.pythonhosted.org/packages/35/19/95a54056b9bee4c2e3a199e1d0a2089b581849f7cb39f5a28f2084c622ad/pyXMLSecurity-0.13.tar.gz" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "3f682265e6d8cbb900565cae25695d5a", "sha256": "9fb4bf69d327053ab2c89331650f8155a093d9504d99d2fb7d683ce6b7582d9c" }, "downloads": -1, "filename": "pyXMLSecurity-0.14.tar.gz", "has_sig": false, "md5_digest": "3f682265e6d8cbb900565cae25695d5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51855, "upload_time": "2014-12-01T08:01:15", "url": "https://files.pythonhosted.org/packages/38/87/a487e3d65afdd8d55ecccf530be75a24fd26d9af1499d3f6b44f8b68c558/pyXMLSecurity-0.14.tar.gz" } ], "0.15": [ { "comment_text": "", "digests": { "md5": "222ffca79366e2af730285859f95e2ee", "sha256": "c409e3cf16addf204eac15d872ab04bdfcf046d0dd56bdfde9f7fde1c78bdcfb" }, "downloads": -1, "filename": "pyXMLSecurity-0.15.tar.gz", "has_sig": false, "md5_digest": "222ffca79366e2af730285859f95e2ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53175, "upload_time": "2015-11-16T12:41:57", "url": "https://files.pythonhosted.org/packages/27/01/7bf230f2b3c53a2989b25dcac196cd75bd2044badf7938fcded1066f7a03/pyXMLSecurity-0.15.tar.gz" } ], "0.16": [ { "comment_text": "", "digests": { "md5": "ee782529836d83e30eec1f3e38ee07cb", "sha256": "4bb94afcd422b828472392fa481ac4ccce9fef1d53d1df466517ad879fae862b" }, "downloads": -1, "filename": "pyXMLSecurity-0.16.tar.gz", "has_sig": false, "md5_digest": "ee782529836d83e30eec1f3e38ee07cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56469, "upload_time": "2017-12-13T20:18:59", "url": "https://files.pythonhosted.org/packages/13/e7/44ffd825f7af77fb68f88b36ddce1ca29bc401bbc1e69768676b954c326b/pyXMLSecurity-0.16.tar.gz" } ], "0.17": [ { "comment_text": "", "digests": { "md5": "bfdd93cf3fc558be2c661c1345f5d9dd", "sha256": "fe6abf0ecde63476a9ae234eb56cca92ca17ffa3f560a00f980358f243ceabd7" }, "downloads": -1, "filename": "pyXMLSecurity-0.17.tar.gz", "has_sig": false, "md5_digest": "bfdd93cf3fc558be2c661c1345f5d9dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56555, "upload_time": "2017-12-14T11:29:41", "url": "https://files.pythonhosted.org/packages/4a/f3/1d313bfa3d82e5934373cddddf94b11e558ed6e82ef717e84697bdc34f6e/pyXMLSecurity-0.17.tar.gz" } ], "0.18": [ { "comment_text": "", "digests": { "md5": "5cdb89e392809a019464d27d0df58579", "sha256": "3c5969d92d2389b972022243ec463f43116a5ee05c0dab4d7faf1205d61ffa2a" }, "downloads": -1, "filename": "pyXMLSecurity-0.18.tar.gz", "has_sig": false, "md5_digest": "5cdb89e392809a019464d27d0df58579", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57166, "upload_time": "2018-05-25T17:46:17", "url": "https://files.pythonhosted.org/packages/e3/fc/fd0b52150cd9e9e036b8ee71dc0257e43ea9c8153f683b8f8911a7fba16a/pyXMLSecurity-0.18.tar.gz" } ], "0.19": [ { "comment_text": "", "digests": { "md5": "da8d8950e92334c8000f66115f06b622", "sha256": "255212adec3abdea7a2ed5d71ec76477a2ba8410c817bcef90ba8b3bae02363b" }, "downloads": -1, "filename": "pyXMLSecurity-0.19-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da8d8950e92334c8000f66115f06b622", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 30731, "upload_time": "2019-01-22T14:59:25", "url": "https://files.pythonhosted.org/packages/06/a1/f6202e749a8658e188eaf523741dc0f7e120c35f328d007ec2ea57c593d9/pyXMLSecurity-0.19-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ea6d75c310db940dd66ce0a3d9a379c", "sha256": "bdcd9557b6815530dd043561d6c331ea51ef8e4240bd5e10ceee81e9e9f00b60" }, "downloads": -1, "filename": "pyXMLSecurity-0.19.tar.gz", "has_sig": false, "md5_digest": "1ea6d75c310db940dd66ce0a3d9a379c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27540, "upload_time": "2019-01-22T13:02:00", "url": "https://files.pythonhosted.org/packages/d8/14/2fe830439c907e271c11bf0d2142af141672f037f2535ab6c219c1d71a36/pyXMLSecurity-0.19.tar.gz" } ], "0.20": [ { "comment_text": "", "digests": { "md5": "17f213c55dfa624795567622c7f189af", "sha256": "0d8b91c5d7164ef268918c2cfc70bff5d87b79cd33fe2b23c48f31ebfd4cc7d6" }, "downloads": -1, "filename": "pyXMLSecurity-0.20-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17f213c55dfa624795567622c7f189af", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 30774, "upload_time": "2019-09-10T17:45:09", "url": "https://files.pythonhosted.org/packages/05/b5/b1e45614c6066d098743440db410fac7f222c0a1ba425f9c1b390108d279/pyXMLSecurity-0.20-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "491ed659aeed5634f65e9049e807af51", "sha256": "0f25c332e9644f7bc62718c62bb47864821578242de0743b9a4f97d6d0562d0f" }, "downloads": -1, "filename": "pyXMLSecurity-0.20.tar.gz", "has_sig": false, "md5_digest": "491ed659aeed5634f65e9049e807af51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27640, "upload_time": "2019-09-10T17:44:29", "url": "https://files.pythonhosted.org/packages/20/cf/c839c7f9bb6efe404f301f1f1d91980311f1272836ab59f660ef53874c7e/pyXMLSecurity-0.20.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "4e8bb965acf5dbe10e8e34a6c6f1fd60", "sha256": "eb4523a5d2e60d3e65970ecde943e95221139a12f679f631f8804e2b4b1c725d" }, "downloads": -1, "filename": "pyXMLSecurity-0.7.tar.gz", "has_sig": false, "md5_digest": "4e8bb965acf5dbe10e8e34a6c6f1fd60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44384, "upload_time": "2013-02-04T14:55:25", "url": "https://files.pythonhosted.org/packages/68/f6/0f31db17826a4794ae2393552f138aa4ba883a14ee874230075fbd166075/pyXMLSecurity-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "c5bc5335bdbf54fd224efe5ce56e9d95", "sha256": "fe4e10d5888e5bcb28cf60b576d0ab617b7a84743f6b6f745c7df6391d68f0b0" }, "downloads": -1, "filename": "pyXMLSecurity-0.8.tar.gz", "has_sig": false, "md5_digest": "c5bc5335bdbf54fd224efe5ce56e9d95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47687, "upload_time": "2013-04-03T07:08:22", "url": "https://files.pythonhosted.org/packages/17/8d/4caf4aeb4d20d2d243d6990a90eaaf4e077da50a4cf217432a73f2159043/pyXMLSecurity-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "86af2be60f7c05070effb80793e9b54c", "sha256": "80657567e17c86c65c06e50e078916ff6c9aa7580833a8224313f8439b51cf9e" }, "downloads": -1, "filename": "pyXMLSecurity-0.9.tar.gz", "has_sig": false, "md5_digest": "86af2be60f7c05070effb80793e9b54c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48580, "upload_time": "2013-06-24T09:25:44", "url": "https://files.pythonhosted.org/packages/a5/0b/4cf73c743c2693ae7165af3965155793038d5097e14c7a81f0d26ce7ff75/pyXMLSecurity-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "17f213c55dfa624795567622c7f189af", "sha256": "0d8b91c5d7164ef268918c2cfc70bff5d87b79cd33fe2b23c48f31ebfd4cc7d6" }, "downloads": -1, "filename": "pyXMLSecurity-0.20-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17f213c55dfa624795567622c7f189af", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 30774, "upload_time": "2019-09-10T17:45:09", "url": "https://files.pythonhosted.org/packages/05/b5/b1e45614c6066d098743440db410fac7f222c0a1ba425f9c1b390108d279/pyXMLSecurity-0.20-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "491ed659aeed5634f65e9049e807af51", "sha256": "0f25c332e9644f7bc62718c62bb47864821578242de0743b9a4f97d6d0562d0f" }, "downloads": -1, "filename": "pyXMLSecurity-0.20.tar.gz", "has_sig": false, "md5_digest": "491ed659aeed5634f65e9049e807af51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27640, "upload_time": "2019-09-10T17:44:29", "url": "https://files.pythonhosted.org/packages/20/cf/c839c7f9bb6efe404f301f1f1d91980311f1272836ab59f660ef53874c7e/pyXMLSecurity-0.20.tar.gz" } ] }