@@ -231,6 +231,37 @@ public IServerAuthenticationContext CreateServer(AcceptContextReqFlags req_attri
231231 return ServerAuthenticationContext . Create ( this , req_attributes , channel_binding , data_rep , owns_credentials ) ;
232232 }
233233
234+ /// <summary>
235+ /// Add credentials to the handle.
236+ /// </summary>
237+ /// <param name="principal">User principal.</param>
238+ /// <param name="package">The package name.</param>
239+ /// <param name="cred_use_flag">Credential user flags.</param>
240+ /// <param name="auth_data">Optional authentication data.</param>
241+ public void AddCredentials ( string principal , string package , SecPkgCredFlags cred_use_flag , SafeBuffer auth_data )
242+ {
243+ LargeInteger timestamp = new LargeInteger ( ) ;
244+ SecurityNativeMethods . AddCredentials ( CredHandle , principal , package , cred_use_flag , auth_data , IntPtr . Zero , IntPtr . Zero , timestamp ) . CheckResult ( ) ;
245+ }
246+
247+ /// <summary>
248+ /// Add credentials to the handle.
249+ /// </summary>
250+ /// <param name="principal">User principal.</param>
251+ /// <param name="package">The package name.</param>
252+ /// <param name="cred_use_flag">Credential user flags.</param>
253+ /// <param name="credentials">Optional credentials.</param>
254+ public void AddCredentials ( string principal , string package , SecPkgCredFlags cred_use_flag , AuthenticationCredentials credentials )
255+ {
256+ using ( var list = new DisposableList ( ) )
257+ {
258+ using ( var buffer = credentials . ToBuffer ( list , package ) )
259+ {
260+ AddCredentials ( principal , package , cred_use_flag , buffer ) ;
261+ }
262+ }
263+ }
264+
234265 /// <summary>
235266 /// Finalizer.
236267 /// </summary>
0 commit comments