@@ -100,3 +100,37 @@ type Credential interface {
100
100
// - err: error if one occurred, otherwise nil
101
101
InquireByMech (mech GssMech ) (info * CredInfo , err error ) // RFC 2743 § 2.1.5
102
102
}
103
+
104
+ // CredentialExtRFC4178 extends the Credential interface to support the APIs defined in RFC 4178: GSSAPI Negotiation mechanism.
105
+ type CredentialExtRFC4178 interface {
106
+ Credential
107
+ SetNegotiationMechs ([]GssMech ) error // RFC 4178 § B.1
108
+ GetNegotiationMechs () ([]GssMech , error ) // RFC 4178 § B.2
109
+ }
110
+
111
+ // CredentialExtRFC5588 extends the Credential interface to support the APIs defined in RFC 5588: GSSAPI Negotiation mechanismStoring delegated credentials.
112
+ type CredentialExtRFC5588 interface {
113
+ Credential
114
+ StoreCredential (usage CredUsage , mech GssMech , overwrite bool , makeDefault bool ) ([]GssMech , CredUsage , error ) // RFC 5588 § B.1
115
+ }
116
+
117
+ // CredentialExtGGF extends the Credential interface to support the APIs defined in GFD.24: GGF extensions.
118
+ type CredentialExtGGF interface {
119
+ Credential
120
+ Export () ([]byte , error ) // GFD.24 § 2.1.1
121
+ InquireByOid (oid Oid ) (data [][]byte , err error ) // GFD.24 § 2.3.2
122
+
123
+ }
124
+
125
+ // CredentialExtS4U extends the Credential interface to support the APIs defined in S4U extensions.
126
+ type CredentialExtS4U interface {
127
+ Credential
128
+ AquireImpersonateName (name GssName , mechs []GssMech , usage CredUsage , lifetime time.Duration ) (Credential , error )
129
+ AddImpersonateName (impersonateCred Credential , name GssName , mech GssMech , usage CredUsage , initiatorLifetime time.Duration , acceptorLifetime time.Duration ) (Credential , error )
130
+ }
131
+
132
+ // Acquire credentials with password extension
133
+ type CredentialExtCredPassword interface {
134
+ Credential
135
+ AddWithPassword (name GssName , password string , mech GssMech , usage CredUsage , initiatorLifetime time.Duration , acceptorLifetime time.Duration ) (Credential , error )
136
+ }
0 commit comments