+func certInfo(certRaw []byte) string {
+ cmd := exec.Command("certtool", "--certificate-info", "--inder")
+ cmd.Stdin = bytes.NewReader(certRaw)
+ out, err := cmd.Output()
+ if err != nil {
+ return err.Error()
+ }
+ lines := make([]string, 0, 128)
+ for i, line := range strings.Split(string(out), "\n") {
+ if strings.Contains(line, "ASCII:") {
+ continue
+ }
+ lines = append(lines, fmt.Sprintf(
+ "%03d %s", i, strings.ReplaceAll(line, `"`, `\"`),
+ ))
+ }
+ return strings.Join(lines, "\n")
+}
+