{ "info": { "author": "wbond", "author_email": "will@wbond.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Security :: Cryptography" ], "description": "# oscrypto\n\nA compilation-free, always up-to-date encryption library for Python that works\non Windows, OS X, Linux and BSD. Supports the following versions of Python:\n2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8 and pypy.\n\n - [Supported Operating Systems](#supported-operationg-systems)\n - [Features](#features)\n - [Why Another Python Crypto Library?](#why-another-python-crypto-library)\n - [Related Crypto Libraries](#related-crypto-libraries)\n - [Current Release](#current-release)\n - [Dependencies](#dependencies)\n - [Installation](#installation)\n - [License](#license)\n - [Documentation](#documentation)\n - [Continuous Integration](#continuous-integration)\n - [Testing](#testing)\n - [Development](#development)\n - [CI Tasks](#ci-tasks)\n\n[![GitHub Actions CI](https://github.com/wbond/oscrypto/workflows/CI/badge.svg)](https://github.com/wbond/oscrypto/actions?workflow=CI)\n[![Travis CI](https://api.travis-ci.org/wbond/oscrypto.svg?branch=master)](https://travis-ci.org/wbond/oscrypto)\n[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/wbond/oscrypto?branch=master&svg=true)](https://ci.appveyor.com/project/wbond/oscrypto)\n[![CircleCI](https://circleci.com/gh/wbond/oscrypto.svg?style=shield)](https://circleci.com/gh/wbond/oscrypto)\n[![Codecov](https://codecov.io/gh/wbond/oscrypto/branch/master/graph/badge.svg)](https://codecov.io/gh/wbond/oscrypto)\n[![PyPI](https://img.shields.io/pypi/v/oscrypto.svg)](https://pypi.python.org/pypi/oscrypto)\n\n## Supported Operating Systems\n\nThe library integrates with the encryption library that is part of the operating\nsystem. This means that a compiler is never needed, and OS security updates take\ncare of patching vulnerabilities. Supported operating systems include:\n\n - Windows XP or newer\n - Uses:\n - [Cryptography API: Next Generation (CNG)](https://msdn.microsoft.com/en-us/library/windows/desktop/aa376210(v=vs.85).aspx)\n - [Secure Channel](https://msdn.microsoft.com/en-us/library/windows/desktop/aa380123(v=vs.85).aspx) for TLS\n - [CryptoAPI](https://msdn.microsoft.com/en-us/library/windows/desktop/aa380256(v=vs.85).aspx) for trust lists and XP support\n - Tested on:\n - Windows XP (no SNI)\n - Windows 7\n - Windows 8.1\n - Windows Server 2012\n - Windows 10\n - OS X 10.7 or newer\n - Uses:\n - [Security.framework](https://developer.apple.com/library/prerelease/mac/documentation/Security/Reference/SecurityFrameworkReference/index.html)\n - [Secure Transport](https://developer.apple.com/library/prerelease/mac/documentation/Security/Reference/secureTransportRef/index.html#//apple_ref/doc/uid/TP30000155) for TLS\n - [CommonCrypto](http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-55010/CommonCrypto/) for PBKDF2\n - OpenSSL (or LibreSSL on macOS 10.13) for the PKCS #12 KDF\n - Tested on:\n - OS X 10.7\n - OS X 10.8\n - OS X 10.9\n - OS X 10.10\n - OS X 10.11\n - OS X 10.11 with OpenSSL 1.1.0\n - macOS 10.12\n - macOS 10.13 with LibreSSL 2.2.7\n - macOS 10.14\n - Linux or BSD\n - Uses one of:\n - [OpenSSL 0.9.8](https://www.openssl.org/docs/man0.9.8/)\n - [OpenSSL 1.0.x](https://www.openssl.org/docs/man1.0.0/)\n - [OpenSSL 1.1.0](https://www.openssl.org/docs/man1.1.0/)\n - [LibreSSL](http://www.libressl.org/)\n - Tested on:\n - Arch Linux with OpenSSL 1.0.2\n - OpenBSD 5.7 with LibreSSL\n - Ubuntu 10.04 with OpenSSL 0.9.8\n - Ubuntu 12.04 with OpenSSL 1.0.1\n - Ubuntu 15.04 with OpenSSL 1.0.1\n - Ubuntu 16.04 with OpenSSL 1.0.2 on Raspberry Pi 3 (armhf)\n\n*OS X 10.6 will not be supported due to a lack of available\ncryptographic primitives and due to lack of vendor support.*\n\n## Features\n\nCurrently the following features are implemented. Many of these should only be\nused for integration with existing/legacy systems. If you don't know which you\nshould, or should not use, please see [Learning](docs/readme.md#learning).\n\n - [TLSv1.x socket wrappers](docs/tls.md)\n - Certificate verification performed by OS trust roots\n - Custom CA certificate support\n - SNI support (except Windows XP)\n - Session reuse via IDs/tickets\n - Modern cipher suites (RC4, DES, anon and NULL ciphers disabled)\n - Weak DH parameters and certificate signatures rejected\n - SSLv3 disabled by default, SSLv2 unimplemented\n - CRL/OCSP revocation checks consistenty disabled\n - [Exporting OS trust roots](docs/trust_list.md)\n - PEM-formatted CA certs from the OS for OpenSSL-based code\n - [Encryption/decryption](docs/symmetric.md)\n - AES (128, 192, 256), CBC mode, PKCS7 padding\n - AES (128, 192, 256), CBC mode, no padding\n - TripleDES 3-key, CBC mode, PKCS5 padding\n - TripleDes 2-key, CBC mode, PKCS5 padding\n - DES, CBC mode, PKCS5 padding\n - RC2 (40-128), CBC mode, PKCS5 padding\n - RC4 (40-128)\n - RSA PKCSv1.5\n - RSA OAEP (SHA1 only)\n - [Generating public/private key pairs](docs/asymmetric.md)\n - RSA (1024, 2048, 3072, 4096 bit)\n - DSA (1024 bit on all platforms - 2048, 3072 bit with OpenSSL 1.x or\n Windows 8)\n - EC (secp256r1, secp384r1, secp521r1 curves)\n - [Generating DH parameters](docs/asymmetric.md)\n - [Signing and verification](docs/asymmetric.md)\n - RSA PKCSv1.5\n - RSA PSS\n - DSA\n - EC\n - [Loading and normalizing DER and PEM formatted keys](docs/keys.md)\n - RSA public and private keys\n - DSA public and private keys\n - EC public and private keys\n - X.509 Certificates\n - PKCS#12 archives (`.pfx`/`.p12`)\n - [Key derivation](docs/kdf.md)\n - PBKDF2\n - PBKDF1\n - PKCS#12 KDF\n - [Random byte generation](docs/util.md)\n\nThe feature set was largely driven by the technologies used related to\ngenerating and validating X.509 certificates. The various CBC encryption schemes\nand KDFs are used to load encrypted private keys, and the various RSA padding\nschemes are part of X.509 signatures.\n\nFor modern cryptography not tied to an existing system, please see the\n[Modern Cryptography](docs/readme.md#modern-cryptography) section of the docs.\n\n*Please note that this library does not include modern block modes such as CTR\nand GCM due to lack of support from both OS X and OpenSSL 0.9.8.*\n\n## Why Another Python Crypto Library?\n\nIn short, the existing cryptography libraries for Python didn't fit the needs of\na couple of projects I was working on. Primarily these are applications\ndistributed to end-users who aren't programmers, that need to handle TLS and\nvarious technologies related to X.509 certificates.\n\nIf your system is not tied to AES, TLS, X.509, or related technologies, you\nprobably want [more modern cryptography](docs/readme.md#modern-cryptography).\n\nDepending on your needs, the [cryptography](https://cryptography.io) package may\nbe a good (or better) fit.\n\nSome things that make oscrypto unique:\n\n - No compiler needed, ever. No need to pre-compile shared libraries. Just\n distribute the Python source files, any way you want.\n - Uses the operating system's crypto library - does not require OpenSSL on\n Windows or OS X.\n - Relies on the operating system for security patching. You don't need to\n rebuild all of your apps every time there is a new TLS vulnerability.\n - Intentionally limited in scope to crypto primitives. Other libraries\n built upon it deal with certificate path validation, creating certificates\n and CSRs, constructing CMS structures.\n - Built on top of a fast, pure-Python ASN.1 parser,\n [asn1crypto](https://github.com/wbond/asn1crypto).\n - TLS functionality uses the operating system's trust list/CA certs and is\n pre-configured with sane defaults\n - Public APIs are simple and use strict type checks to avoid errors\n\nSome downsides include:\n\n - Does not currently implement:\n - standalone DH key exchange\n - various encryption modes such as GCM, CCM, CTR, CFB, OFB, ECB\n - key wrapping\n - CMAC\n - HKDF\n - Non-TLS functionality is architected for dealing with data that fits in\n memory and is available all at once\n - Developed by a single developer\n\n## Related Crypto Libraries\n\n*oscrypto* is part of the modularcrypto family of Python packages:\n\n - [asn1crypto](https://github.com/wbond/asn1crypto)\n - [oscrypto](https://github.com/wbond/oscrypto)\n - [csrbuilder](https://github.com/wbond/csrbuilder)\n - [certbuilder](https://github.com/wbond/certbuilder)\n - [crlbuilder](https://github.com/wbond/crlbuilder)\n - [ocspbuilder](https://github.com/wbond/ocspbuilder)\n - [certvalidator](https://github.com/wbond/certvalidator)\n\n## Current Release\n\n1.1.0 - [changelog](changelog.md)\n\n## Dependencies\n\n - [*asn1crypto*](https://github.com/wbond/asn1crypto)\n - Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8 or pypy\n\n## Installation\n\n```bash\npip install oscrypto\n```\n\n## License\n\n*oscrypto* is licensed under the terms of the MIT license. See the\n[LICENSE](LICENSE) file for the exact license text.\n\n## Documentation\n\n[*oscrypto* documentation](docs/readme.md)\n\n## Continuous Integration\n\n - [Windows](https://ci.appveyor.com/project/wbond/oscrypto/history) via AppVeyor\n - [OS X](https://circleci.com/gh/wbond/oscrypto) via CircleCI\n - [Linux](https://travis-ci.org/wbond/oscrypto/builds) via Travis CI\n - [Test Coverage](https://codecov.io/gh/wbond/oscrypto/commits) via Codecov\n\n## Testing\n\nTests are written using `unittest` and require no third-party packages.\n\nDepending on what type of source is available for the package, the following\ncommands can be used to run the test suite.\n\n### Git Repository\n\nWhen working within a Git working copy, or an archive of the Git repository,\nthe full test suite is run via:\n\n```bash\npython run.py tests\n```\n\nTo run only some tests, pass a regular expression as a parameter to `tests`.\n\n```bash\npython run.py tests aes\n```\n\nTo run tests multiple times, in order to catch edge-case bugs, pass an integer\nto `tests`. If combined with a regular expression for filtering, pass the\nrepeat count after the regular expression.\n\n```bash\npython run.py tests 20\npython run.py tests aes 20\n```\n\nTo run tests using a custom build of OpenSSL, or to use OpenSSL on Windows or\nMac, add `use_openssl` after `run.py`, like:\n\n```bash\npython run.py use_openssl=/path/to/libcrypto.dylib,/path/to/libssl.dylib tests\n```\n\n### PyPi Source Distribution\n\nWhen working within an extracted source distribution (aka `.tar.gz`) from\nPyPi, the full test suite is run via:\n\n```bash\npython setup.py test\n```\n\n### Package\n\nWhen the package has been installed via pip (or another method), the package\n`oscrypto_tests` may be installed and invoked to run the full test suite:\n\n```bash\npip install oscrypto_tests\npython -m oscrypto_tests\n```\n\n## Development\n\nTo install the package used for linting, execute:\n\n```bash\npip install --user -r requires/lint\n```\n\nThe following command will run the linter:\n\n```bash\npython run.py lint\n```\n\nSupport for code coverage can be installed via:\n\n```bash\npip install --user -r requires/coverage\n```\n\nCoverage is measured by running:\n\n```bash\npython run.py coverage\n```\n\nTo install the packages requires to generate the API documentation, run:\n\n```bash\npip install --user -r requires/api_docs\n```\n\nThe documentation can then be generated by running:\n\n```bash\npython run.py api_docs\n```\n\nTo install the necessary packages for releasing a new version on PyPI, run:\n\n```bash\npip install --user -r requires/release\n```\n\nReleases are created by:\n\n - Making a git tag in [semver](http://semver.org/) format\n - Running the command:\n\n ```bash\n python run.py release\n ```\n\nExisting releases can be found at https://pypi.python.org/pypi/oscrypto.\n\n## CI Tasks\n\nA task named `deps` exists to download and stage all necessary testing\ndependencies. On posix platforms, `curl` is used for downloads and on Windows\nPowerShell with `Net.WebClient` is used. This configuration sidesteps issues\nrelated to getting pip to work properly and messing with `site-packages` for\nthe version of Python being used.\n\nThe `ci` task runs `lint` (if flake8 is avaiable for the version of Python) and\n`coverage` (or `tests` if coverage is not available for the version of Python).\nIf the current directory is a clean git working copy, the coverage data is\nsubmitted to codecov.io.\n\n```bash\npython run.py deps\npython run.py ci\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wbond/oscrypto", "keywords": "crypto pki tls ssl x509 certificate encrypt decrypt sign verify rsa dsa ec dh", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "oscrypto", "package_url": "https://pypi.org/project/oscrypto/", "platform": "", "project_url": "https://pypi.org/project/oscrypto/", "project_urls": { "Homepage": "https://github.com/wbond/oscrypto" }, "release_url": "https://pypi.org/project/oscrypto/1.1.0/", "requires_dist": [ "asn1crypto (>=1.0.0)" ], "requires_python": "", "summary": "TLS (SSL) sockets, key generation, encryption, decryption, signing, verification and KDFs using the OS crypto libraries. Does not require a compiler, and relies on the OS for patching. Works on Windows, OS X and Linux/BSD.", "version": "1.1.0" }, "last_serial": 5983655, "releases": { "0.11.1": [ { "comment_text": "", "digests": { "md5": "85c715fab499a813d7a6302ad245e442", "sha256": "00e7cb4ceb31e5dfc6f657698dfaa04ee2e08336eb9611b8e0f67dc26a59bab1" }, "downloads": -1, "filename": "oscrypto-0.11.1.tar.gz", "has_sig": false, "md5_digest": "85c715fab499a813d7a6302ad245e442", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106598, "upload_time": "2015-10-27T14:37:46", "url": "https://files.pythonhosted.org/packages/99/56/c250a00365fb69bd46fb82d0986011498d56bc881eb443f9ff10a3a659ef/oscrypto-0.11.1.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "7eae1846f17b832c3206d66bcebc3965", "sha256": "fdae11a79eb8ff91b1a8706e8bfad37011823daead50555ea5323279e406c025" }, "downloads": -1, "filename": "oscrypto-0.12.0.tar.gz", "has_sig": false, "md5_digest": "7eae1846f17b832c3206d66bcebc3965", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108694, "upload_time": "2015-11-10T16:31:42", "url": "https://files.pythonhosted.org/packages/bb/e6/a69d6f6851150f631a697fb2cba093f09d2c687cd7e9f8b7b44eba3dc14d/oscrypto-0.12.0.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "c4b067deb154a8304de326c5b7df6f4a", "sha256": "f4c56c6952e12258f1d1d782e9dd2e12ff4a9f0b11578024eda8067d80af026f" }, "downloads": -1, "filename": "oscrypto-0.13.0.tar.gz", "has_sig": false, "md5_digest": "c4b067deb154a8304de326c5b7df6f4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 109098, "upload_time": "2015-11-17T19:56:01", "url": "https://files.pythonhosted.org/packages/f6/f5/36537c09ce0be4f790efc6de0e186106b7f5f54411491f66642ad285834d/oscrypto-0.13.0.tar.gz" } ], "0.13.1": [ { "comment_text": "", "digests": { "md5": "20bbb3639bb63f4f45e02b32bcf6dea0", "sha256": "d4ed9dbeabf6cd8380c22b1fe7c542fae04be9d072f962cc6c7690893dcd5115" }, "downloads": -1, "filename": "oscrypto-0.13.1.tar.gz", "has_sig": false, "md5_digest": "20bbb3639bb63f4f45e02b32bcf6dea0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 109201, "upload_time": "2015-11-18T07:50:19", "url": "https://files.pythonhosted.org/packages/b4/58/567f465f3a13e3c879b8690c2b6b47e8796e410d3c9b2a9d98d0d5f23146/oscrypto-0.13.1.tar.gz" } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "8c1889bf04ff4556e7986f36b89b9894", "sha256": "a675c3078e2aa1de3d7cf0996c929d52dc722229d1209286b5750bcbc7f23ffe" }, "downloads": -1, "filename": "oscrypto-0.14.0.tar.gz", "has_sig": false, "md5_digest": "8c1889bf04ff4556e7986f36b89b9894", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110530, "upload_time": "2015-12-01T19:20:10", "url": "https://files.pythonhosted.org/packages/71/e8/bda7e8fe1eaeeaf3a7880f336659047c8d283497642b7ab6d3d7dac82c6a/oscrypto-0.14.0.tar.gz" } ], "0.14.1": [ { "comment_text": "", "digests": { "md5": "b5def0ed6ce14440c648e53715dc861b", "sha256": "67a67b10cb30f695e7d9976f8d98ffa5efb7751bc94bcfe2febefc45af2109cd" }, "downloads": -1, "filename": "oscrypto-0.14.1.tar.gz", "has_sig": false, "md5_digest": "b5def0ed6ce14440c648e53715dc861b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111413, "upload_time": "2015-12-02T20:32:00", "url": "https://files.pythonhosted.org/packages/cf/0c/518cdbfbe01c4cdc236991093903151476209709fcacffb1eedace17a15d/oscrypto-0.14.1.tar.gz" } ], "0.14.2": [ { "comment_text": "", "digests": { "md5": "d5be31f0fd7b306d99e1faf208a21834", "sha256": "9c4de9b45995788bf1fab3e8dbbc8f61c5dd4cd72e1ee793454bb38354418988" }, "downloads": -1, "filename": "oscrypto-0.14.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d5be31f0fd7b306d99e1faf208a21834", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 145293, "upload_time": "2015-12-18T04:14:41", "url": "https://files.pythonhosted.org/packages/9d/a6/39f83619ba81888342ea4ce97efe74bec259803f55e48b147cf16e8db6cd/oscrypto-0.14.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19909e5b7589676264c73d273c6ef3cb", "sha256": "eddf42d383c552e58c1f7a0ee8e35b447bad57a61ed5607a8e20ce24b39ebf45" }, "downloads": -1, "filename": "oscrypto-0.14.2.tar.gz", "has_sig": false, "md5_digest": "19909e5b7589676264c73d273c6ef3cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111932, "upload_time": "2015-12-17T19:51:55", "url": "https://files.pythonhosted.org/packages/94/93/c0a83bb67b715fa3c8c5c6ab73649fc5911a98a30c3fc13f74654c5c6bc3/oscrypto-0.14.2.tar.gz" } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "a5a9b1e12bc6d88ab2b4a7c726170b6e", "sha256": "5977ad0c77c8745906af4da2fc252db22391837df7dcd69838c54dddc3d74c15" }, "downloads": -1, "filename": "oscrypto-0.15.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a5a9b1e12bc6d88ab2b4a7c726170b6e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 154195, "upload_time": "2016-03-31T09:38:12", "url": "https://files.pythonhosted.org/packages/e7/56/2dd98f7fd793c03ed6044fcf3b0bcda614a8910108bfc88dbc102b7ea675/oscrypto-0.15.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5fb9670f993c94ebe62884cd311e6656", "sha256": "2f36eb9cfe43ae9dd53161c8842747dff1eff7b0e2b83be22729e2a9609a0cf9" }, "downloads": -1, "filename": "oscrypto-0.15.0.tar.gz", "has_sig": false, "md5_digest": "5fb9670f993c94ebe62884cd311e6656", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121096, "upload_time": "2016-03-31T09:39:08", "url": "https://files.pythonhosted.org/packages/56/db/d2d28fa68e8694600017fd47863c305de632c5802a14e8332839dc1a1ff2/oscrypto-0.15.0.tar.gz" } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "b5285695499760ba61727e0eb3a6476b", "sha256": "f495896ddf8b0280984764f59285b5f9503799f2288fe8e6917ca8e4485a0c2c" }, "downloads": -1, "filename": "oscrypto-0.16.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5285695499760ba61727e0eb3a6476b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 171105, "upload_time": "2016-06-24T19:05:03", "url": "https://files.pythonhosted.org/packages/50/c1/41ede9dc76a2110f02568deeb9c1c32e3b60b0599cd05133cfd257a49d8b/oscrypto-0.16.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb9f63843933b3c69c44690cd8a7a1b5", "sha256": "b86e48cb2858a329200e1e2eef8f2aca724b0c564e7a80ca4a3d87ada633908a" }, "downloads": -1, "filename": "oscrypto-0.16.0.tar.gz", "has_sig": false, "md5_digest": "bb9f63843933b3c69c44690cd8a7a1b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134802, "upload_time": "2016-06-24T19:05:17", "url": "https://files.pythonhosted.org/packages/b1/11/96e2d00f3d9637253a912b7cd4a9a2cfccabf3b69ac7d5afeb97924ed7cd/oscrypto-0.16.0.tar.gz" } ], "0.16.1": [ { "comment_text": "", "digests": { "md5": "87a097a12def46ef3fa791b303eee107", "sha256": "328c4e89ce64a164f1f14cb43edac103ef45f30e77b69aee17967e8c0b32ccd6" }, "downloads": -1, "filename": "oscrypto-0.16.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87a097a12def46ef3fa791b303eee107", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 171110, "upload_time": "2016-07-29T14:27:06", "url": "https://files.pythonhosted.org/packages/e6/31/c5478e59735b84d78b5d23fc12f273af711038295781bdbad1f9b2ff63a9/oscrypto-0.16.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d64e91169f1e0382e8299576777c18b5", "sha256": "38afaea6cf629d2cc88560377c1bbe408378768e40a8603da613f219157aa5fc" }, "downloads": -1, "filename": "oscrypto-0.16.1.tar.gz", "has_sig": false, "md5_digest": "d64e91169f1e0382e8299576777c18b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134804, "upload_time": "2016-07-29T14:27:09", "url": "https://files.pythonhosted.org/packages/ce/93/84c682690f6bf93c433942d8f10eb245ee632c8f977a3d7aceed25196e8d/oscrypto-0.16.1.tar.gz" } ], "0.16.2": [ { "comment_text": "", "digests": { "md5": "32ed30ad973b7faef71d4e1086357cd7", "sha256": "ee5c323126d8ab87b5f543be3d3ba6947f67eb0513f24515e2016039345c5d52" }, "downloads": -1, "filename": "oscrypto-0.16.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "32ed30ad973b7faef71d4e1086357cd7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 171134, "upload_time": "2016-07-29T18:00:58", "url": "https://files.pythonhosted.org/packages/58/72/87627386c9c84570fa272ccff4aa2b2d12f5777c03c70c68adeeab5fedb2/oscrypto-0.16.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ed0ed7e8519275c5b6943e9c3194e66", "sha256": "c14e97a226bfbb51b3343de82c8831feb14596669e90fab1ff86fc5add7438fe" }, "downloads": -1, "filename": "oscrypto-0.16.2.tar.gz", "has_sig": false, "md5_digest": "1ed0ed7e8519275c5b6943e9c3194e66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134823, "upload_time": "2016-07-29T18:01:01", "url": "https://files.pythonhosted.org/packages/fd/33/bd3ea1e75d0da70c7e6c23868e70439a7ec008fcc77179479107ac9eb2f4/oscrypto-0.16.2.tar.gz" } ], "0.17.0": [ { "comment_text": "", "digests": { "md5": "aac9b56f08ccc0a702ec2f2867131a7f", "sha256": "9ec6f76872548c65f46a4cf9af0e5788f1f0f9287fcd023b60e3a16dfbd2d535" }, "downloads": -1, "filename": "oscrypto-0.17.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aac9b56f08ccc0a702ec2f2867131a7f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 173329, "upload_time": "2016-09-13T19:34:07", "url": "https://files.pythonhosted.org/packages/6f/1c/5d446570a9c50a4593ec0b4b56e946c5bf9f869eaedac23af760b9a4c92f/oscrypto-0.17.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "22498dd16be4dc05d132fc9c25fe5c7b", "sha256": "f25c698a6f2b673397bca10ed56105e4a2f91d83baa365f2d5351ac33f120e6b" }, "downloads": -1, "filename": "oscrypto-0.17.0.tar.gz", "has_sig": false, "md5_digest": "22498dd16be4dc05d132fc9c25fe5c7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 136729, "upload_time": "2016-09-13T19:34:10", "url": "https://files.pythonhosted.org/packages/4d/7a/f1cbe9b438c1dacd9935d8e35503dea323c4c87819822bd47fcf439e4f64/oscrypto-0.17.0.tar.gz" } ], "0.17.1": [ { "comment_text": "", "digests": { "md5": "0aa1999bfe9615f8b303d25b9edccd2d", "sha256": "86ce83cfd9997bf2c6cc23dd3311108cc1cc9e15e5548f9f4c99834cd8b38a16" }, "downloads": -1, "filename": "oscrypto-0.17.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0aa1999bfe9615f8b303d25b9edccd2d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 173412, "upload_time": "2016-09-13T20:51:34", "url": "https://files.pythonhosted.org/packages/71/fb/35436283b8b76e2580102f7991aa8b35b7497cce16ff4782711884cace50/oscrypto-0.17.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e503c5c8f1c0b467c7ecb8efe109bd8", "sha256": "9e111c22b7cea98c5ce8e0ad4c8fe7f4f5de385434a594eebcd7565eec9b1373" }, "downloads": -1, "filename": "oscrypto-0.17.1.tar.gz", "has_sig": false, "md5_digest": "5e503c5c8f1c0b467c7ecb8efe109bd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 136783, "upload_time": "2016-09-13T20:51:37", "url": "https://files.pythonhosted.org/packages/c2/30/ae75e066d84eee510e58d9ef1e9c26d59bba10b1869fa5b3f42549b95d62/oscrypto-0.17.1.tar.gz" } ], "0.17.2": [ { "comment_text": "", "digests": { "md5": "b5117b8e36caebcfc8a47457932cad9c", "sha256": "c911319e30cd776f5da7fd3801721550847987f1f07ba520c3f99bec2d783581" }, "downloads": -1, "filename": "oscrypto-0.17.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5117b8e36caebcfc8a47457932cad9c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 173883, "upload_time": "2016-09-22T21:07:40", "url": "https://files.pythonhosted.org/packages/40/6f/3e6c50071cc9113733418059d39fcd1256d66ee7dc570527d5f08315648e/oscrypto-0.17.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8e5321d7805b99cd881c137249814c4", "sha256": "3bc8f72b4084fa21940524b53780dc2ff1b9a660428e13af90e06de69a5a034f" }, "downloads": -1, "filename": "oscrypto-0.17.2.tar.gz", "has_sig": false, "md5_digest": "a8e5321d7805b99cd881c137249814c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137292, "upload_time": "2016-09-22T21:07:44", "url": "https://files.pythonhosted.org/packages/1f/9d/0e1b0cd6747e10c4c9242a635755c745315558285606deb1fb9cdaf4a693/oscrypto-0.17.2.tar.gz" } ], "0.17.3": [ { "comment_text": "", "digests": { "md5": "7ba1ae5996ddcaf55db0b760fd837fa3", "sha256": "c574138a8ea3b762400adffe247c1c25689603e82a88b900d74fb0f8e3fa1745" }, "downloads": -1, "filename": "oscrypto-0.17.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ba1ae5996ddcaf55db0b760fd837fa3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 174974, "upload_time": "2017-01-19T11:39:05", "url": "https://files.pythonhosted.org/packages/7f/8e/7ca12a5a8dd2cd0d8b32ab90f7ea1009a4b752a24b7d4df738ea8e453ad2/oscrypto-0.17.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "596d2595f32c0b257a262ca8f915a0aa", "sha256": "0483073b3005dc45f565992bbee183b04533cf2870c16a04125e15415355205e" }, "downloads": -1, "filename": "oscrypto-0.17.3.tar.gz", "has_sig": false, "md5_digest": "596d2595f32c0b257a262ca8f915a0aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138149, "upload_time": "2017-01-19T11:39:08", "url": "https://files.pythonhosted.org/packages/ce/96/fa85a9fdc868110fe68b4e8fed0bbb8221969fe9f1fa8c8735e66a39f7e5/oscrypto-0.17.3.tar.gz" } ], "0.18.0": [ { "comment_text": "", "digests": { "md5": "da188856939271276a8ea4988ea7405f", "sha256": "fd155071f96c1a1707f531d07c1ce1b0089f28434c9296b5a7fbdfccbcb4d74b" }, "downloads": -1, "filename": "oscrypto-0.18.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da188856939271276a8ea4988ea7405f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 175459, "upload_time": "2017-02-01T16:44:16", "url": "https://files.pythonhosted.org/packages/77/f5/09e4e577cc32a955805bd3f10d0e173863c22e5a27b7208635f57e05f368/oscrypto-0.18.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8d98c5fbb07346f4c63ba8699237315", "sha256": "4d974ecf2b21a7a6b55fc5b0e7582091b86cfcb0993ae8534f3fc47c78f8b9fa" }, "downloads": -1, "filename": "oscrypto-0.18.0.tar.gz", "has_sig": false, "md5_digest": "c8d98c5fbb07346f4c63ba8699237315", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138658, "upload_time": "2017-02-01T16:44:19", "url": "https://files.pythonhosted.org/packages/3a/60/f9d5b9f922e00e9a31ad00c76af55ca2badb94a7efa7eb47ee125ac39bad/oscrypto-0.18.0.tar.gz" } ], "0.19.0": [ { "comment_text": "", "digests": { "md5": "744919958be8dcb24252b250c338d405", "sha256": "f66c31409693f35650b0cb583583c5a5f3c20cc5b9ca9722297fa933dc42065d" }, "downloads": -1, "filename": "oscrypto-0.19.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "744919958be8dcb24252b250c338d405", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 175710, "upload_time": "2017-12-14T19:52:08", "url": "https://files.pythonhosted.org/packages/d8/30/2312c0ddd069b10a27ef656c1b471d792efe45f096ce0bcc2950764b2600/oscrypto-0.19.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f936fee634650994a3dfa5cc59ab34a6", "sha256": "897e7812d4571104e05686479993fb93e87e0341ced1fecdc8aa0b380163feab" }, "downloads": -1, "filename": "oscrypto-0.19.0.tar.gz", "has_sig": false, "md5_digest": "f936fee634650994a3dfa5cc59ab34a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138886, "upload_time": "2017-12-14T19:52:10", "url": "https://files.pythonhosted.org/packages/19/87/59650b8fc5a84ff6d103126c90c37df3df68a4d8c16d570fd9dfa7d1f982/oscrypto-0.19.0.tar.gz" } ], "0.19.1": [ { "comment_text": "", "digests": { "md5": "6286888970c25bab1df047304448eb47", "sha256": "84fb7cc3a1cca317bce778223a553cf4841e78de658bda7ff96f3afc640ed597" }, "downloads": -1, "filename": "oscrypto-0.19.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6286888970c25bab1df047304448eb47", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 175776, "upload_time": "2017-12-14T21:58:54", "url": "https://files.pythonhosted.org/packages/b0/75/320872f3ba70b6db91a26e4e5f89219896c861ed91acc370a69f25da043d/oscrypto-0.19.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1b56f0ddf562c65da1065dd485f8b64", "sha256": "9e4c548c1bee575ee3c61fa56b0dd612db85016b4ab403763b22961c8ca05147" }, "downloads": -1, "filename": "oscrypto-0.19.1.tar.gz", "has_sig": false, "md5_digest": "f1b56f0ddf562c65da1065dd485f8b64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138952, "upload_time": "2017-12-14T21:58:56", "url": "https://files.pythonhosted.org/packages/eb/5d/08ff4c17508b3e20c4d15271fee0e1552e1c7d328ff9283fbc34e306654b/oscrypto-0.19.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "e2e1fd8c1ad65cb87a811aefbe4aab62", "sha256": "0d286f0f894953d47b574cf434e467a75cd3adc7cdd71ea330c869be7cf7b5df" }, "downloads": -1, "filename": "oscrypto-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2e1fd8c1ad65cb87a811aefbe4aab62", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 191230, "upload_time": "2019-10-03T14:09:46", "url": "https://files.pythonhosted.org/packages/c5/00/56156622ebd4a647f52ea83416fe34750067e31bcc88219213a3c8e04d46/oscrypto-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e83ddd89216b143fbe403e0d5f2ec78", "sha256": "2074a9f251537b53343f613717ebef282bc8345a7734329b99ac0a6ea253301c" }, "downloads": -1, "filename": "oscrypto-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1e83ddd89216b143fbe403e0d5f2ec78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 176450, "upload_time": "2019-10-03T14:09:48", "url": "https://files.pythonhosted.org/packages/9e/a5/6268c5c13b378cb74585b45bb43c9b1db670bac5d849fcb6dcb05a8b6621/oscrypto-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e8b3346874720d292bc18532b24a42f1", "sha256": "d73fe6b08da692e85b70bb42ca8f1a40d40dea6560a0c75ffe0b384b93ef5834" }, "downloads": -1, "filename": "oscrypto-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8b3346874720d292bc18532b24a42f1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 191692, "upload_time": "2019-10-16T14:09:14", "url": "https://files.pythonhosted.org/packages/b4/b7/ebe2571e26f70d2c52eccbbe7499c1aeb89fbf2c22a8fed9ec237797113b/oscrypto-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3cd9c24a71c3def2567d0846b0a73a8c", "sha256": "8261c11d7a56403427686416fed28c51f28da6d1c998bf61116b746ff8afe4a9" }, "downloads": -1, "filename": "oscrypto-1.1.0.tar.gz", "has_sig": false, "md5_digest": "3cd9c24a71c3def2567d0846b0a73a8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 176996, "upload_time": "2019-10-16T14:09:29", "url": "https://files.pythonhosted.org/packages/a0/1c/c9d61f1dc997a2bc448768cd828ef20aa1ef55a56112696d5470a17e13f6/oscrypto-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e8b3346874720d292bc18532b24a42f1", "sha256": "d73fe6b08da692e85b70bb42ca8f1a40d40dea6560a0c75ffe0b384b93ef5834" }, "downloads": -1, "filename": "oscrypto-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8b3346874720d292bc18532b24a42f1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 191692, "upload_time": "2019-10-16T14:09:14", "url": "https://files.pythonhosted.org/packages/b4/b7/ebe2571e26f70d2c52eccbbe7499c1aeb89fbf2c22a8fed9ec237797113b/oscrypto-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3cd9c24a71c3def2567d0846b0a73a8c", "sha256": "8261c11d7a56403427686416fed28c51f28da6d1c998bf61116b746ff8afe4a9" }, "downloads": -1, "filename": "oscrypto-1.1.0.tar.gz", "has_sig": false, "md5_digest": "3cd9c24a71c3def2567d0846b0a73a8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 176996, "upload_time": "2019-10-16T14:09:29", "url": "https://files.pythonhosted.org/packages/a0/1c/c9d61f1dc997a2bc448768cd828ef20aa1ef55a56112696d5470a17e13f6/oscrypto-1.1.0.tar.gz" } ] }