github.com/gravitational/teleport/api@v0.0.0-20240507183017-3110591cbafc/gen/proto/go/attestation/v1/attestation.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: teleport/attestation/v1/attestation.proto
     3  
     4  package attestationv1
     5  
     6  import (
     7  	fmt "fmt"
     8  	proto "github.com/gogo/protobuf/proto"
     9  	io "io"
    10  	math "math"
    11  	math_bits "math/bits"
    12  )
    13  
    14  // Reference imports to suppress errors if they are not otherwise used.
    15  var _ = proto.Marshal
    16  var _ = fmt.Errorf
    17  var _ = math.Inf
    18  
    19  // This is a compile-time assertion to ensure that this generated file
    20  // is compatible with the proto package it is being compiled against.
    21  // A compilation error at this line likely means your copy of the
    22  // proto package needs to be updated.
    23  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    24  
    25  // AttestationStatement is an attestation statement for a hardware private key.
    26  type AttestationStatement struct {
    27  	// Types that are valid to be assigned to AttestationStatement:
    28  	//
    29  	//	*AttestationStatement_YubikeyAttestationStatement
    30  	AttestationStatement isAttestationStatement_AttestationStatement `protobuf_oneof:"attestation_statement"`
    31  	XXX_NoUnkeyedLiteral struct{}                                    `json:"-"`
    32  	XXX_unrecognized     []byte                                      `json:"-"`
    33  	XXX_sizecache        int32                                       `json:"-"`
    34  }
    35  
    36  func (m *AttestationStatement) Reset()         { *m = AttestationStatement{} }
    37  func (m *AttestationStatement) String() string { return proto.CompactTextString(m) }
    38  func (*AttestationStatement) ProtoMessage()    {}
    39  func (*AttestationStatement) Descriptor() ([]byte, []int) {
    40  	return fileDescriptor_99516272d9ee5937, []int{0}
    41  }
    42  func (m *AttestationStatement) XXX_Unmarshal(b []byte) error {
    43  	return m.Unmarshal(b)
    44  }
    45  func (m *AttestationStatement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    46  	if deterministic {
    47  		return xxx_messageInfo_AttestationStatement.Marshal(b, m, deterministic)
    48  	} else {
    49  		b = b[:cap(b)]
    50  		n, err := m.MarshalToSizedBuffer(b)
    51  		if err != nil {
    52  			return nil, err
    53  		}
    54  		return b[:n], nil
    55  	}
    56  }
    57  func (m *AttestationStatement) XXX_Merge(src proto.Message) {
    58  	xxx_messageInfo_AttestationStatement.Merge(m, src)
    59  }
    60  func (m *AttestationStatement) XXX_Size() int {
    61  	return m.Size()
    62  }
    63  func (m *AttestationStatement) XXX_DiscardUnknown() {
    64  	xxx_messageInfo_AttestationStatement.DiscardUnknown(m)
    65  }
    66  
    67  var xxx_messageInfo_AttestationStatement proto.InternalMessageInfo
    68  
    69  type isAttestationStatement_AttestationStatement interface {
    70  	isAttestationStatement_AttestationStatement()
    71  	MarshalTo([]byte) (int, error)
    72  	Size() int
    73  }
    74  
    75  type AttestationStatement_YubikeyAttestationStatement struct {
    76  	YubikeyAttestationStatement *YubiKeyAttestationStatement `protobuf:"bytes,1,opt,name=yubikey_attestation_statement,json=yubikeyAttestationStatement,proto3,oneof" json:"yubikey_attestation_statement,omitempty"`
    77  }
    78  
    79  func (*AttestationStatement_YubikeyAttestationStatement) isAttestationStatement_AttestationStatement() {
    80  }
    81  
    82  func (m *AttestationStatement) GetAttestationStatement() isAttestationStatement_AttestationStatement {
    83  	if m != nil {
    84  		return m.AttestationStatement
    85  	}
    86  	return nil
    87  }
    88  
    89  func (m *AttestationStatement) GetYubikeyAttestationStatement() *YubiKeyAttestationStatement {
    90  	if x, ok := m.GetAttestationStatement().(*AttestationStatement_YubikeyAttestationStatement); ok {
    91  		return x.YubikeyAttestationStatement
    92  	}
    93  	return nil
    94  }
    95  
    96  // XXX_OneofWrappers is for the internal use of the proto package.
    97  func (*AttestationStatement) XXX_OneofWrappers() []interface{} {
    98  	return []interface{}{
    99  		(*AttestationStatement_YubikeyAttestationStatement)(nil),
   100  	}
   101  }
   102  
   103  // YubiKeyAttestationStatement is an attestation statement for a specific YubiKey PIV slot.
   104  type YubiKeyAttestationStatement struct {
   105  	// slot_cert is an attestation certificate generated from a YubiKey PIV
   106  	// slot's public key and signed by the YubiKey's attestation certificate.
   107  	SlotCert []byte `protobuf:"bytes,1,opt,name=slot_cert,json=slotCert,proto3" json:"slot_cert,omitempty"`
   108  	// attestation_cert is the YubiKey's unique attestation certificate, signed by a Yubico CA.
   109  	AttestationCert      []byte   `protobuf:"bytes,2,opt,name=attestation_cert,json=attestationCert,proto3" json:"attestation_cert,omitempty"`
   110  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   111  	XXX_unrecognized     []byte   `json:"-"`
   112  	XXX_sizecache        int32    `json:"-"`
   113  }
   114  
   115  func (m *YubiKeyAttestationStatement) Reset()         { *m = YubiKeyAttestationStatement{} }
   116  func (m *YubiKeyAttestationStatement) String() string { return proto.CompactTextString(m) }
   117  func (*YubiKeyAttestationStatement) ProtoMessage()    {}
   118  func (*YubiKeyAttestationStatement) Descriptor() ([]byte, []int) {
   119  	return fileDescriptor_99516272d9ee5937, []int{1}
   120  }
   121  func (m *YubiKeyAttestationStatement) XXX_Unmarshal(b []byte) error {
   122  	return m.Unmarshal(b)
   123  }
   124  func (m *YubiKeyAttestationStatement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   125  	if deterministic {
   126  		return xxx_messageInfo_YubiKeyAttestationStatement.Marshal(b, m, deterministic)
   127  	} else {
   128  		b = b[:cap(b)]
   129  		n, err := m.MarshalToSizedBuffer(b)
   130  		if err != nil {
   131  			return nil, err
   132  		}
   133  		return b[:n], nil
   134  	}
   135  }
   136  func (m *YubiKeyAttestationStatement) XXX_Merge(src proto.Message) {
   137  	xxx_messageInfo_YubiKeyAttestationStatement.Merge(m, src)
   138  }
   139  func (m *YubiKeyAttestationStatement) XXX_Size() int {
   140  	return m.Size()
   141  }
   142  func (m *YubiKeyAttestationStatement) XXX_DiscardUnknown() {
   143  	xxx_messageInfo_YubiKeyAttestationStatement.DiscardUnknown(m)
   144  }
   145  
   146  var xxx_messageInfo_YubiKeyAttestationStatement proto.InternalMessageInfo
   147  
   148  func (m *YubiKeyAttestationStatement) GetSlotCert() []byte {
   149  	if m != nil {
   150  		return m.SlotCert
   151  	}
   152  	return nil
   153  }
   154  
   155  func (m *YubiKeyAttestationStatement) GetAttestationCert() []byte {
   156  	if m != nil {
   157  		return m.AttestationCert
   158  	}
   159  	return nil
   160  }
   161  
   162  func init() {
   163  	proto.RegisterType((*AttestationStatement)(nil), "teleport.attestation.v1.AttestationStatement")
   164  	proto.RegisterType((*YubiKeyAttestationStatement)(nil), "teleport.attestation.v1.YubiKeyAttestationStatement")
   165  }
   166  
   167  func init() {
   168  	proto.RegisterFile("teleport/attestation/v1/attestation.proto", fileDescriptor_99516272d9ee5937)
   169  }
   170  
   171  var fileDescriptor_99516272d9ee5937 = []byte{
   172  	// 248 bytes of a gzipped FileDescriptorProto
   173  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x2c, 0x49, 0xcd, 0x49,
   174  	0x2d, 0xc8, 0x2f, 0x2a, 0xd1, 0x4f, 0x2c, 0x29, 0x49, 0x2d, 0x2e, 0x49, 0x2c, 0xc9, 0xcc, 0xcf,
   175  	0xd3, 0x2f, 0x33, 0x44, 0xe6, 0xea, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x89, 0xc3, 0x94, 0xea,
   176  	0x21, 0xcb, 0x95, 0x19, 0x2a, 0xad, 0x66, 0xe4, 0x12, 0x71, 0x44, 0x08, 0x05, 0x97, 0x24, 0x96,
   177  	0xa4, 0xe6, 0xa6, 0xe6, 0x95, 0x08, 0x55, 0x71, 0xc9, 0x56, 0x96, 0x26, 0x65, 0x66, 0xa7, 0x56,
   178  	0xc6, 0x23, 0x69, 0x89, 0x2f, 0x86, 0x29, 0x90, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x32, 0xd1,
   179  	0xc3, 0x61, 0xb2, 0x5e, 0x64, 0x69, 0x52, 0xa6, 0x77, 0x6a, 0x25, 0x36, 0xc3, 0x3d, 0x18, 0x82,
   180  	0xa4, 0xa1, 0x86, 0x63, 0x93, 0x76, 0x12, 0xe7, 0x12, 0xc5, 0x6a, 0xa7, 0x52, 0x2a, 0x97, 0x34,
   181  	0x1e, 0x63, 0x85, 0xa4, 0xb9, 0x38, 0x8b, 0x73, 0xf2, 0x4b, 0xe2, 0x93, 0x53, 0x8b, 0x20, 0xee,
   182  	0xe3, 0x09, 0xe2, 0x00, 0x09, 0x38, 0xa7, 0x16, 0x95, 0x08, 0x69, 0x72, 0x09, 0x20, 0x1b, 0x0a,
   183  	0x56, 0xc3, 0x04, 0x56, 0xc3, 0x8f, 0x24, 0x0e, 0x52, 0xea, 0x14, 0x7b, 0xe2, 0x91, 0x1c, 0xe3,
   184  	0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x46, 0xf9, 0xa7, 0x67, 0x96, 0x64, 0x94, 0x26,
   185  	0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0x17, 0x25, 0x96, 0x65, 0x42, 0x54, 0x26, 0xe6, 0xe8, 0x23,
   186  	0xc2, 0xbf, 0x20, 0x53, 0x3f, 0x3d, 0x35, 0x4f, 0x1f, 0x1c, 0xd8, 0xfa, 0xe9, 0xf9, 0x68, 0x11,
   187  	0x62, 0x8d, 0xc4, 0x2d, 0x33, 0x4c, 0x62, 0x03, 0x2b, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff,
   188  	0x30, 0x65, 0x2f, 0xe2, 0xc0, 0x01, 0x00, 0x00,
   189  }
   190  
   191  func (m *AttestationStatement) Marshal() (dAtA []byte, err error) {
   192  	size := m.Size()
   193  	dAtA = make([]byte, size)
   194  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   195  	if err != nil {
   196  		return nil, err
   197  	}
   198  	return dAtA[:n], nil
   199  }
   200  
   201  func (m *AttestationStatement) MarshalTo(dAtA []byte) (int, error) {
   202  	size := m.Size()
   203  	return m.MarshalToSizedBuffer(dAtA[:size])
   204  }
   205  
   206  func (m *AttestationStatement) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   207  	i := len(dAtA)
   208  	_ = i
   209  	var l int
   210  	_ = l
   211  	if m.XXX_unrecognized != nil {
   212  		i -= len(m.XXX_unrecognized)
   213  		copy(dAtA[i:], m.XXX_unrecognized)
   214  	}
   215  	if m.AttestationStatement != nil {
   216  		{
   217  			size := m.AttestationStatement.Size()
   218  			i -= size
   219  			if _, err := m.AttestationStatement.MarshalTo(dAtA[i:]); err != nil {
   220  				return 0, err
   221  			}
   222  		}
   223  	}
   224  	return len(dAtA) - i, nil
   225  }
   226  
   227  func (m *AttestationStatement_YubikeyAttestationStatement) MarshalTo(dAtA []byte) (int, error) {
   228  	size := m.Size()
   229  	return m.MarshalToSizedBuffer(dAtA[:size])
   230  }
   231  
   232  func (m *AttestationStatement_YubikeyAttestationStatement) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   233  	i := len(dAtA)
   234  	if m.YubikeyAttestationStatement != nil {
   235  		{
   236  			size, err := m.YubikeyAttestationStatement.MarshalToSizedBuffer(dAtA[:i])
   237  			if err != nil {
   238  				return 0, err
   239  			}
   240  			i -= size
   241  			i = encodeVarintAttestation(dAtA, i, uint64(size))
   242  		}
   243  		i--
   244  		dAtA[i] = 0xa
   245  	}
   246  	return len(dAtA) - i, nil
   247  }
   248  func (m *YubiKeyAttestationStatement) Marshal() (dAtA []byte, err error) {
   249  	size := m.Size()
   250  	dAtA = make([]byte, size)
   251  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   252  	if err != nil {
   253  		return nil, err
   254  	}
   255  	return dAtA[:n], nil
   256  }
   257  
   258  func (m *YubiKeyAttestationStatement) MarshalTo(dAtA []byte) (int, error) {
   259  	size := m.Size()
   260  	return m.MarshalToSizedBuffer(dAtA[:size])
   261  }
   262  
   263  func (m *YubiKeyAttestationStatement) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   264  	i := len(dAtA)
   265  	_ = i
   266  	var l int
   267  	_ = l
   268  	if m.XXX_unrecognized != nil {
   269  		i -= len(m.XXX_unrecognized)
   270  		copy(dAtA[i:], m.XXX_unrecognized)
   271  	}
   272  	if len(m.AttestationCert) > 0 {
   273  		i -= len(m.AttestationCert)
   274  		copy(dAtA[i:], m.AttestationCert)
   275  		i = encodeVarintAttestation(dAtA, i, uint64(len(m.AttestationCert)))
   276  		i--
   277  		dAtA[i] = 0x12
   278  	}
   279  	if len(m.SlotCert) > 0 {
   280  		i -= len(m.SlotCert)
   281  		copy(dAtA[i:], m.SlotCert)
   282  		i = encodeVarintAttestation(dAtA, i, uint64(len(m.SlotCert)))
   283  		i--
   284  		dAtA[i] = 0xa
   285  	}
   286  	return len(dAtA) - i, nil
   287  }
   288  
   289  func encodeVarintAttestation(dAtA []byte, offset int, v uint64) int {
   290  	offset -= sovAttestation(v)
   291  	base := offset
   292  	for v >= 1<<7 {
   293  		dAtA[offset] = uint8(v&0x7f | 0x80)
   294  		v >>= 7
   295  		offset++
   296  	}
   297  	dAtA[offset] = uint8(v)
   298  	return base
   299  }
   300  func (m *AttestationStatement) Size() (n int) {
   301  	if m == nil {
   302  		return 0
   303  	}
   304  	var l int
   305  	_ = l
   306  	if m.AttestationStatement != nil {
   307  		n += m.AttestationStatement.Size()
   308  	}
   309  	if m.XXX_unrecognized != nil {
   310  		n += len(m.XXX_unrecognized)
   311  	}
   312  	return n
   313  }
   314  
   315  func (m *AttestationStatement_YubikeyAttestationStatement) Size() (n int) {
   316  	if m == nil {
   317  		return 0
   318  	}
   319  	var l int
   320  	_ = l
   321  	if m.YubikeyAttestationStatement != nil {
   322  		l = m.YubikeyAttestationStatement.Size()
   323  		n += 1 + l + sovAttestation(uint64(l))
   324  	}
   325  	return n
   326  }
   327  func (m *YubiKeyAttestationStatement) Size() (n int) {
   328  	if m == nil {
   329  		return 0
   330  	}
   331  	var l int
   332  	_ = l
   333  	l = len(m.SlotCert)
   334  	if l > 0 {
   335  		n += 1 + l + sovAttestation(uint64(l))
   336  	}
   337  	l = len(m.AttestationCert)
   338  	if l > 0 {
   339  		n += 1 + l + sovAttestation(uint64(l))
   340  	}
   341  	if m.XXX_unrecognized != nil {
   342  		n += len(m.XXX_unrecognized)
   343  	}
   344  	return n
   345  }
   346  
   347  func sovAttestation(x uint64) (n int) {
   348  	return (math_bits.Len64(x|1) + 6) / 7
   349  }
   350  func sozAttestation(x uint64) (n int) {
   351  	return sovAttestation(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   352  }
   353  func (m *AttestationStatement) Unmarshal(dAtA []byte) error {
   354  	l := len(dAtA)
   355  	iNdEx := 0
   356  	for iNdEx < l {
   357  		preIndex := iNdEx
   358  		var wire uint64
   359  		for shift := uint(0); ; shift += 7 {
   360  			if shift >= 64 {
   361  				return ErrIntOverflowAttestation
   362  			}
   363  			if iNdEx >= l {
   364  				return io.ErrUnexpectedEOF
   365  			}
   366  			b := dAtA[iNdEx]
   367  			iNdEx++
   368  			wire |= uint64(b&0x7F) << shift
   369  			if b < 0x80 {
   370  				break
   371  			}
   372  		}
   373  		fieldNum := int32(wire >> 3)
   374  		wireType := int(wire & 0x7)
   375  		if wireType == 4 {
   376  			return fmt.Errorf("proto: AttestationStatement: wiretype end group for non-group")
   377  		}
   378  		if fieldNum <= 0 {
   379  			return fmt.Errorf("proto: AttestationStatement: illegal tag %d (wire type %d)", fieldNum, wire)
   380  		}
   381  		switch fieldNum {
   382  		case 1:
   383  			if wireType != 2 {
   384  				return fmt.Errorf("proto: wrong wireType = %d for field YubikeyAttestationStatement", wireType)
   385  			}
   386  			var msglen int
   387  			for shift := uint(0); ; shift += 7 {
   388  				if shift >= 64 {
   389  					return ErrIntOverflowAttestation
   390  				}
   391  				if iNdEx >= l {
   392  					return io.ErrUnexpectedEOF
   393  				}
   394  				b := dAtA[iNdEx]
   395  				iNdEx++
   396  				msglen |= int(b&0x7F) << shift
   397  				if b < 0x80 {
   398  					break
   399  				}
   400  			}
   401  			if msglen < 0 {
   402  				return ErrInvalidLengthAttestation
   403  			}
   404  			postIndex := iNdEx + msglen
   405  			if postIndex < 0 {
   406  				return ErrInvalidLengthAttestation
   407  			}
   408  			if postIndex > l {
   409  				return io.ErrUnexpectedEOF
   410  			}
   411  			v := &YubiKeyAttestationStatement{}
   412  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   413  				return err
   414  			}
   415  			m.AttestationStatement = &AttestationStatement_YubikeyAttestationStatement{v}
   416  			iNdEx = postIndex
   417  		default:
   418  			iNdEx = preIndex
   419  			skippy, err := skipAttestation(dAtA[iNdEx:])
   420  			if err != nil {
   421  				return err
   422  			}
   423  			if (skippy < 0) || (iNdEx+skippy) < 0 {
   424  				return ErrInvalidLengthAttestation
   425  			}
   426  			if (iNdEx + skippy) > l {
   427  				return io.ErrUnexpectedEOF
   428  			}
   429  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
   430  			iNdEx += skippy
   431  		}
   432  	}
   433  
   434  	if iNdEx > l {
   435  		return io.ErrUnexpectedEOF
   436  	}
   437  	return nil
   438  }
   439  func (m *YubiKeyAttestationStatement) Unmarshal(dAtA []byte) error {
   440  	l := len(dAtA)
   441  	iNdEx := 0
   442  	for iNdEx < l {
   443  		preIndex := iNdEx
   444  		var wire uint64
   445  		for shift := uint(0); ; shift += 7 {
   446  			if shift >= 64 {
   447  				return ErrIntOverflowAttestation
   448  			}
   449  			if iNdEx >= l {
   450  				return io.ErrUnexpectedEOF
   451  			}
   452  			b := dAtA[iNdEx]
   453  			iNdEx++
   454  			wire |= uint64(b&0x7F) << shift
   455  			if b < 0x80 {
   456  				break
   457  			}
   458  		}
   459  		fieldNum := int32(wire >> 3)
   460  		wireType := int(wire & 0x7)
   461  		if wireType == 4 {
   462  			return fmt.Errorf("proto: YubiKeyAttestationStatement: wiretype end group for non-group")
   463  		}
   464  		if fieldNum <= 0 {
   465  			return fmt.Errorf("proto: YubiKeyAttestationStatement: illegal tag %d (wire type %d)", fieldNum, wire)
   466  		}
   467  		switch fieldNum {
   468  		case 1:
   469  			if wireType != 2 {
   470  				return fmt.Errorf("proto: wrong wireType = %d for field SlotCert", wireType)
   471  			}
   472  			var byteLen int
   473  			for shift := uint(0); ; shift += 7 {
   474  				if shift >= 64 {
   475  					return ErrIntOverflowAttestation
   476  				}
   477  				if iNdEx >= l {
   478  					return io.ErrUnexpectedEOF
   479  				}
   480  				b := dAtA[iNdEx]
   481  				iNdEx++
   482  				byteLen |= int(b&0x7F) << shift
   483  				if b < 0x80 {
   484  					break
   485  				}
   486  			}
   487  			if byteLen < 0 {
   488  				return ErrInvalidLengthAttestation
   489  			}
   490  			postIndex := iNdEx + byteLen
   491  			if postIndex < 0 {
   492  				return ErrInvalidLengthAttestation
   493  			}
   494  			if postIndex > l {
   495  				return io.ErrUnexpectedEOF
   496  			}
   497  			m.SlotCert = append(m.SlotCert[:0], dAtA[iNdEx:postIndex]...)
   498  			if m.SlotCert == nil {
   499  				m.SlotCert = []byte{}
   500  			}
   501  			iNdEx = postIndex
   502  		case 2:
   503  			if wireType != 2 {
   504  				return fmt.Errorf("proto: wrong wireType = %d for field AttestationCert", wireType)
   505  			}
   506  			var byteLen int
   507  			for shift := uint(0); ; shift += 7 {
   508  				if shift >= 64 {
   509  					return ErrIntOverflowAttestation
   510  				}
   511  				if iNdEx >= l {
   512  					return io.ErrUnexpectedEOF
   513  				}
   514  				b := dAtA[iNdEx]
   515  				iNdEx++
   516  				byteLen |= int(b&0x7F) << shift
   517  				if b < 0x80 {
   518  					break
   519  				}
   520  			}
   521  			if byteLen < 0 {
   522  				return ErrInvalidLengthAttestation
   523  			}
   524  			postIndex := iNdEx + byteLen
   525  			if postIndex < 0 {
   526  				return ErrInvalidLengthAttestation
   527  			}
   528  			if postIndex > l {
   529  				return io.ErrUnexpectedEOF
   530  			}
   531  			m.AttestationCert = append(m.AttestationCert[:0], dAtA[iNdEx:postIndex]...)
   532  			if m.AttestationCert == nil {
   533  				m.AttestationCert = []byte{}
   534  			}
   535  			iNdEx = postIndex
   536  		default:
   537  			iNdEx = preIndex
   538  			skippy, err := skipAttestation(dAtA[iNdEx:])
   539  			if err != nil {
   540  				return err
   541  			}
   542  			if (skippy < 0) || (iNdEx+skippy) < 0 {
   543  				return ErrInvalidLengthAttestation
   544  			}
   545  			if (iNdEx + skippy) > l {
   546  				return io.ErrUnexpectedEOF
   547  			}
   548  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
   549  			iNdEx += skippy
   550  		}
   551  	}
   552  
   553  	if iNdEx > l {
   554  		return io.ErrUnexpectedEOF
   555  	}
   556  	return nil
   557  }
   558  func skipAttestation(dAtA []byte) (n int, err error) {
   559  	l := len(dAtA)
   560  	iNdEx := 0
   561  	depth := 0
   562  	for iNdEx < l {
   563  		var wire uint64
   564  		for shift := uint(0); ; shift += 7 {
   565  			if shift >= 64 {
   566  				return 0, ErrIntOverflowAttestation
   567  			}
   568  			if iNdEx >= l {
   569  				return 0, io.ErrUnexpectedEOF
   570  			}
   571  			b := dAtA[iNdEx]
   572  			iNdEx++
   573  			wire |= (uint64(b) & 0x7F) << shift
   574  			if b < 0x80 {
   575  				break
   576  			}
   577  		}
   578  		wireType := int(wire & 0x7)
   579  		switch wireType {
   580  		case 0:
   581  			for shift := uint(0); ; shift += 7 {
   582  				if shift >= 64 {
   583  					return 0, ErrIntOverflowAttestation
   584  				}
   585  				if iNdEx >= l {
   586  					return 0, io.ErrUnexpectedEOF
   587  				}
   588  				iNdEx++
   589  				if dAtA[iNdEx-1] < 0x80 {
   590  					break
   591  				}
   592  			}
   593  		case 1:
   594  			iNdEx += 8
   595  		case 2:
   596  			var length int
   597  			for shift := uint(0); ; shift += 7 {
   598  				if shift >= 64 {
   599  					return 0, ErrIntOverflowAttestation
   600  				}
   601  				if iNdEx >= l {
   602  					return 0, io.ErrUnexpectedEOF
   603  				}
   604  				b := dAtA[iNdEx]
   605  				iNdEx++
   606  				length |= (int(b) & 0x7F) << shift
   607  				if b < 0x80 {
   608  					break
   609  				}
   610  			}
   611  			if length < 0 {
   612  				return 0, ErrInvalidLengthAttestation
   613  			}
   614  			iNdEx += length
   615  		case 3:
   616  			depth++
   617  		case 4:
   618  			if depth == 0 {
   619  				return 0, ErrUnexpectedEndOfGroupAttestation
   620  			}
   621  			depth--
   622  		case 5:
   623  			iNdEx += 4
   624  		default:
   625  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
   626  		}
   627  		if iNdEx < 0 {
   628  			return 0, ErrInvalidLengthAttestation
   629  		}
   630  		if depth == 0 {
   631  			return iNdEx, nil
   632  		}
   633  	}
   634  	return 0, io.ErrUnexpectedEOF
   635  }
   636  
   637  var (
   638  	ErrInvalidLengthAttestation        = fmt.Errorf("proto: negative length found during unmarshaling")
   639  	ErrIntOverflowAttestation          = fmt.Errorf("proto: integer overflow")
   640  	ErrUnexpectedEndOfGroupAttestation = fmt.Errorf("proto: unexpected end of group")
   641  )