@@ -21,6 +21,7 @@ import (
2121 "bufio"
2222 "fmt"
2323 "os"
24+ "os/exec"
2425 "path/filepath"
2526 "strings"
2627
@@ -200,10 +201,21 @@ func (ks *KeyStore) GetCertificateLabels() ([]string, error) {
200201
201202// RenameCertificate renames the specified certificate
202203func (ks * KeyStore ) RenameCertificate (from , to string ) error {
203- out , _ , err := command .Run (ks .command , "-cert" , "-rename" , "-db" , ks .Filename , "-pw" , ks .Password , "-label" , from , "-new_label" , to )
204- if err != nil {
205- return fmt .Errorf ("error running \" %v -cert -rename\" : %v %s" , ks .command , err , out )
204+ if ks .command == "/opt/mqm/bin/runmqakm" {
205+ // runmqakm can't handle certs with ' in them so just use capicmd
206+ cmd := exec .Command ("/opt/mqm/gskit8/bin/gsk8capicmd_64" , "-cert" , "-rename" , "-db" , ks .Filename , "-pw" , ks .Password , "-label" , from , "-new_label" , to )
207+ cmd .Env = append (os .Environ (), "LD_LIBRARY_PATH=/opt/mqm/gskit8/lib64/:/opt/mqm/gskit8/lib" )
208+ out , _ , err := command .RunCmd (cmd )
209+ if err != nil {
210+ return fmt .Errorf ("error running \" %v -cert -rename\" : %v %s" , "/opt/mqm/gskit8/bin/gsk8capicmd_64" , err , out )
211+ }
212+ } else {
213+ out , _ , err := command .Run (ks .command , "-cert" , "-rename" , "-db" , ks .Filename , "-pw" , ks .Password , "-label" , from , "-new_label" , to )
214+ if err != nil {
215+ return fmt .Errorf ("error running \" %v -cert -rename\" : %v %s" , ks .command , err , out )
216+ }
206217 }
218+
207219 return nil
208220}
209221
0 commit comments