{"id":18830207,"url":"https://github.com/gravitee-io/gravitee-common","last_synced_at":"2026-02-05T17:00:33.601Z","repository":{"id":34040966,"uuid":"37810474","full_name":"gravitee-io/gravitee-common","owner":"gravitee-io","description":"Gravitee Common","archived":false,"fork":false,"pushed_at":"2026-02-03T17:32:32.000Z","size":543,"stargazers_count":2,"open_issues_count":9,"forks_count":9,"subscribers_count":25,"default_branch":"master","last_synced_at":"2026-02-04T06:59:05.711Z","etag":null,"topics":["security-scan"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gravitee-io.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.adoc","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-06-21T13:47:52.000Z","updated_at":"2026-02-03T17:32:36.000Z","dependencies_parsed_at":"2024-05-03T21:43:35.224Z","dependency_job_id":"f2cf1d6f-d941-4595-9967-5a1945dd9cb6","html_url":"https://github.com/gravitee-io/gravitee-common","commit_stats":null,"previous_names":[],"tags_count":113,"template":false,"template_full_name":null,"purl":"pkg:github/gravitee-io/gravitee-common","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravitee-io%2Fgravitee-common","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravitee-io%2Fgravitee-common/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravitee-io%2Fgravitee-common/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravitee-io%2Fgravitee-common/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gravitee-io","download_url":"https://codeload.github.com/gravitee-io/gravitee-common/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravitee-io%2Fgravitee-common/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29126040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T14:05:12.718Z","status":"ssl_error","status_checked_at":"2026-02-05T14:03:53.078Z","response_time":65,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["security-scan"],"created_at":"2024-11-08T01:48:08.824Z","updated_at":"2026-02-05T17:00:33.565Z","avatar_url":"https://github.com/gravitee-io.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Gravitee.io Common\n\nimage:https://img.shields.io/badge/License-Apache%202.0-blue.svg[\"License\", link=\"https://github.com/gravitee-io/gravitee-common/blob/master/LICENSE.txt\"]\nimage:https://img.shields.io/badge/semantic--release-conventional%20commits-e10079?logo=semantic-release[\"Releases\", link=\"https://github.com/gravitee-io/gravitee-common/releases\"]\nimage:https://circleci.com/gh/gravitee-io/gravitee-common.svg?style=svg[\"CircleCI\", link=\"https://circleci.com/gh/gravitee-io/gravitee-common\"]\nimage:https://f.hubspotusercontent40.net/hubfs/7600448/gravitee-github-button.jpg[\"Join the community forum\", link=\"https://community.gravitee.io?utm_source=readme\", height=20]\n\n== Unit tests\n\n=== Generate keystores\n\nThis section presents how to generate the different keystores use by the unit tests.\n\nGenerate Certificate Authority\n```bash\nopenssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 36500 -subj \"/emailAddress=unit.tests@graviteesource.com/CN=unit-tests/OU=GraviteeSource/O=GraviteeSource/L=Lille/ST=France/C=FR\" -passout pass:ca-secret -outform PEM -out ca.pem\nopenssl pkcs12 -export -inkey ca.key -in ca.pem -out ca.p12 -passin pass:ca-secret -passout pass:ca-secret -name ca\n```\n\nGenerate localhost keystore\n```bash\nopenssl genrsa -out localhost.key 4096\nopenssl req -new -key localhost.key -out localhost.csr -sha256 -subj \"/emailAddress=unit.tests@graviteesource.com/CN=localhost/OU=GraviteeSource/O=GraviteeSource/L=Lille/ST=France/C=FR\"\nopenssl x509 -req -in localhost.csr -CA ca.pem -CAkey ca.key -set_serial 100 -extensions server -days 36500 -outform PEM -out localhost.cer -sha256 -passin pass:ca-secret\nopenssl pkcs12 -export -inkey localhost.key -in localhost.cer -out localhost.p12 -passout pass:secret -name localhost\nkeytool -importkeystore -srckeystore localhost.p12 -destkeystore localhost.jks -srcstoretype PKCS12 -deststoretype JKS -srcstorepass secret -deststorepass secret -v\n```\n\nGenerate localhost2 keystore\n```bash\nopenssl genrsa -out localhost2.key 4096\nopenssl req -new -key localhost2.key -out localhost2.csr -sha256 -subj \"/emailAddress=unit.tests@graviteesource.com/CN=localhost2/OU=GraviteeSource/O=GraviteeSource/L=Lille/ST=France/C=FR\"\nopenssl x509 -req -in localhost2.csr -CA ca.pem -CAkey ca.key -set_serial 100 -extensions server -days 36500 -outform PEM -out localhost2.cer -sha256 -passin pass:ca-secret\nopenssl pkcs12 -export -inkey localhost2.key -in localhost2.cer -out localhost2.p12 -passout pass:secret -name localhost2\nkeytool -importkeystore -srckeystore localhost2.p12 -destkeystore localhost2.jks -srcstoretype PKCS12 -deststoretype JKS -srcstorepass secret -deststorepass secret -v\n```\n\nGenerate localhost3 keystore with SAN (Subject Alternative Name)\n```bash\necho \"[ req ]\\ndistinguished_name = req_distinguished_name\\nreq_extensions = v3_req\\nextensions = server\\nprompt = no\\nO = GraviteeSource\\nL = Lille\\nST = France\\n\\n[ v3_req ]\\nsubjectAltName = @alt_names\\n[alt_names]\\nDNS.1 = xyz.localhost.com\" \u003e localhost3-san.cnf\nopenssl genrsa -out localhost3.key 4096\nopenssl req -new -key localhost3.key -out localhost3.csr -sha256 -subj \"/emailAddress=unit.tests@graviteesource.com/CN=localhost3/OU=GraviteeSource/O=GraviteeSource/L=Lille/ST=France/C=FR\"\nopenssl x509 -req -in localhost3.csr -CA ca.pem -CAkey ca.key -set_serial 100 -extensions server -days 36500 -outform PEM -out localhost3.cer -sha256 -passin pass:ca-secret -extensions v3_req -extfile localhost3-san.cnf\nopenssl pkcs12 -export -inkey localhost3.key -in localhost3.cer -out localhost3.p12 -passout pass:secret -name localhost3\nkeytool -importkeystore -srckeystore localhost3.p12 -destkeystore localhost3.jks -srcstoretype PKCS12 -deststoretype JKS -srcstorepass secret -deststorepass secret -v\n```\n\nGenerate wildcard keystore\n```bash\nopenssl genrsa -out wildcard.key 4096\npenssl req -new -key wildcard.key -out wildcard.csr -sha256 -subj \"/emailAddress=unit.tests@graviteesource.com/CN=*.localhost.com/OU=GraviteeSource/O=GraviteeSource/L=Lille/ST=France/C=FR\"\nopenssl x509 -req -in wildcard.csr -CA ca.pem -CAkey ca.key -set_serial 100 -extensions server -days 36500 -outform PEM -out wildcard.cer -sha256 -passin pass:ca-secret\nopenssl pkcs12 -export -inkey wildcard.key -in wildcard.cer -out wildcard.p12 -passout pass:secret -name wildcard\nkeytool -importkeystore -srckeystore wildcard.p12 -destkeystore wildcard.jks -srcstoretype PKCS12 -deststoretype JKS -srcstorepass secret -deststorepass secret -v\n```\n\nCreate an all-in-one keystore\n```bash\nkeytool -importkeystore -srckeystore localhost.p12 -destkeystore all-in-one.p12 -srcstoretype PKCS12 -deststoretype PKCS12 -srcstorepass secret -deststorepass secret -v\nkeytool -importkeystore -srckeystore localhost2.p12 -destkeystore all-in-one.p12 -srcstoretype PKCS12 -deststoretype PKCS12 -srcstorepass secret -deststorepass secret -v\nkeytool -importkeystore -srckeystore localhost3.p12 -destkeystore all-in-one.p12 -srcstoretype PKCS12 -deststoretype PKCS12 -srcstorepass secret -deststorepass secret -v\nkeytool -importkeystore -srckeystore wildcard.p12 -destkeystore all-in-one.p12 -srcstoretype PKCS12 -deststoretype PKCS12 -srcstorepass secret -deststorepass secret -v\nkeytool -importkeystore -srckeystore all-in-one.p12 -destkeystore all-in-one.jks -srcstoretype PKCS12 -deststoretype JKS -srcstorepass secret -deststorepass secret -v\n```\n\nGenerate a PKCS#8 private key\n```bash\nopenssl genpkey -out rsakey.pem -algorithm RSA -pkeyopt rsa_keygen_bits:2048\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgravitee-io%2Fgravitee-common","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgravitee-io%2Fgravitee-common","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgravitee-io%2Fgravitee-common/lists"}