func (store *Store) kmsEntries(in []interface{}) (sops.KeySource, error) { var keys []sops.MasterKey keysource := sops.KeySource{Name: "kms", Keys: keys} for _, v := range in { entry, ok := v.(map[interface{}]interface{}) if !ok { fmt.Println("KMS entry has invalid format, skipping...") continue } key := &kms.MasterKey{} key.Arn = entry["arn"].(string) key.EncryptedKey = entry["enc"].(string) role, ok := entry["role"].(string) if ok { key.Role = role } creationDate, err := time.Parse(time.RFC3339, entry["created_at"].(string)) if err != nil { return keysource, fmt.Errorf("Could not parse creation date: %s", err) } key.CreationDate = creationDate if _, ok := entry["context"]; ok { key.EncryptionContext = kms.ParseKMSContext(entry["context"].(string)) } keysource.Keys = append(keysource.Keys, key) } return keysource, nil }
func (store *Store) pgpEntries(in []interface{}) (sops.KeySource, error) { var keys []sops.MasterKey keysource := sops.KeySource{Name: "pgp", Keys: keys} for _, v := range in { entry := v.(map[interface{}]interface{}) key := &pgp.MasterKey{} key.Fingerprint = entry["fp"].(string) key.EncryptedKey = entry["enc"].(string) creationDate, err := time.Parse(time.RFC3339, entry["created_at"].(string)) if err != nil { return keysource, fmt.Errorf("Could not parse creation date: %s", err) } key.CreationDate = creationDate keysource.Keys = append(keysource.Keys, key) } return keysource, nil }
func (store *Store) kmsEntries(in []interface{}) (sops.KeySource, error) { var keys []sops.MasterKey keysource := sops.KeySource{Name: "kms", Keys: keys} for _, v := range in { entry := v.(map[interface{}]interface{}) key := &kms.MasterKey{} key.Arn = entry["arn"].(string) key.EncryptedKey = entry["enc"].(string) role, ok := entry["role"].(string) if ok { key.Role = role } creationDate, err := time.Parse(time.RFC3339, entry["created_at"].(string)) if err != nil { return keysource, fmt.Errorf("Could not parse creation date: %s", err) } key.CreationDate = creationDate keysource.Keys = append(keysource.Keys, key) } return keysource, nil }