{"id":23662760,"url":"https://github.com/kezhengjie/ssl_cert_check","last_synced_at":"2025-12-04T14:30:14.978Z","repository":{"id":163339239,"uuid":"533213387","full_name":"kezhengjie/ssl_cert_check","owner":"kezhengjie","description":"c++ https ssl certificate expiration time and info check tool.Simple and Friendly API of both Cli and Library.","archived":false,"fork":false,"pushed_at":"2022-09-17T08:48:12.000Z","size":16559,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-25T03:22:25.255Z","etag":null,"topics":["asio","cli","cmake","cpp","easy-to-use","https","https-certificate-expiry","library","openssl","simple-api","ssl-certificate-check"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kezhengjie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-06T07:37:58.000Z","updated_at":"2022-09-23T13:15:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"184e925e-7369-4ed3-9162-ac7d8ee4d93d","html_url":"https://github.com/kezhengjie/ssl_cert_check","commit_stats":null,"previous_names":["kezhengjie/ssl_cert_check"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezhengjie%2Fssl_cert_check","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezhengjie%2Fssl_cert_check/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezhengjie%2Fssl_cert_check/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezhengjie%2Fssl_cert_check/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kezhengjie","download_url":"https://codeload.github.com/kezhengjie/ssl_cert_check/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239656204,"owners_count":19675564,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asio","cli","cmake","cpp","easy-to-use","https","https-certificate-expiry","library","openssl","simple-api","ssl-certificate-check"],"created_at":"2024-12-29T05:07:41.299Z","updated_at":"2025-12-04T14:30:14.929Z","avatar_url":"https://github.com/kezhengjie.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ssl_cert_check\nc++ https ssl certificate expiration time and info check tool.\n\n\n## Library Usage\n```c++\n#include \"ssl_cert_check.h\"\n...\nscc::SSLCertCheck check;\n// add target endpoint,default port is 443;\ncheck.Add(\"google.com\");\ncheck.Add(\"www.google.com\",443);\ncheck.BeginCheck(\n    [\u0026](const scc::SSLCertCheckResult\u0026 result) -\u003e void\n    {\n        if (result.HasError())\n            std::cout \u003c\u003c \"error:\" \u003c\u003c result.Message() \u003c\u003c std::endl;\n        std::cout \u003c\u003c v \u003c\u003c std::endl;\n    });\n```\n\n## Cli usage\n```\n./ssl_cert_check google.com\n```\nor specify port\n```\n./ssl_cert_check google.com 443\n```\n\noutput:\n```\ndomain -\u003e google.com\nport -\u003e 443\nnot before -\u003e 209 days,11390 secs\nnot after -\u003e 170 days,75009 secs\n```\n\nyou could also specify domains to resolve by file,a domain (and a port) per line.  \n`-f` arg to specify file.\n\n```domains.txt```\n```\ngoogle.com 443\nwww.google.com\nyoutube.com 444\ncloudflare.com\n```\n```\n./ssl_cert_check -fdomains.txt\n```\n```\n----------------------------------------\ndomain -\u003e google.com\nport -\u003e 443\nnot before -\u003e 745 days,12886 secs\nnot after -\u003e 24 days,30314 secs\n----------------------------------------\ndomain -\u003e www.google.com\nport -\u003e 443\nnot before -\u003e 745 days,0 secs\nnot after -\u003e 24 days,30314 secs\n----------------------------------------\nerror:connect to target endpoint failed\ndomain -\u003e youtube.com\nport -\u003e 444\nnot before -\u003e 0 days,0 secs\nnot after -\u003e 0 days,0 secs\n----------------------------------------\ndomain -\u003e cloudflare.com\nport -\u003e 443\nnot before -\u003e 745 days,0 secs\nnot after -\u003e 24 days,30314 secs\n----------------------------------------\n```\n\n## Compile\n\n1. Init all git module\n```bash\ngit submodule update --init --recursive\n```\n\n2. use `CMake` to compile.\n\n```bash\n# linux\nmkdir build ; cd build ; cmake .. ; make ;\n```\n\nFor `Linux` user,you need to install `openssl` in your system.  \nFor `Windows` user,there are `openssl` header files and precompiled `openssl` lib in this repository.  \nYou could simply `CMake` it using `Visual Studio`.But if the compile has any unexpected error,you might need to change the `openssl`  \ndependency yourself.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkezhengjie%2Fssl_cert_check","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkezhengjie%2Fssl_cert_check","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkezhengjie%2Fssl_cert_check/lists"}