in internal/metadata/unmarshal.go [262:286]
func (k *windowsKeys) UnmarshalJSON(b []byte) error {
var s string
if err := json.Unmarshal(b, &s); err != nil {
return err
}
for _, jskey := range strings.Split(s, "\n") {
var wk windowsKey
if err := json.Unmarshal([]byte(jskey), &wk); err != nil {
galog.Errorf("failed to unmarshal windows key from metadata: %s", err)
continue
}
expired, err := ssh.CheckExpired(wk.ExpireOn)
if err != nil {
galog.Errorf("failed to check expiry for time %q: %s", wk.ExpireOn, err)
continue
}
if wk.Exponent != "" && wk.Modulus != "" && wk.UserName != "" && !expired {
*k = append(*k, wk)
}
}
return nil
}