{"id":25080142,"url":"https://github.com/frgrisk/tls-checker","last_synced_at":"2025-07-20T22:07:39.542Z","repository":{"id":272571265,"uuid":"917051748","full_name":"frgrisk/tls-checker","owner":"frgrisk","description":"Validate TLS certificates, private keys, and root CA configurations.","archived":false,"fork":false,"pushed_at":"2025-07-01T10:32:16.000Z","size":86,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-01T11:39:31.179Z","etag":null,"topics":["devops","golang","tls"],"latest_commit_sha":null,"homepage":"https://pkg.go.dev/github.com/frgrisk/tls-checker","language":"Go","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/frgrisk.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,"zenodo":null}},"created_at":"2025-01-15T09:05:44.000Z","updated_at":"2025-07-01T10:30:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc65b5d8-00a5-4d39-b8f9-1aeafa0ba38b","html_url":"https://github.com/frgrisk/tls-checker","commit_stats":null,"previous_names":["frgrisk/tls-checker"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/frgrisk/tls-checker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frgrisk%2Ftls-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frgrisk%2Ftls-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frgrisk%2Ftls-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frgrisk%2Ftls-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frgrisk","download_url":"https://codeload.github.com/frgrisk/tls-checker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frgrisk%2Ftls-checker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266205693,"owners_count":23892502,"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":["devops","golang","tls"],"created_at":"2025-02-07T03:18:09.462Z","updated_at":"2025-07-20T22:07:39.522Z","avatar_url":"https://github.com/frgrisk.png","language":"Go","readme":"# TLS Checker\n\nA command-line tool for testing and validating TLS certificates, private keys, and root CA configurations. It supports testing TLS connections against both HTTP and RabbitMQ servers, ensuring your certificates are properly configured and trusted.\n\n## Features\n\n- Validate TLS certificate chains and trust relationships\n- Test certificate/key pairs against HTTP and RabbitMQ servers\n- Verify root CA trust configuration\n- Auto mode for quick certificate validation with random ports\n- Interactive spinners for progress feedback\n- Configurable via command line flags or config file\n- TLS 1.2+ enforced for security\n\n## Certificate Requirements\n\nThe tool expects the following files:\n\n- `cert.pem`: Server certificate\n- `key.pem`: Private key for the server certificate\n- `rootCA.pem`: Root CA certificate for client verification\n\nAll certificates should be in PEM format.\n\n## Installation\n\n### Prerequisites\n\n- Go 1.21 or later\n- Docker (for RabbitMQ server functionality)\n\n### Installing from source\n\n```bash\ngo install github.com/frgrisk/tls-checker@latest\n```\n\n## Usage\n\n### Auto Mode (Recommended)\n\nAutomatically test both HTTP and RabbitMQ TLS connections with random ports:\n\n```bash\ntls-checker auto --cert cert.pem --key key.pem --ca rootCA.pem --host localhost\n```\n\nThis will:\n\n1. Start an HTTPS server on a random port and test the connection\n2. Start a RabbitMQ server with TLS on random ports and test the connection\n3. Clean up all servers after testing\n\n### Manual Server Modes\n\n#### Running HTTP Server\n\n```bash\ntls-checker server --cert cert.pem --key key.pem --addr localhost:8443\n```\n\n#### Running RabbitMQ Server\n\n```bash\ntls-checker server --rabbitmq --cert cert.pem --key key.pem\n```\n\n### Testing HTTP Connection\n\n```bash\ntls-checker client --ca rootCA.pem --addr localhost:8443\n```\n\n### Testing RabbitMQ Connection\n\n```bash\ntls-checker client --rabbitmq --ca rootCA.pem --addr localhost:5671\n```\n\n## Configuration\n\nConfiguration can be provided via command-line flags or a config file (`$HOME/.tlsapp.yaml`).\n\n### Command-line Flags\n\n- `--config`: Path to config file (default: `$HOME/.tlsapp.yaml`)\n- `--cert`: Path to certificate file (default: `cert.pem`)\n- `--key`: Path to private key file (default: `key.pem`)\n- `--ca`: Path to root CA certificate (default: `rootCA.pem`)\n- `--addr`: Address to serve on or connect to (default: `localhost:8443`)\n- `--host`: Host to use for connections in auto mode (default: `localhost`)\n\n### Config File Format\n\n```yaml\ncert: \"cert.pem\"\nkey: \"key.pem\"\nca: \"rootCA.pem\"\naddr: \"localhost:8443\"\n```\n\n## Development\n\n### Running Tests\n\n```bash\ngo test ./...\n```\n\n### Linting\n\nThe project uses golangci-lint for code quality. To run linters:\n\n```bash\ngolangci-lint run ./...\n```\n\n## Security Notes\n\n- TLS 1.2+ enforced for all connections\n- Certificate verification enabled by default\n- RabbitMQ server runs in an isolated Docker container\n- Temporary files cleaned up automatically\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrgrisk%2Ftls-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrgrisk%2Ftls-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrgrisk%2Ftls-checker/lists"}