{
"info": {
"author": "Hynek Schlawack",
"author_email": "hs@ox.cx",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Operating System :: POSIX :: BSD",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Security :: Cryptography",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"description": "=============================\nService Identity Verification\n=============================\n\n.. image:: https://readthedocs.org/projects/service-identity/badge/?version=stable\n :target: https://service-identity.readthedocs.io/en/stable/?badge=stable\n :alt: Documentation Status\n\n.. image:: https://travis-ci.org/pyca/service_identity.svg?branch=master\n :target: https://travis-ci.org/pyca/service_identity\n :alt: CI status\n\n.. image:: https://codecov.io/github/pyca/service_identity/branch/master/graph/badge.svg\n :target: https://codecov.io/github/pyca/service_identity\n :alt: Test Coverage\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n :alt: Code style: black\n\n.. image:: https://www.irccloud.com/invite-svg?channel=%23cryptography-dev&hostname=irc.freenode.net&port=6697&ssl=1\n :target: https://www.irccloud.com/invite?channel=%23cryptography-dev&hostname=irc.freenode.net&port=6697&ssl=1\n\n.. begin\n\nUse this package if:\n\n- you use pyOpenSSL_ and don\u2019t want to be MITM_\\ ed or\n- if you want to verify that a `PyCA cryptography`_ certificate is valid for a certain hostname or IP address.\n\n``service_identity`` aspires to give you all the tools you need for verifying whether a certificate is valid for the intended purposes.\n\nIn the simplest case, this means *host name verification*.\nHowever, ``service_identity`` implements `RFC 6125`_ fully and plans to add other relevant RFCs too.\n\n``service_identity``\\ \u2019s documentation lives at `Read the Docs `_, the code on `GitHub `_.\n\n\n.. _Twisted: https://twistedmatrix.com/\n.. _pyOpenSSL: https://pypi.org/project/pyOpenSSL/\n.. _MITM: https://en.wikipedia.org/wiki/Man-in-the-middle_attack\n.. _RFC 6125: https://www.rfc-editor.org/info/rfc6125\n.. _PyCA cryptography: https://cryptography.io/\n\n\nRelease Information\n===================\n\n18.1.0 (2018-12-05)\n-------------------\n\nChanges:\n^^^^^^^^\n\n- pyOpenSSL is optional now if you use ``service_identity.cryptography.*`` only.\n- Added support for ``iPAddress`` ``subjectAltName``\\ s.\n You can now verify whether a connection or a certificate is valid for an IP address using ``service_identity.pyopenssl.verify_ip_address()`` and ``service_identity.cryptography.verify_certificate_ip_address()``.\n `#12 `_\n\n`Full changelog `_.\n\nAuthors\n=======\n\n``service_identity`` is written and maintained by `Hynek Schlawack `_.\n\nThe development is kindly supported by `Variomedia AG `_.\n\nOther contributors can be found in `GitHub's overview `_.\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://service-identity.readthedocs.io/",
"keywords": "cryptography,openssl,pyopenssl",
"license": "MIT",
"maintainer": "Hynek Schlawack",
"maintainer_email": "hs@ox.cx",
"name": "service_identity",
"package_url": "https://pypi.org/project/service_identity/",
"platform": "",
"project_url": "https://pypi.org/project/service_identity/",
"project_urls": {
"Homepage": "https://service-identity.readthedocs.io/"
},
"release_url": "https://pypi.org/project/service_identity/18.1.0/",
"requires_dist": [
"attrs (>=16.0.0)",
"pyasn1-modules",
"pyasn1",
"cryptography",
"ipaddress ; python_version < \"3.3\"",
"coverage (>=4.2.0) ; extra == 'dev'",
"pytest ; extra == 'dev'",
"sphinx ; extra == 'dev'",
"idna ; extra == 'dev'",
"pyOpenSSL ; extra == 'dev'",
"sphinx ; extra == 'docs'",
"idna ; extra == 'idna'",
"coverage (>=4.2.0) ; extra == 'tests'",
"pytest ; extra == 'tests'"
],
"requires_python": "",
"summary": "Service identity verification for pyOpenSSL & cryptography.",
"version": "18.1.0"
},
"last_serial": 4563652,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "1219bb7460aae78f07d49035189a33eb",
"sha256": "2f98469a82851990aa8ee66cb596545fe7d6d4e5a80f63d4447a4e16ce8249c6"
},
"downloads": -1,
"filename": "service_identity-0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1219bb7460aae78f07d49035189a33eb",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 17933,
"upload_time": "2014-03-06T22:08:50",
"url": "https://files.pythonhosted.org/packages/a7/3a/389d3ac0b4a4d66ba1c4e1cb11612012dae176aa55c35db90f75a28e5ea7/service_identity-0.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5b08ef8ed1e1591956003fbacd570084",
"sha256": "1d392d1a70329c260f01b270fbe250094b28082729f65a3252c8c5cecadd1642"
},
"downloads": -1,
"filename": "service_identity-0.1.tar.gz",
"has_sig": true,
"md5_digest": "5b08ef8ed1e1591956003fbacd570084",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16536,
"upload_time": "2014-03-06T22:07:12",
"url": "https://files.pythonhosted.org/packages/1c/b0/62246196d4a8599014cfd2403d6de9fcdec3628df25ba85adda4b7665e87/service_identity-0.1.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "859428617de6ac522b781a3d0a1d6689",
"sha256": "f3a288ddb23448e8c6498af3d7a1f1348569b3a18a4c3e645c72e180692523d1"
},
"downloads": -1,
"filename": "service_identity-0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "859428617de6ac522b781a3d0a1d6689",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 12889,
"upload_time": "2014-04-06T01:22:30",
"url": "https://files.pythonhosted.org/packages/4c/0a/0e7f5420f90d99846163a1ffa9a6b1be29fffbaf7e6d3827cda4293f53ae/service_identity-0.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5fd2b5103291e71b3afe23aaeefb89f2",
"sha256": "adb0f07b541fb40b9c023f40e1e7520ea382d8d692c22d37e08236dc2552e1f4"
},
"downloads": -1,
"filename": "service_identity-0.2.tar.gz",
"has_sig": false,
"md5_digest": "5fd2b5103291e71b3afe23aaeefb89f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21365,
"upload_time": "2014-04-07T19:30:02",
"url": "https://files.pythonhosted.org/packages/ab/22/d6c2eed070cc6b95681925560a611c80438e44e7bb4cd2b1201597255ddf/service_identity-0.2.tar.gz"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "47504fd42c95092963798fbd4c910dd4",
"sha256": "470eae43c69ec8cd1df90b0910af166f61670cebd0708c1692f19a1c14871484"
},
"downloads": -1,
"filename": "service_identity-1.0.0-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "47504fd42c95092963798fbd4c910dd4",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 10123,
"upload_time": "2014-06-15T18:44:08",
"url": "https://files.pythonhosted.org/packages/29/8f/9499084ea8b5db68f9211d7d772e6ba2f0576c7c422f6b67dc3881fee726/service_identity-1.0.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "437c380ce0fe85a0fbc4780a86b3ee58",
"sha256": "679e39fc35bc189b7424d9cd5545f755b2e127c478e1927c9029473f0fbe3bce"
},
"downloads": -1,
"filename": "service_identity-1.0.0.tar.gz",
"has_sig": true,
"md5_digest": "437c380ce0fe85a0fbc4780a86b3ee58",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17658,
"upload_time": "2014-06-15T18:43:54",
"url": "https://files.pythonhosted.org/packages/a7/6f/281aa08329f6261bbc4b593ffe1adbd20f6487fe32df2c132eab02f00204/service_identity-1.0.0.tar.gz"
}
],
"14.0.0": [
{
"comment_text": "",
"digests": {
"md5": "8650917484fb4ef6132b177cb1165307",
"sha256": "c4e09794c54229a4d2bf6a784130880259f0b0870d2f40e9712dc4114f06795c"
},
"downloads": -1,
"filename": "service_identity-14.0.0-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "8650917484fb4ef6132b177cb1165307",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 10241,
"upload_time": "2014-08-22T14:10:48",
"url": "https://files.pythonhosted.org/packages/98/1a/2bd789e1623a18a2e54ff57934d169e5f1599d2a719954ad67bbb8cb0f72/service_identity-14.0.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "cea0b0156d73b025ecef660fb51f0d9a",
"sha256": "3105a319a7c558490666694f599be0c377ad54824eefb404cde4ce49e74a4f5a"
},
"downloads": -1,
"filename": "service_identity-14.0.0.tar.gz",
"has_sig": true,
"md5_digest": "cea0b0156d73b025ecef660fb51f0d9a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26033,
"upload_time": "2014-08-22T14:10:55",
"url": "https://files.pythonhosted.org/packages/68/15/3e16d1cbdf8b007250a7cdda54d3e9fab3b7b35cc72558a20ce20d072d14/service_identity-14.0.0.tar.gz"
}
],
"16.0.0": [
{
"comment_text": "",
"digests": {
"md5": "70eef3afd5e1294cb14a138d9ca5ec56",
"sha256": "5c63e1532135f7171cb33e8b2f31c758c3ce0654e6eb198573e23d01128678d4"
},
"downloads": -1,
"filename": "service_identity-16.0.0-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "70eef3afd5e1294cb14a138d9ca5ec56",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 11314,
"upload_time": "2016-02-18T11:37:23",
"url": "https://files.pythonhosted.org/packages/80/f5/8b1604e4d85ce60333a2fd4bc7b7743b21949b434b7c1c2c77eee9e7cd6f/service_identity-16.0.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d52392597b9c44a740abf322bfdb21e6",
"sha256": "0630e222f59f91f3db498be46b1d879ff220955d7bbad719a5cb9ad14e3c3036"
},
"downloads": -1,
"filename": "service_identity-16.0.0.tar.gz",
"has_sig": true,
"md5_digest": "d52392597b9c44a740abf322bfdb21e6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30270,
"upload_time": "2016-02-18T11:37:30",
"url": "https://files.pythonhosted.org/packages/f3/2a/7c04e7ab74f9f2be026745a9ffa81fd9d56139fa6f5f4b4c8a8c07b2bfba/service_identity-16.0.0.tar.gz"
}
],
"17.0.0": [
{
"comment_text": "",
"digests": {
"md5": "f6f1f379685f2a86f5c1b686acccc45e",
"sha256": "0e76f3c042cc0f5c7e6da002cf646f59dc4023962d1d1166343ce53bdad39e17"
},
"downloads": -1,
"filename": "service_identity-17.0.0-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "f6f1f379685f2a86f5c1b686acccc45e",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 13043,
"upload_time": "2017-05-23T22:10:51",
"url": "https://files.pythonhosted.org/packages/29/fa/995e364220979e577e7ca232440961db0bf996b6edaf586a7d1bd14d81f1/service_identity-17.0.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f509cb41ca2f8420bd8496291136d6cc",
"sha256": "4001fbb3da19e0df22c47a06d29681a398473af4aa9d745eca525b3b2c2302ab"
},
"downloads": -1,
"filename": "service_identity-17.0.0.tar.gz",
"has_sig": true,
"md5_digest": "f509cb41ca2f8420bd8496291136d6cc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23502,
"upload_time": "2017-05-23T22:10:53",
"url": "https://files.pythonhosted.org/packages/de/2a/cab6e30be82c8fcd2339ef618036720eda954cf05daef514e386661c9221/service_identity-17.0.0.tar.gz"
}
],
"18.1.0": [
{
"comment_text": "",
"digests": {
"md5": "e6c5d5366021c5d915ea23806f30fbe7",
"sha256": "001c0707759cb3de7e49c078a7c0c9cd12594161d3bf06b9c254fdcb1a60dc36"
},
"downloads": -1,
"filename": "service_identity-18.1.0-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "e6c5d5366021c5d915ea23806f30fbe7",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 11824,
"upload_time": "2018-12-05T12:50:40",
"url": "https://files.pythonhosted.org/packages/e9/7c/2195b890023e098f9618d43ebc337d83c8b38d414326685339eb024db2f6/service_identity-18.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c6b8bac93e7d899a1da313a19cc6570a",
"sha256": "0858a54aabc5b459d1aafa8a518ed2081a285087f349fe3e55197989232e2e2d"
},
"downloads": -1,
"filename": "service_identity-18.1.0.tar.gz",
"has_sig": true,
"md5_digest": "c6b8bac93e7d899a1da313a19cc6570a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21653,
"upload_time": "2018-12-05T12:50:41",
"url": "https://files.pythonhosted.org/packages/9a/3d/9eb0563e066ea0540cf580695593ab079376e920016d4d1b3ff2fd8abf4b/service_identity-18.1.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "e6c5d5366021c5d915ea23806f30fbe7",
"sha256": "001c0707759cb3de7e49c078a7c0c9cd12594161d3bf06b9c254fdcb1a60dc36"
},
"downloads": -1,
"filename": "service_identity-18.1.0-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "e6c5d5366021c5d915ea23806f30fbe7",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 11824,
"upload_time": "2018-12-05T12:50:40",
"url": "https://files.pythonhosted.org/packages/e9/7c/2195b890023e098f9618d43ebc337d83c8b38d414326685339eb024db2f6/service_identity-18.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c6b8bac93e7d899a1da313a19cc6570a",
"sha256": "0858a54aabc5b459d1aafa8a518ed2081a285087f349fe3e55197989232e2e2d"
},
"downloads": -1,
"filename": "service_identity-18.1.0.tar.gz",
"has_sig": true,
"md5_digest": "c6b8bac93e7d899a1da313a19cc6570a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21653,
"upload_time": "2018-12-05T12:50:41",
"url": "https://files.pythonhosted.org/packages/9a/3d/9eb0563e066ea0540cf580695593ab079376e920016d4d1b3ff2fd8abf4b/service_identity-18.1.0.tar.gz"
}
]
}