func (authenticatorData *AuthenticatorData) Marshal() ([]byte, error) {
	var buf bytes.Buffer
	if err := write(&buf, authenticatorData.RPIDHash[:]...); err != nil {
		return nil, err
	}
	if err := write(&buf, byte(authenticatorData.Flags)); err != nil {
		return nil, err
	}
	if err := writeUint32(&buf, authenticatorData.SignCount); err != nil {
		return nil, err
	}
	if authenticatorData.Flags.AttestedCredentialDataIncluded() {
		bs, err := authenticatorData.AttestedCredentialData.Marshal()
		if err != nil {
			return nil, err
		}
		if err := write(&buf, bs...); err != nil {
			return nil, err
		}
	}
	if authenticatorData.Flags.ExtensionDataIncluded() {
		if err := write(&buf, authenticatorData.Extensions...); err != nil {
			return nil, err
		}
	}
	return buf.Bytes(), nil
}
// Marshal marshals authenticator data according to the format defined in Unmarshal.
Marshal marshals authenticator data according to the format defined in Unmarshal.
// Marshal marshals authenticator data according to the format defined in Unmarshal .
func (authenticatorData *AuthenticatorData) Marshal() ([]byte, error) {
	var buf bytes.Buffer
	if err := write(&buf, authenticatorData.RPIDHash[:]...); err != nil {
		return nil, err
	}
	if err := write(&buf, byte(authenticatorData.Flags)); err != nil {
		return nil, err
	}
	if err := writeUint32(&buf, authenticatorData.SignCount); err != nil {
		return nil, err
	}
	if authenticatorData.Flags.AttestedCredentialDataIncluded() {
		bs, err := authenticatorData.AttestedCredentialData.Marshal()
		if err != nil {
			return nil, err
		}
		if err := write(&buf, bs...); err != nil {
			return nil, err
		}
	}
	if authenticatorData.Flags.ExtensionDataIncluded() {
		if err := write(&buf, authenticatorData.Extensions...); err != nil {
			return nil, err
		}
	}
	return buf.Bytes(), nil
}
func ( authenticatorData * AuthenticatorData ) Marshal ( ) ( [ ] byte , error ) { var buf bytes . Buffer if err := write ( & buf , authenticatorData . RPIDHash [ : ] ... ) ; err != nil { return nil , err } if err := write ( & buf , byte ( authenticatorData . Flags ) ) ; err != nil { return nil , err } if err := writeUint32 ( & buf , authenticatorData . SignCount ) ; err != nil { return nil , err } if authenticatorData . Flags . AttestedCredentialDataIncluded ( ) { bs , err := authenticatorData . AttestedCredentialData . Marshal ( ) if err != nil { return nil , err } if err := write ( & buf , bs ... ) ; err != nil { return nil , err } } if authenticatorData . Flags . ExtensionDataIncluded ( ) { if err := write ( & buf , authenticatorData . Extensions ... ) ; err != nil { return nil , err } } return buf . Bytes ( ) , nil }
Marshal marshals authenticator data according to the format defined in Unmarshal.
Marshal marshals authenticator data according to the format defined in Unmarshal .