github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/java/keytool.go (about) 1 package java 2 3 import ( 4 "os" 5 "path/filepath" 6 7 "github.com/SAP/jenkins-library/pkg/command" 8 "github.com/SAP/jenkins-library/pkg/log" 9 ) 10 11 const defaultTruststorePath = "lib/security/cacerts" 12 const DefaultTruststorePassword = "changeit" 13 14 func GetDefaultTruststorePath() string { 15 return filepath.Join(os.Getenv("JAVA_HOME"), filepath.FromSlash(defaultTruststorePath)) 16 } 17 18 func GetMavenOpts(truststoreFile string) string { 19 return "-Djavax.net.ssl.trustStore=" + truststoreFile + " -Djavax.net.ssl.trustStorePassword=" + DefaultTruststorePassword 20 } 21 22 func ImportCert(runner command.ExecRunner, destTruststore, certfile string) error { 23 options := []string{ 24 "-import", 25 "-noprompt", 26 "-storepass", DefaultTruststorePassword, 27 "-keystore", destTruststore, 28 "-file", certfile, 29 "-alias", filepath.Base(certfile), 30 } 31 log.Entry().Infof("Importing certificate: %s", certfile) 32 return runner.RunExecutable("keytool", options...) 33 } 34 35 func ImportTruststore(runner command.ExecRunner, destTruststore, srcTruststore string) error { 36 options := []string{ 37 "-importkeystore", 38 "-noprompt", 39 "-srckeystore", srcTruststore, 40 "-srcstorepass", DefaultTruststorePassword, 41 "-destkeystore", destTruststore, 42 "-deststorepass", DefaultTruststorePassword, 43 } 44 log.Entry().Debugf("Copying existing trust store: %s", srcTruststore) 45 return runner.RunExecutable("keytool", options...) 46 }