Skip to content

Commit a2ce23a

Browse files
authored
Merge pull request #334 from parrobe/capifix
use capicmd for renaming certs
2 parents 83fe77b + 95ba16c commit a2ce23a

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

internal/keystore/keystore.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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
202203
func (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

Comments
 (0)