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  }