()
| 1206 | } |
| 1207 | |
| 1208 | func getOrMakeKeyring() (keyID, secRing string, err error) { |
| 1209 | secRing = osutil.SecretRingFile() |
| 1210 | _, err = wkfs.Stat(secRing) |
| 1211 | switch { |
| 1212 | case err == nil: |
| 1213 | keyID, err = jsonsign.KeyIdFromRing(secRing) |
| 1214 | if err != nil { |
| 1215 | err = fmt.Errorf("Could not find any keyID in file %q: %v", secRing, err) |
| 1216 | return |
| 1217 | } |
| 1218 | log.Printf("Re-using identity with keyID %q found in file %s", keyID, secRing) |
| 1219 | case os.IsNotExist(err): |
| 1220 | keyID, err = jsonsign.GenerateNewSecRing(secRing) |
| 1221 | if err != nil { |
| 1222 | err = fmt.Errorf("Could not generate new secRing at file %q: %v", secRing, err) |
| 1223 | return |
| 1224 | } |
| 1225 | log.Printf("Generated new identity with keyID %q in file %s", keyID, secRing) |
| 1226 | default: |
| 1227 | err = fmt.Errorf("Could not stat secret ring %q: %v", secRing, err) |
| 1228 | } |
| 1229 | return |
| 1230 | } |
no test coverage detected