{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "check-tls-certs\n===============\n\nCheck TLS certificates of domains for expiration dates and more.\n\n\nInstallation\n------------\n\nIt's recommended to use Python 3.5 or newer on macOS,\nbecause DNS lookups work in parallel and thus much faster when checking several domains.\n\nBest installed via `pipsi`_::\n\n % pipsi install check-tls-certs\n\nOr some other way to install a python package with included scripts.\n\n.. _pipsi: https://pypi.python.org/pypi/pipsi\n\n\nUsage\n-----\n\n::\n\n Usage: check_tls_certs [OPTIONS] [DOMAIN]...\n\n Checks the TLS certificate for each DOMAIN.\n\n You can add checks for alternative names by separating them with a slash,\n like example.com/www.example.com.\n\n Wildcard domains are supported.\n\n Exits with return code 3 when there are warnings, code 4 when there are\n errors and code 5 when the domain definition contains errors.\n\n Options:\n -f, --file FILE File to read domains from. One per line.\n -v, --verbose Increase verbosity. Can be used several times. Currently\n max verbosity is 2.\n --help Show this message and exit.\n\n\nWhen domains are read from a file, lines starting with a ``#`` are ignored.\nIf a line in a file ends in a ``/``, it is joined with the next line.\nThis allows you to group many domains using the same certificate.\n\nIf a domain starts with a ``!`` it is checked to be in the list of alternate names,\nbut the TLS certificate for it will not be fetched and checked.\nThis is useful for domains that aren't accessible for some reason.\n\nThe default port 443,\nto which the connection is made to fetch the certificate,\ncan be changed by adding it to the domain separated by a colon like ``example.com:1234``.\n\nYou can change the actually used host used for the connection by separating it with a ``|`` symbol,\nfor example ``example.com|192.168.0.1`` will use the IP ``192.168.0.1`` to connect.\n\n\nChangelog\n=========\n\n0.11.0 - 2018-01-07\n-------------------\n\n* Support wildcard certificates.\n [fschulze]\n\n\n0.10.0 - 2017-11-24\n-------------------\n\n* Validate the certificate chain.\n [fschulze]\n\n* Allow specifying a host used for the actual connection using ``|``.\n [fschulze]\n\n* Re-raise actual connection errors, so the exit code of the script indicates\n a failure.\n [fschulze]\n\n\n0.9.1 - 2017-04-05\n------------------\n\n* Re-release because of premature upload.\n [fschulze]\n\n\n0.9.0 - 2017-04-05\n------------------\n\n* Add 5 second timeout and print more detailed error messages.\n [fschulze]\n\n* If a line ends in a ``/`` it is joined with the next line when reading\n domains from a file.\n [fschulze]\n\n* Sort domain names in output.\n [fschulze]\n\n\n0.8.0 - 2016-05-09\n------------------\n\n* Validate the certificate chain sent by the server.\n [fschulze]\n\n\n0.7.0 - 2016-05-09\n------------------\n\n* Get current time once to avoid duplicate expiry messages.\n [fschulze]\n\n* Mark certificates from staging server with error.\n [fschulze]\n\n\n0.6.0 - 2016-02-20\n------------------\n\n* Fix comparison if there is no expiration time.\n [fschulze]\n\n* Allow port in domain name, to which the ssl connection is made instead of the\n default 443, be specified.\n\n\n0.5.0 - 2016-02-17\n------------------\n\n* Use UTC time to calculate expiration time.\n [fschulze]\n\n* Add another verbosity level (and remove ``-q/--quite``). By default nothing\n is printed except when there are errors. The first level ``-v`` always\n prints the earliest expiration date. The second level ``-vv`` prints all the\n info.\n\n\n0.4.0 - 2016-02-12\n------------------\n\n* When prefixing a domain with a ``!`` the certificate will not be fetched and\n checked, but it's name well be checked to be in the list of alternate names.\n [fschulze]\n\n* Change handling of alternate names, so checking for just one domain when a\n certificate is valid for several works.\n [fschulze]\n\n* By default only print messages for domains with errors. Use ``-v`` option\n to print infos for all domains.\n [fschulze]\n\n* Allow comments starting with ``#`` in domain file.\n [fschulze]\n\n* Get rid of ``openssl`` executable requirement.\n [fschulze]\n\n\n0.3.0 - 2016-01-01\n------------------\n\n* Use asyncio to fetch certificates in parallel.\n [fschulze]\n\n\n0.2.0 - 2015-12-22\n------------------\n\n* Actually support Python 3.4 as advertised.\n [fschulze]\n\n* Fix packaging.\n [witsch]\n\n* Round expiry time delta to minutes for nicer output.\n [fschulze]\n\n* Skip duplicate messages for alternate names.\n [fschulze]\n\n* Add certificate issuer to output.\n [fschulze]\n\n* Mark sha1 certificate signature as error.\n [fschulze]\n\n\n0.1.0 - 2015-12-20\n------------------\n\n* Initial release\n [fschulze]\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fschulze/check-tls-certs", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "check-tls-certs", "package_url": "https://pypi.org/project/check-tls-certs/", "platform": "", "project_url": "https://pypi.org/project/check-tls-certs/", "project_urls": { "Homepage": "https://github.com/fschulze/check-tls-certs" }, "release_url": "https://pypi.org/project/check-tls-certs/0.11.0/", "requires_dist": null, "requires_python": "", "summary": "Check TLS certificates of domains for expiration dates and more.", "version": "0.11.0" }, "last_serial": 3469147, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6c247fed0bef8fbaebdcbe2ce99b55e1", "sha256": "09d4e0f2d62b0ad063ce4f12785a53368b9b21de52e3defbf770b9332311063a" }, "downloads": -1, "filename": "check-tls-certs-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6c247fed0bef8fbaebdcbe2ce99b55e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2729, "upload_time": "2015-12-20T10:33:13", "url": "https://files.pythonhosted.org/packages/b9/be/e889565fab6eb193cfefa31bfba77900d46165041bf36413e9205165a7cd/check-tls-certs-0.1.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "243e77dd5c677c7dd200957079428a24", "sha256": "4011fc592dd0aada60b258dbd505976cf4ca7edad2a5c0138aff1e84177c2861" }, "downloads": -1, "filename": "check-tls-certs-0.1.0.zip", "has_sig": false, "md5_digest": "243e77dd5c677c7dd200957079428a24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5942, "upload_time": "2015-12-20T10:33:06", "url": "https://files.pythonhosted.org/packages/61/0d/fddf85c2888ca6859e89c5f752933d16f0297108a7ce72a593b7303bf111/check-tls-certs-0.1.0.zip" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "a301d080a0b68605753e545e6987c273", "sha256": "7c13cb8cb08752d5813c3049607c4c0e9432b568902cb8d21f3124e966a43882" }, "downloads": -1, "filename": "check_tls_certs-0.10.0-py2-none-any.whl", "has_sig": false, "md5_digest": "a301d080a0b68605753e545e6987c273", "packagetype": "bdist_wheel", "python_version": "2", "requires_python": null, "size": 8978, "upload_time": "2017-11-24T09:27:23", "url": "https://files.pythonhosted.org/packages/87/50/6e13e880130f744fd2371e452c4e2e8ce7a26e4411a69a667cae022d5673/check_tls_certs-0.10.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "178ba6ea47ee128b2708aa962d7a59c9", "sha256": "c7e936f18df9fb1923561721098579255a4ab9790d448e6725a7cc56c50e7987" }, "downloads": -1, "filename": "check-tls-certs-0.10.0.tar.gz", "has_sig": false, "md5_digest": "178ba6ea47ee128b2708aa962d7a59c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6748, "upload_time": "2017-11-24T09:27:21", "url": "https://files.pythonhosted.org/packages/6e/ca/ff4cd3c9ec65c01a222906509d163c0710668aeba865d6ecb8a549265de7/check-tls-certs-0.10.0.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "cb8ceb2a321d2998632f2bade2d1d931", "sha256": "48868eea01a1a6bb48cdf3dad013522b374992808cafca066c4e764687551b87" }, "downloads": -1, "filename": "check_tls_certs-0.11.0-py2-none-any.whl", "has_sig": false, "md5_digest": "cb8ceb2a321d2998632f2bade2d1d931", "packagetype": "bdist_wheel", "python_version": "2", "requires_python": null, "size": 9557, "upload_time": "2018-01-07T17:55:20", "url": "https://files.pythonhosted.org/packages/d4/f0/24c01206834a2f1f639a7c1d36e2151aa5030e8a0b8241b5bd22de67e308/check_tls_certs-0.11.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b3acc95704a3563723af797b161aad9", "sha256": "96c3cf173b1ab964c70c3a92c1b8ebe6188a7c161f628d69c949ceaca9f145aa" }, "downloads": -1, "filename": "check-tls-certs-0.11.0.tar.gz", "has_sig": false, "md5_digest": "4b3acc95704a3563723af797b161aad9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8868, "upload_time": "2018-01-07T17:55:18", "url": "https://files.pythonhosted.org/packages/94/9c/e0bb27172bb7aba0fabffcb83de007a04689ff9464e5712d72b66b52ffa4/check-tls-certs-0.11.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "01c86cf0e0aae37c3c8d07bbc8d246e3", "sha256": "533b1e369cdc5f102b035fa67bade3bf0280bbcfcb1a1450b11d88ad480993e7" }, "downloads": -1, "filename": "check-tls-certs-0.2.0.tar.gz", "has_sig": false, "md5_digest": "01c86cf0e0aae37c3c8d07bbc8d246e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3446, "upload_time": "2015-12-22T12:21:32", "url": "https://files.pythonhosted.org/packages/58/93/fb3a9094abce46238fdc314f490edca00dc3d9fead11009f2c26e23870f1/check-tls-certs-0.2.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "e6a196990c8b8e14fac5d19a87a5ccff", "sha256": "548c3db72371d9632cc09fdae177afefd96137f69ab5e31fb6c57ec36e7cb8a0" }, "downloads": -1, "filename": "check-tls-certs-0.2.0.zip", "has_sig": false, "md5_digest": "e6a196990c8b8e14fac5d19a87a5ccff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7166, "upload_time": "2015-12-22T12:21:23", "url": "https://files.pythonhosted.org/packages/21/93/0dbbce61179439ba7669ad6ceba13c5a4aedb4e9b1d83d1006fe3ef0346f/check-tls-certs-0.2.0.zip" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f6f36bc42f27ba57c2f62db479a52e80", "sha256": "602bdf0633607383fe100559a30e67a65a25ca9de2ea54dc7c6810a0e54e837a" }, "downloads": -1, "filename": "check-tls-certs-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f6f36bc42f27ba57c2f62db479a52e80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3946, "upload_time": "2016-01-01T11:39:42", "url": "https://files.pythonhosted.org/packages/57/57/7f67dcb5e21c1aa12d3773bb14cabbcb004023ed033c9187ca4a3dece572/check-tls-certs-0.3.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "151bad6e14da24939c03bc9dd927f3f8", "sha256": "261be429c583d559181ce7e1013cfb64a29152f26168417af4a3464a8d5d7685" }, "downloads": -1, "filename": "check-tls-certs-0.3.0.zip", "has_sig": false, "md5_digest": "151bad6e14da24939c03bc9dd927f3f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7735, "upload_time": "2016-01-01T11:39:20", "url": "https://files.pythonhosted.org/packages/ea/db/dcaae1be9e43957e69e3912851191d7dc85a725d78b3f13c482979f89a2b/check-tls-certs-0.3.0.zip" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "aeb908db317de174693abf983844ac4e", "sha256": "3dd45861fc2e62299e4b9f3d212556a94c81b7a96e2006e558aae31d18331a40" }, "downloads": -1, "filename": "check-tls-certs-0.4.0.tar.gz", "has_sig": false, "md5_digest": "aeb908db317de174693abf983844ac4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4919, "upload_time": "2016-02-12T13:37:56", "url": "https://files.pythonhosted.org/packages/86/93/7671ab604f891409063be279f003594d922acbd4b19eac638cd6d69f57ab/check-tls-certs-0.4.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "e4f050405ead7a983daa1c0dfa1491c5", "sha256": "f1f937c7db9a3e4aeea4b6ae9f9f862dc167b4f26d0abf76837919edfda94616" }, "downloads": -1, "filename": "check-tls-certs-0.4.0.zip", "has_sig": false, "md5_digest": "e4f050405ead7a983daa1c0dfa1491c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9419, "upload_time": "2016-02-12T13:37:49", "url": "https://files.pythonhosted.org/packages/5c/85/23c84e23797d4f9ed7cffd0f5704488e6b50623fb4044a7bd036b867de24/check-tls-certs-0.4.0.zip" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "684f0904009302b1eabe127d9fe8c492", "sha256": "05fb54640e9978079425c70ae065385ba61092f282781864d6dd8f4b7cb86d44" }, "downloads": -1, "filename": "check-tls-certs-0.5.0.tar.gz", "has_sig": false, "md5_digest": "684f0904009302b1eabe127d9fe8c492", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5241, "upload_time": "2016-02-17T12:43:33", "url": "https://files.pythonhosted.org/packages/6b/7f/0c0a26e4bf6f39415f2da5f9905373ed80cc05684e74e6a433baeeb46738/check-tls-certs-0.5.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "6843407062a395516158c7eeda8fa0b5", "sha256": "295f5880418e52340f6383246de9f36da296522a40fe5110420cc1e4594ea747" }, "downloads": -1, "filename": "check-tls-certs-0.5.0.zip", "has_sig": false, "md5_digest": "6843407062a395516158c7eeda8fa0b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10037, "upload_time": "2016-02-17T12:43:27", "url": "https://files.pythonhosted.org/packages/61/0e/50dc6aa4f9da2f23328d71cc3594e651eaf251e3a3240c9d7e4da5dd6b63/check-tls-certs-0.5.0.zip" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "fa59d74d87e5c93736cb5c3abd8ceb32", "sha256": "050d672cfe9c6d11a659d0a8fa728d48a8806b89addf7ac9cb99ae35deafafe8" }, "downloads": -1, "filename": "check-tls-certs-0.6.0.tar.gz", "has_sig": false, "md5_digest": "fa59d74d87e5c93736cb5c3abd8ceb32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5482, "upload_time": "2016-02-20T10:03:25", "url": "https://files.pythonhosted.org/packages/66/df/3e92991042d51d2a7778c18dadb097ac95f4cdb793d4b450867ecafb406d/check-tls-certs-0.6.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "993e879567d5f72100c5fc61cdb701bc", "sha256": "7c4843b530c872669f8cb62d8a8ecae0b4f82d3300e4c0dcc5c3b20089387ae9" }, "downloads": -1, "filename": "check-tls-certs-0.6.0.zip", "has_sig": false, "md5_digest": "993e879567d5f72100c5fc61cdb701bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10540, "upload_time": "2016-02-20T10:03:18", "url": "https://files.pythonhosted.org/packages/b9/cb/637613e4c4482698270025ee6f03ac95eb8718e9eef473105b5f67831ff5/check-tls-certs-0.6.0.zip" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "25509123c7adde671d38fe4a2d315cdf", "sha256": "658181cf4407036450ef9bc5373de13df441bac2b6462a6caaa46a0d1b1e0c19" }, "downloads": -1, "filename": "check-tls-certs-0.7.0.tar.gz", "has_sig": false, "md5_digest": "25509123c7adde671d38fe4a2d315cdf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5614, "upload_time": "2016-05-09T08:22:37", "url": "https://files.pythonhosted.org/packages/4d/d5/99c923151e0ec27a81b24e6f0b17a3f1a0ea700561cb564d43da8e8dd905/check-tls-certs-0.7.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "5a195507b15de5e0bae43bf588d8d2c1", "sha256": "07f05c5efc9c582ac424e4f04d143b335beb01399a77dea3d41b3e0d6391cd1a" }, "downloads": -1, "filename": "check-tls-certs-0.7.0.zip", "has_sig": false, "md5_digest": "5a195507b15de5e0bae43bf588d8d2c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10772, "upload_time": "2016-05-09T08:22:11", "url": "https://files.pythonhosted.org/packages/32/4a/a6314d993b99be614cd7946aba6bbfd8eb48563e4fad03cbc2a42867f151/check-tls-certs-0.7.0.zip" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "0ddb83a3f09b2b6bec239bc85612352c", "sha256": "acd235fba62cb280bcdad8ef1676e18ed78d0ba5a1602618ddf6e28e104ad603" }, "downloads": -1, "filename": "check-tls-certs-0.8.0.tar.gz", "has_sig": false, "md5_digest": "0ddb83a3f09b2b6bec239bc85612352c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5672, "upload_time": "2016-05-09T11:18:33", "url": "https://files.pythonhosted.org/packages/aa/af/9e11b7d8c6cc6019e22139b53ee6199c77c341d383c7a251dced1f670819/check-tls-certs-0.8.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "6de0301cff19e03d5e9f9b54b4ae9019", "sha256": "3f268460af094fcb418133157f51456912bf008f6aa083b4f049f9bb59304ed9" }, "downloads": -1, "filename": "check-tls-certs-0.8.0.zip", "has_sig": false, "md5_digest": "6de0301cff19e03d5e9f9b54b4ae9019", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10881, "upload_time": "2016-05-09T11:18:23", "url": "https://files.pythonhosted.org/packages/3b/bc/04bc70038ea8879426f8821161d7915d13a2d1db859e9f47453541bb262f/check-tls-certs-0.8.0.zip" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "86658c756f281d9eb27ed6971313f5db", "sha256": "4b8b560621a7692857a5c62083dcbaceda12891a1c5a90be4cdf28b53a0557e7" }, "downloads": -1, "filename": "check-tls-certs-0.9.0.tar.gz", "has_sig": false, "md5_digest": "86658c756f281d9eb27ed6971313f5db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6293, "upload_time": "2017-04-05T07:50:35", "url": "https://files.pythonhosted.org/packages/f6/79/03af45032602adc761e1e18382d7205734be825a2ea406184a2cd20ec9b0/check-tls-certs-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "9a6b64ae60389b38a7ac0b5e775c7ce0", "sha256": "de2b43c9ae4ce91df49604b0b1538c88824f89c873a51da1b4d44c3063cfe229" }, "downloads": -1, "filename": "check-tls-certs-0.9.1.tar.gz", "has_sig": false, "md5_digest": "9a6b64ae60389b38a7ac0b5e775c7ce0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5822, "upload_time": "2017-04-05T08:22:30", "url": "https://files.pythonhosted.org/packages/5d/2a/2325afb5d756498439f49ceab8de77c5b53bf57f7e607ec37b67fcbd532b/check-tls-certs-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cb8ceb2a321d2998632f2bade2d1d931", "sha256": "48868eea01a1a6bb48cdf3dad013522b374992808cafca066c4e764687551b87" }, "downloads": -1, "filename": "check_tls_certs-0.11.0-py2-none-any.whl", "has_sig": false, "md5_digest": "cb8ceb2a321d2998632f2bade2d1d931", "packagetype": "bdist_wheel", "python_version": "2", "requires_python": null, "size": 9557, "upload_time": "2018-01-07T17:55:20", "url": "https://files.pythonhosted.org/packages/d4/f0/24c01206834a2f1f639a7c1d36e2151aa5030e8a0b8241b5bd22de67e308/check_tls_certs-0.11.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b3acc95704a3563723af797b161aad9", "sha256": "96c3cf173b1ab964c70c3a92c1b8ebe6188a7c161f628d69c949ceaca9f145aa" }, "downloads": -1, "filename": "check-tls-certs-0.11.0.tar.gz", "has_sig": false, "md5_digest": "4b3acc95704a3563723af797b161aad9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8868, "upload_time": "2018-01-07T17:55:18", "url": "https://files.pythonhosted.org/packages/94/9c/e0bb27172bb7aba0fabffcb83de007a04689ff9464e5712d72b66b52ffa4/check-tls-certs-0.11.0.tar.gz" } ] }