diff options
| author | mo khan <mo.khan@gmail.com> | 2020-09-15 16:34:19 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-09-15 16:34:19 -0600 |
| commit | c8057b3b01baeaa10fcb075260901e63fdce449f (patch) | |
| tree | 97c8cc3b60bec56627d520bc1cd539cf4e7c7adb | |
| parent | b9f82cd57910e02bbe6cf5bd6ae36b28eb7b0e83 (diff) | |
fix: install x509 cert into java 11 keystore
| -rw-r--r-- | lib/license/management/tool_box.rb | 7 | ||||
| -rw-r--r-- | spec/integration/java/maven_spec.rb | 36 |
2 files changed, 23 insertions, 20 deletions
diff --git a/lib/license/management/tool_box.rb b/lib/license/management/tool_box.rb index 0e39a61..4c41b36 100644 --- a/lib/license/management/tool_box.rb +++ b/lib/license/management/tool_box.rb @@ -26,7 +26,7 @@ module License shell.execute([:asdf, :reshim], env: env) end install_common_libraries(env: env) if C_BASED_TOOLS.include?(tool.to_sym) - install_certificates_into_java_keystore(env) if tool == :java + install_certificates_into_java_keystore(env, version) if tool == :java end def install_common_libraries(env: {}) @@ -116,10 +116,11 @@ module License asdf_detected_version_of(:java) end - def install_certificates_into_java_keystore(env) + def install_certificates_into_java_keystore(env, version) Dir.chdir shell.custom_certificate_path.dirname do Dir.glob('custom.*.crt').each do |path| - keystore_path = "#{env['JAVA_HOME']}/jre/lib/security/cacerts" + java_home = Pathname.new(env['JAVA_HOME']) + keystore_path = "8" == version ? java_home.join("jre/lib/security/cacerts") : java_home.join("lib/security/cacerts") shell.execute([:keytool, '-importcert', '-alias', Time.now.to_i, '-file', File.expand_path(path), '-trustcacerts', '-noprompt', '-storepass', 'changeit', '-keystore', keystore_path], env: env) shell.execute([:keytool, '-list', '-v', '-storepass changeit', '-keystore', keystore_path], env: env) end diff --git a/spec/integration/java/maven_spec.rb b/spec/integration/java/maven_spec.rb index 671243e..ca26d28 100644 --- a/spec/integration/java/maven_spec.rb +++ b/spec/integration/java/maven_spec.rb @@ -90,25 +90,27 @@ RSpec.describe "maven" do end end - context "when connecting to a custom package registry with a self signed certificate" do - let(:env) { { 'ADDITIONAL_CA_CERT_BUNDLE' => x509_certificate.read } } - - before do - runner.add_file('pom.xml') do - fixture_file_content('java/maven/pom-single.xml.erb', { - group_id: 'com.fasterxml.jackson.core', - artifact_id: 'jackson-core', - version: '2.10.0', - repository_id: 'custom', - repository_url: "https://maven.test/maven2" - }) + [8, 11].each do |java_version| + context "when connecting to a custom package registry with a self signed certificate using JAVA #{java_version}" do + let(:env) { { 'ADDITIONAL_CA_CERT_BUNDLE' => x509_certificate.read, 'LM_JAVA_VERSION' => java_version.to_s } } + + before do + runner.add_file('pom.xml') do + fixture_file_content('java/maven/pom-single.xml.erb', { + group_id: 'com.fasterxml.jackson.core', + artifact_id: 'jackson-core', + version: '2.10.0', + repository_id: 'custom', + repository_url: "https://maven.test/maven2" + }) + end end - end - specify do - expect(subject).to match_schema - expect(subject.dependency_names).to match_array(['jackson-core']) - expect(subject.licenses_for('jackson-core')).to match_array(['Apache-2.0']) + specify do + expect(subject).to match_schema + expect(subject.dependency_names).to match_array(['jackson-core']) + expect(subject.licenses_for('jackson-core')).to match_array(['Apache-2.0']) + end end end |
