github.com/jcmturner/gokrb5/v8@v8.4.4/types/AuthorizationData.go (about) 1 package types 2 3 import ( 4 "github.com/jcmturner/gofork/encoding/asn1" 5 ) 6 7 // Reference: https://www.ietf.org/rfc/rfc4120.txt 8 // Section: 5.2.6 9 10 // AuthorizationData implements RFC 4120 type: https://tools.ietf.org/html/rfc4120#section-5.2.6 11 type AuthorizationData []AuthorizationDataEntry 12 13 // AuthorizationDataEntry implements RFC 4120 type: https://tools.ietf.org/html/rfc4120#section-5.2.6 14 type AuthorizationDataEntry struct { 15 ADType int32 `asn1:"explicit,tag:0"` 16 ADData []byte `asn1:"explicit,tag:1"` 17 } 18 19 // ADIfRelevant implements RFC 4120 type: https://tools.ietf.org/html/rfc4120#section-5.2.6.1 20 type ADIfRelevant AuthorizationData 21 22 // ADKDCIssued implements RFC 4120 type: https://tools.ietf.org/html/rfc4120#section-5.2.6.2 23 type ADKDCIssued struct { 24 ADChecksum Checksum `asn1:"explicit,tag:0"` 25 IRealm string `asn1:"optional,generalstring,explicit,tag:1"` 26 Isname PrincipalName `asn1:"optional,explicit,tag:2"` 27 Elements AuthorizationData `asn1:"explicit,tag:3"` 28 } 29 30 // ADAndOr implements RFC 4120 type: https://tools.ietf.org/html/rfc4120#section-5.2.6.3 31 type ADAndOr struct { 32 ConditionCount int32 `asn1:"explicit,tag:0"` 33 Elements AuthorizationData `asn1:"explicit,tag:1"` 34 } 35 36 // ADMandatoryForKDC implements RFC 4120 type: https://tools.ietf.org/html/rfc4120#section-5.2.6.4 37 type ADMandatoryForKDC AuthorizationData 38 39 // Unmarshal bytes into the ADKDCIssued. 40 func (a *ADKDCIssued) Unmarshal(b []byte) error { 41 _, err := asn1.Unmarshal(b, a) 42 return err 43 } 44 45 // Unmarshal bytes into the AuthorizationData. 46 func (a *AuthorizationData) Unmarshal(b []byte) error { 47 _, err := asn1.Unmarshal(b, a) 48 return err 49 } 50 51 // Unmarshal bytes into the AuthorizationDataEntry. 52 func (a *AuthorizationDataEntry) Unmarshal(b []byte) error { 53 _, err := asn1.Unmarshal(b, a) 54 return err 55 }