{"id":22462460,"url":"https://github.com/commonjava/ssl-dojo","last_synced_at":"2025-03-27T14:20:15.442Z","repository":{"id":137441791,"uuid":"45160472","full_name":"Commonjava/ssl-dojo","owner":"Commonjava","description":"docker image that generates SSL certificates in various ways and hosts Apache httpd using the result","archived":false,"fork":false,"pushed_at":"2015-11-17T23:33:36.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-20T17:55:19.804Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Commonjava.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-29T04:38:11.000Z","updated_at":"2015-11-06T17:57:40.000Z","dependencies_parsed_at":"2023-03-13T18:37:49.610Z","dependency_job_id":null,"html_url":"https://github.com/Commonjava/ssl-dojo","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Commonjava%2Fssl-dojo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Commonjava%2Fssl-dojo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Commonjava%2Fssl-dojo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Commonjava%2Fssl-dojo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Commonjava","download_url":"https://codeload.github.com/Commonjava/ssl-dojo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245858889,"owners_count":20684062,"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":[],"created_at":"2024-12-06T09:09:47.800Z","updated_at":"2025-03-27T14:20:15.415Z","avatar_url":"https://github.com/Commonjava.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SSL Dojo\n\nThis is a relatively simple Docker image for use in testing applications' HTTP client SSL features. On startup, it will generate certificates and CAs as appropriate for the selected profile, and then start an Apache HTTPd service using the result. This httpd then hosts the certificates under `/ssl-config/` so the client can download and use them during tests. It also hosts a couple of diagnostic CGIs and another one used to push test content up to the server during test setup.\n\nSSL profiles and other configurations can be managed when the Docker container is started using environment variables (`-e` options to the `docker run` command).\n\n## SSL Profiles\n\n*NOTE:* All CAs mentioned below will be generated on startup.\n\n### Self-Signed\n\nSpecify `CA_TYPE=self`.\n\n### Signed by root CA\n\nSpecify `CA_TYPE=single`.\n\n### Signed by an intermediary CA\n\nSpecify `CA_TYPE=multi`.\n\n## Specifying the host in the certificate CN\n\nBy default, the host is set to `test.myco.com`. If you want to change it, specify `CA_HOST=\u003chostname\u003e`.\n\n## Exposed ports\n\nThe image also exposes ports 80 and 443 for mapping.\n\n## Managing test content\n\nTo push content up to the server for testing, you might use something that approximates the following command:\n\n    $ curl -i -X PUT --data-binary @myfile.txt http://172.17.0.1/cgi-bin/content.py/myfile.txt\n\nThen, you should be able to retrieve the content again using either http or https:\n\n    $ curl -i http://172.17.0.1/myfile.txt\n\nTo remove content, issue a DELETE command like the following:\n\n    $ curl -X DELETE http://172.17.0.1/cgi-bin/content.py/myfile.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommonjava%2Fssl-dojo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcommonjava%2Fssl-dojo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommonjava%2Fssl-dojo/lists"}