package asn1

Import Path
	github.com/jcmturner/gofork/encoding/asn1 (on go.dev)

Dependency Relation
	imports 10 packages, and imported by 8 packages

Involved Source Files Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690. See also ``A Layman's Guide to a Subset of ASN.1, BER, and DER,'' http://luca.ntop.org/Teaching/Appunti/asn1.html. common.go marshal.go
Package-Level Type Names (total 8)
/* sort by: | */
BitString is the structure to use when you want an ASN.1 BIT STRING type. A bit string is padded up to the nearest byte in memory and the number of valid bits is recorded. Padding bits will be zero. // length in bits. // bits packed into bytes. At returns the bit at the given index. If the index is out of range it returns false. RightAlign returns a slice where the padding bits are at the beginning. The slice may share memory with the BitString. func github.com/jcmturner/gokrb5/v8/types.NewKrbFlags() BitString func github.com/jcmturner/gokrb5/v8/messages.NewTicket(cname types.PrincipalName, crealm string, sname types.PrincipalName, srealm string, flags BitString, sktab *keytab.Keytab, eTypeID int32, kvno int, authTime, startTime, endTime, renewTill time.Time) (messages.Ticket, types.EncryptionKey, error) func github.com/jcmturner/gokrb5/v8/types.IsFlagSet(f *BitString, i int) bool func github.com/jcmturner/gokrb5/v8/types.SetFlag(f *BitString, i int) func github.com/jcmturner/gokrb5/v8/types.SetFlags(f *BitString, j []int) func github.com/jcmturner/gokrb5/v8/types.UnsetFlag(f *BitString, i int) func github.com/jcmturner/gokrb5/v8/types.UnsetFlags(f *BitString, j []int)
An Enumerated is represented as a plain int.
A Flag accepts any data and is set to true if present.
An ObjectIdentifier represents an ASN.1 OBJECT IDENTIFIER. Equal reports whether oi and other represent the same identifier. ( ObjectIdentifier) String() string ObjectIdentifier : github.com/ChrisTrenkamp/goxpath/tree.Result ObjectIdentifier : fmt.Stringer func github.com/jcmturner/gokrb5/v8/gssapi.Mechanism.OID() ObjectIdentifier func github.com/jcmturner/gokrb5/v8/gssapi.OIDName.OID() ObjectIdentifier func github.com/jcmturner/gokrb5/v8/spnego.(*SPNEGO).OID() ObjectIdentifier func ObjectIdentifier.Equal(other ObjectIdentifier) bool
RawContent is used to signal that the undecoded, DER data needs to be preserved for a struct. To use it, the first field of the struct must have this type. It's an error for any of the other fields to have this type.
A RawValue represents an undecoded ASN.1 object. Bytes []byte Class int // includes the tag and length IsCompound bool Tag int func github.com/jcmturner/gokrb5/v8/messages.MarshalTicketSequence(tkts []messages.Ticket) (RawValue, error)
A StructuralError suggests that the ASN.1 data is valid, but the Go type which is receiving it doesn't match. Msg string ( StructuralError) Error() string StructuralError : error
A SyntaxError suggests that the ASN.1 data is invalid. Msg string ( SyntaxError) Error() string SyntaxError : error
Package-Level Functions (total 3)
Marshal returns the ASN.1 encoding of val. In addition to the struct tags recognised by Unmarshal, the following can be used: ia5: causes strings to be marshaled as ASN.1, IA5 strings omitempty: causes empty slices to be skipped printable: causes strings to be marshaled as ASN.1, PrintableString strings. utf8: causes strings to be marshaled as ASN.1, UTF8 strings
Unmarshal parses the DER-encoded ASN.1 data structure b and uses the reflect package to fill in an arbitrary value pointed at by val. Because Unmarshal uses the reflect package, the structs being written to must use upper case field names. An ASN.1 INTEGER can be written to an int, int32, int64, or *big.Int (from the math/big package). If the encoded value does not fit in the Go type, Unmarshal returns a parse error. An ASN.1 BIT STRING can be written to a BitString. An ASN.1 OCTET STRING can be written to a []byte. An ASN.1 OBJECT IDENTIFIER can be written to an ObjectIdentifier. An ASN.1 ENUMERATED can be written to an Enumerated. An ASN.1 UTCTIME or GENERALIZEDTIME can be written to a time.Time. An ASN.1 PrintableString or IA5String can be written to a string. Any of the above ASN.1 values can be written to an interface{}. The value stored in the interface has the corresponding Go type. For integers, that type is int64. An ASN.1 SEQUENCE OF x or SET OF x can be written to a slice if an x can be written to the slice's element type. An ASN.1 SEQUENCE or SET can be written to a struct if each of the elements in the sequence can be written to the corresponding element in the struct. The following tags on struct fields have special meaning to Unmarshal: application specifies that a APPLICATION tag is used default:x sets the default value for optional integer fields explicit specifies that an additional, explicit tag wraps the implicit one optional marks the field as ASN.1 OPTIONAL set causes a SET, rather than a SEQUENCE type to be expected tag:x specifies the ASN.1 tag number; implies ASN.1 CONTEXT SPECIFIC If the type of the first field of a structure is RawContent then the raw ASN1 contents of the struct will be stored in it. If the type name of a slice element ends with "SET" then it's treated as if the "set" tag was set on it. This can be used with nested slices where a struct tag cannot be given. Other ASN.1 types are not supported; if it encounters them, Unmarshal returns a parse error.
UnmarshalWithParams allows field parameters to be specified for the top-level element. The form of the params is the same as the field tags.
Package-Level Constants (total 19)
ASN.1 class types represent the namespace of the tag.
ASN.1 class types represent the namespace of the tag.
ASN.1 class types represent the namespace of the tag.
ASN.1 class types represent the namespace of the tag.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.
ASN.1 tags represent the type of the following object.