{ "info": { "author": "osmen", "author_email": "lijiguan1@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3.6" ], "description": "## \u793a\u4f8b\n### \u53c8\u62cd\u4e91\u6a21\u62df\u767b\u5f55\u4e0a\u4f20\u66f4\u65b0\u8bc1\u4e66\n```\n# \u53c8\u62cd\u4e91\u6ca1\u6709\u63d0\u4f9b\u8bc1\u4e66\u66f4\u65b0\u63a5\u53e3,\u7528\u6a21\u62df\u767b\u5f55\u65b9\u5f0f\u66f4\u65b0\nfrom sslmanage import HTTPClient, UpLogin, UpCertManager\nreq_session = HTTPClient()\n# \u53c8\u62cd\u4e91\u6a21\u62df\u767b\u5f55\u4e0a\u4f20user: \u53c8\u62cd\u4e91\u7f51\u7ad9\u7528\u6237\u767b\u5f55\u540d\u3000\u3000passwd:\u53c8\u62cd\u4e91\u7f51\u7ad9\u7528\u6237\u767b\u5f55\u5bc6\u7801\nUpLogin(req_session, user='xx', passwd='xx')\ncertManager = UpCertManager(req_session,\n domain=['cdn.xx.com','img.xx.com'],\n cert_file='/root/xx.com.crt',\n key_file='/root/xx.com.key',)\n\n# \u4e0a\u4f20\u8bc1\u4e66\ncertManager.add_cert()\n# \u66f4\u65b0\u8bc1\u4e66\ncertManager.set_cert()\n# \u83b7\u53d6\u8bc1\u4e66\n# certManager.get_cert_by_domain()\n```\n\n### \u4e03\u725b\u4e0a\u4f20\u66f4\u65b0\u8bc1\u4e66\n```\n# \u586b\u5199\u4e03\u725bapi\u8d26\u53f7\u4fe1\u606f\naccess_key = 'xx'\nsecret_key = 'xx'\ncmd = QnCertManager(root_domain='xx.com',\n domain=['cdn.xx.com','img.xx.com'],\n cert_file='/root/xx.com.crt',\n key_file='/root/xx.com.key',\n access_key=access_key,\n secret_key=secret_key)\ncmd.handle()\n```\n\n### \u7f16\u5199\u811a\u672c\u793a\u4f8b\n``` upssl.py\n# coding: utf-8\nimport argparse\nfrom sslmanage.qiniu_ssl import QnCertManager\nfrom sslmanage.upyun_ssl import HTTPClient, UpLogin, UpCertManager\n\n\ndef _qiniu_ssl(cert_option):\n print(cert_option)\n\n access_key = 'xx'\n secret_key = 'oo'\n cmd = QnCertManager(cert_option['root_domain'],\n cert_option['domain']['qiniu'],\n cert_option['cert_file'],\n cert_option['key_file'],\n access_key,\n secret_key)\n\n cmd.handle()\n\n\ndef _upyun_ssl(cert_option):\n print(cert_option)\n req_session = HTTPClient()\n # # # \u767b\u5f55\n UpLogin(req_session, user='xx', passwd='xx')\n certManager = UpCertManager(req_session,\n domain=cert_option['domain']['upyun'],\n cert_file=cert_option['cert_file'],\n key_file=cert_option['key_file'])\n # \u83b7\u53d6\u8bc1\u4e66\n # certManager.get_cert_by_domain()\n\n # \u4e0a\u4f20\u8bc1\u4e66\n certManager.add_cert()\n # \u66f4\u65b0\u8bc1\u4e66\n certManager.set_cert()\n\n\ndef run_test(platform, cert_option):\n platform_task = {\n 'upyun': _upyun_ssl,\n 'qiniu': _qiniu_ssl\n }\n platforms = platform.split(',')\n for task in platforms:\n taskcall = platform_task.get(task)\n taskcall and taskcall(cert_option)\n\n\nif __name__ == '__main__':\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--domain\", help=\"\u6839\u57df\u5982invit.vip \u4e0d\u52a0\u4e8c\u7ea7\u57df\u540d\", type=str)\n parser.add_argument(\"--cert_dir\", help=\"\u8bc1\u4e66\u76ee\u5f55\", type=str)\n parser.add_argument(\"--platform\", help=\"qiniu,upyun \u9017\u53f7\u5206\u5272\u591a\u5e73\u53f0\", type=str)\n args = parser.parse_args()\n\n cert_task_map = {\n 'xx.top': {\n 'root_domain': 'xx.top',\n 'domain': {\n 'upyun': ['cdn.xx.top', 'mt-cdn.xx.top'],\n 'qiniu': 'mt-card.xx.top'\n },\n 'cert_file': f'{args.cert_dir}xx.top',\n 'key_file': f'{args.cert_dir}xx.top.key'\n },\n 'oo.vip': {\n 'root_domain': 'oo.vip',\n 'domain': {\n 'qiniu': 'img1.oo.vip'\n },\n 'cert_file': f'{args.cert_dir}oo.vip.crt',\n 'key_file': f'{args.cert_dir}oo.vip.key'\n }\n }\n run_test(args.platform, cert_task_map[args.domain])\n\n```\n\n**\u8fd0\u884c\u811a\u672c**\n```\npython upssl.py --domain xx.top --cert_dir /home/kaifazhe/Downloads/xx.top/ --platform qiniu,upyun\n```\n\n**\u5c06\u811a\u672c\u653e\u5230 acme.sh\u8bc1\u4e66\u9881\u53d1\u811a\u672c\u4e2d**\n\u5982\u9881\u53d1\u3000xx.top\u57df\u540d\uff0c\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\n```\n vi ~/.acme.sh/xx.top/xx.top.conf\n Le_ReloadCmd='/xx/python /xxx/upssl.py --domain xx.top --cert_dir /home/kaifazhe/Downloads/xx.top/ --platform qiniu,upyun'\n```\n\u6bcf\u5f53acme.sh\u3000\u66f4\u65b0\u8bc1\u4e66\u65f6\u4f1a\u6267\u884c\u8be5\u811a\u672c\uff0c\u8fd9\u6837\u5988\u5988\u518d\u4e5f\u4e0d\u7528\u62c5\u5fc3\u8bc1\u4e66\u8fc7\u671f\u4e86\uff01", "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/Angel-fund/sslmanage", "keywords": "\u4e03\u725b\uff0c\u53c8\u62cd\u4e91\u8bc1\u4e66\u66f4\u65b0", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "sslmanage", "package_url": "https://pypi.org/project/sslmanage/", "platform": "", "project_url": "https://pypi.org/project/sslmanage/", "project_urls": { "Homepage": "https://github.com/Angel-fund/sslmanage" }, "release_url": "https://pypi.org/project/sslmanage/1.0.5/", "requires_dist": null, "requires_python": "", "summary": "\u4e03\u725b\uff0c\u53c8\u62cd\u4e91\u8bc1\u4e66\u66f4\u65b0", "version": "1.0.5" }, "last_serial": 5490894, "releases": { "1.0.4": [ { "comment_text": "", "digests": { "md5": "44c2a1ee184728d9f9cf660476f14cc7", "sha256": "06514c823924b4b883004a0fb61ba42b836532cf9238e854bbfd51b4337b4746" }, "downloads": -1, "filename": "sslmanage-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "44c2a1ee184728d9f9cf660476f14cc7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8493, "upload_time": "2019-01-11T02:55:05", "url": "https://files.pythonhosted.org/packages/46/d2/16b8c09a8435d8b9badd375275cb9db28e54e067335fbc70dc982caa1771/sslmanage-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff2e6fce4ffc132638063117781ba7d7", "sha256": "738b31bb3ab6650a4762ad82a0dd6638c0d594d7cf352b12f9dceb513158f35d" }, "downloads": -1, "filename": "sslmanage-1.0.4.tar.gz", "has_sig": false, "md5_digest": "ff2e6fce4ffc132638063117781ba7d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6964, "upload_time": "2019-01-11T02:55:08", "url": "https://files.pythonhosted.org/packages/4e/0a/03a103e7cd98778605ac3f204606155f4224a47096754c21f5a404b6ff10/sslmanage-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "68f07b0735f3601a5ef1f9a414ffbd06", "sha256": "fb6d0c4122256ef4f2f6d3da3a17242fea786f8923c6f3986cc33c6a3cd3f09c" }, "downloads": -1, "filename": "sslmanage-1.0.5-py3.6.egg", "has_sig": false, "md5_digest": "68f07b0735f3601a5ef1f9a414ffbd06", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 22039, "upload_time": "2019-07-05T11:12:34", "url": "https://files.pythonhosted.org/packages/ff/5b/4746014e549c4239db949dd877c0e9506e1ec0a4e257e1799a9e9f5fb987/sslmanage-1.0.5-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "eb3db8260b93cd389dbb93cbe5e53f20", "sha256": "2f21159b4a2b5b96f99a3e233bae6882974a6157bd13512cb45b0921574d6f84" }, "downloads": -1, "filename": "sslmanage-1.0.5.tar.gz", "has_sig": false, "md5_digest": "eb3db8260b93cd389dbb93cbe5e53f20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7786, "upload_time": "2019-07-05T11:12:35", "url": "https://files.pythonhosted.org/packages/5d/10/0a2489d71d20860b451b56d9be4f78bb108423f219a69ffb8088d0db826d/sslmanage-1.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "68f07b0735f3601a5ef1f9a414ffbd06", "sha256": "fb6d0c4122256ef4f2f6d3da3a17242fea786f8923c6f3986cc33c6a3cd3f09c" }, "downloads": -1, "filename": "sslmanage-1.0.5-py3.6.egg", "has_sig": false, "md5_digest": "68f07b0735f3601a5ef1f9a414ffbd06", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 22039, "upload_time": "2019-07-05T11:12:34", "url": "https://files.pythonhosted.org/packages/ff/5b/4746014e549c4239db949dd877c0e9506e1ec0a4e257e1799a9e9f5fb987/sslmanage-1.0.5-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "eb3db8260b93cd389dbb93cbe5e53f20", "sha256": "2f21159b4a2b5b96f99a3e233bae6882974a6157bd13512cb45b0921574d6f84" }, "downloads": -1, "filename": "sslmanage-1.0.5.tar.gz", "has_sig": false, "md5_digest": "eb3db8260b93cd389dbb93cbe5e53f20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7786, "upload_time": "2019-07-05T11:12:35", "url": "https://files.pythonhosted.org/packages/5d/10/0a2489d71d20860b451b56d9be4f78bb108423f219a69ffb8088d0db826d/sslmanage-1.0.5.tar.gz" } ] }