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 {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…