{"id":20504699,"url":"https://github.com/proffix4/java_ssl_cacerts","last_synced_at":"2025-10-27T19:42:21.242Z","repository":{"id":119286063,"uuid":"420145036","full_name":"proffix4/java_ssl_cacerts","owner":"proffix4","description":"Добавление сертификата сайта в хранилище Java для доступа к нему по SSL","archived":false,"fork":false,"pushed_at":"2021-11-01T15:09:31.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T20:56:37.463Z","etag":null,"topics":["java","keytool","ssl"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/proffix4.png","metadata":{"files":{"readme":"README","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":"2021-10-22T15:13:29.000Z","updated_at":"2021-11-01T15:09:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"2e1f62c9-e077-4701-9a76-95ccf703a8aa","html_url":"https://github.com/proffix4/java_ssl_cacerts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/proffix4/java_ssl_cacerts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proffix4%2Fjava_ssl_cacerts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proffix4%2Fjava_ssl_cacerts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proffix4%2Fjava_ssl_cacerts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proffix4%2Fjava_ssl_cacerts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/proffix4","download_url":"https://codeload.github.com/proffix4/java_ssl_cacerts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proffix4%2Fjava_ssl_cacerts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272934963,"owners_count":25017978,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["java","keytool","ssl"],"created_at":"2024-11-15T19:39:42.297Z","updated_at":"2025-10-27T19:42:16.210Z","avatar_url":"https://github.com/proffix4.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"InstallCert.java\r\n\r\nJava program written by Andreas Sterbenz, and posted on a blog in Oct, 2006:\r\nhttps://blogs.oracle.com/gc/entry/unable_to_find_valid_certification\r\n\r\nLink to Java program in Andreas' blog no longer works, but the source was linked in another blog:\r\nhttps://web.archive.org/web/20190831085142/http://nodsw.com/blog/leeland/2006/12/06-no-more-unable-find-valid-certification-path-requested-target\r\n\r\nUsage:\r\nNeed to compile, first:\r\njavac InstallCert.java\r\n\r\nNote: since java 11, you can run it directly without compiling it first:\r\njava --source 11 InstallCert.java \u003cargs\u003e\r\n\r\n# Access server, and retrieve certificate (accept default certificate 1)\r\njava InstallCert [--proxy=proxyHost:proxyPort] \u003chost\u003e[:port] [passphrase]\r\n\r\n# Extract certificate from created jssecacerts keystore\r\nkeytool -exportcert -alias [host]-1 -keystore jssecacerts -storepass changeit -file [host].cer\r\n\r\n# Import certificate into system keystore\r\nkeytool -importcert -alias [host] -keystore [path to system keystore] -storepass changeit -file [host].cer\r\n\r\n# Example:\r\njava InstallCert woot.com:443\r\n\r\n    Loading KeyStore /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/cacerts...\r\n    Opening connection to woot.com:443...\r\n    Starting SSL handshake...\r\n\r\n    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\r\n\r\n    \u003c...\u003e\r\n\r\n    Server sent 1 certificate(s):\r\n\r\n     1 Subject O=Woot Inc, C=US, ST=Texas, L=Carrollton, CN=*.woot.com\r\n       Issuer  CN=SecureTrust CA, O=SecureTrust Corporation, C=US\r\n       sha1    4b 46 ca 6b 83 05 b3 51 ff c6 e7 9c fd b3 9b e3 3f 2e c4 53 \r\n       md5     e8 a5 88 1b d5 67 bb fc 88 cc b1 c5 2b ac c4 7d \r\n\r\n    Enter certificate to add to trusted keystore or 'q' to quit: [1]\r\n\r\n[enter]\r\n\r\n    [\r\n    [\r\n      Version: V3\r\n      Subject: O=Woot Inc, C=US, ST=Texas, L=Carrollton, CN=*.woot.com\r\n      Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5\r\n\r\n    \u003c...\u003e\r\n\r\n    Added certificate to keystore 'jssecacerts' using alias 'woot.com-1'\r\n\r\nkeytool -exportcert -alias woot.com-1 -keystore jssecacerts -storepass changeit -file woot.com.cer\r\n\r\n    Certificate stored in file \u003cwoot.com.cer\u003e\r\n  \r\n(sudo) keytool -importcert -alias woot.com -keystore /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/cacerts -storepass changeit -file woot.com.cer\r\n\r\n    Owner: O=Woot Inc, C=US, ST=Texas, L=Carrollton, CN=*.woot.com\r\n    Issuer: CN=SecureTrust CA, O=SecureTrust Corporation, C=US\r\n  \r\n    \u003c...\u003e\r\n  \r\n    Trust this certificate? [no]:\r\n  \r\nyes\r\n\r\n    Certificate was added to keystore\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproffix4%2Fjava_ssl_cacerts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproffix4%2Fjava_ssl_cacerts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproffix4%2Fjava_ssl_cacerts/lists"}