INNER CODE UNIT · Go
func
go-piv/piv-go · v2/piv/key.go:662
func (ki *KeyInfo) unmarshal(b []byte) error {
for len(b) > 0 {
var v asn1.RawValue
rest, err := asn1.Unmarshal(b, &v)
if err != nil {
return err
}
b = rest
if v.Class != 0 || v.IsCompound {
continue
}
var ok bool
switch v.Tag {
case 1:
if len(v.Bytes) != 1 {
return errors.New("invalid algorithm in response")
}
if ki.Algorithm, ok = algorithmsMapInv[v.Bytes[0]]; !ok {