INNER CODE UNIT · Go
func
go-piv/piv-go · v2/piv/key.go:163
func (a *Attestation) addExt(e pkix.Extension) error {
if e.Id.Equal(extIDFirmwareVersion) {
if len(e.Value) != 3 {
return fmt.Errorf("expected 3 bytes for firmware version, got: %d", len(e.Value))
}
a.Version = Version{
Major: int(e.Value[0]),
Minor: int(e.Value[1]),
Patch: int(e.Value[2]),
}
} else if e.Id.Equal(extIDSerialNumber) {
var serial int64
if _, err := asn1.Unmarshal(e.Value, &serial); err != nil {
return fmt.Errorf("parsing serial number: %v", err)
}
if serial < 0 {
return fmt.Errorf("serial number was negative: %d", serial)
}