/// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="creds">Credential handle.</param>
 /// <param name="req_attributes">Request attribute flags.</param>
 /// <param name="data_rep">Data representation.</param>
 /// <param name="token">Initial authentication token.</param>
 public ServerAuthenticationContext(CredentialHandle creds, byte[] token,
                                    AcceptContextReqFlags req_attributes, SecDataRep data_rep)
 {
     _creds     = creds;
     _context   = new SecHandle();
     _req_flags = req_attributes & ~AcceptContextReqFlags.AllocateMemory;
     _data_rep  = data_rep;
     Done       = GenServerContext(true, token);
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="creds">Credential handle.</param>
 /// <param name="req_attributes">Request attribute flags.</param>
 /// <param name="target">Target SPN (optional).</param>
 /// <param name="data_rep">Data representation.</param>
 public ClientAuthenticationContext(CredentialHandle creds, InitializeContextReqFlags req_attributes,
                                    string target, SecDataRep data_rep)
 {
     _creds          = creds;
     _req_attributes = req_attributes & ~InitializeContextReqFlags.AllocateMemory;
     _context        = new SecHandle();
     _target         = target;
     _data_rep       = data_rep;
     Continue(null);
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="creds">Credential handle.</param>
 public ClientAuthenticationContext(CredentialHandle creds)
     : this(creds, InitializeContextReqFlags.None, null, SecDataRep.Native)
 {
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="creds">Credential handle.</param>
 /// <param name="req_attributes">Request attribute flags.</param>
 /// <param name="data_rep">Data representation.</param>
 public ClientAuthenticationContext(CredentialHandle creds, InitializeContextReqFlags req_attributes, SecDataRep data_rep)
     : this(creds, req_attributes, null, data_rep)
 {
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="creds">Credential handle.</param>
 /// <param name="token">Initial authentication token.</param>
 public ServerAuthenticationContext(CredentialHandle creds, byte[] token) : this(creds, token,
                                                                                 AcceptContextReqFlags.None, SecDataRep.Native)
 {
 }