/// <summary> /// Creates an PacClientInfo instance using the specified clientId and name. /// </summary> /// <param name="clientId">A FileTime that contains the Kerberos initial /// ticket-granting ticket TGT authentication time, as specified in [RFC4120] /// section 5.3.</param> /// <param name="name">The client's account name</param> /// <returns>The created PacClientInfo instance.</returns> public static PacClientInfo CreateClientInfoBuffer(_FILETIME clientId, string name) { PacClientInfo clientInfo = new PacClientInfo(); clientInfo.NativePacClientInfo.ClientId = clientId; clientInfo.NativePacClientInfo.Name = name.ToCharArray(); clientInfo.NativePacClientInfo.NameLength = (ushort)(name.Length * 2); return(clientInfo); }
/// <summary> /// Create an instance of current class according to specified ulType_Values. /// </summary> /// <param name="ulType">The specified ulType_Values.</param> /// <returns>The created instance of current class.</returns> private static PacInfoBuffer CreatePacInfoBuffer(PAC_INFO_BUFFER_Type_Values ulType) { PacInfoBuffer pacInfoBuffer; switch (ulType) { case PAC_INFO_BUFFER_Type_Values.LogonInformation: pacInfoBuffer = new KerbValidationInfo(); break; case PAC_INFO_BUFFER_Type_Values.CredentialsInformation: pacInfoBuffer = new PacCredentialInfo(); break; case PAC_INFO_BUFFER_Type_Values.ServerChecksum: pacInfoBuffer = new PacServerSignature(); break; case PAC_INFO_BUFFER_Type_Values.KdcChecksum: pacInfoBuffer = new PacKdcSignature(); break; case PAC_INFO_BUFFER_Type_Values.ClientNameAndTicketInformation: pacInfoBuffer = new PacClientInfo(); break; case PAC_INFO_BUFFER_Type_Values.ConstrainedDelegationInformation: pacInfoBuffer = new S4uDelegationInfo(); break; case PAC_INFO_BUFFER_Type_Values.UpnAndDnsInformation: pacInfoBuffer = new UpnDnsInfo(); break; case PAC_INFO_BUFFER_Type_Values.ClientClaimsInformation: pacInfoBuffer = new ClientClaimsInfo(); break; case PAC_INFO_BUFFER_Type_Values.PacDeviceInfo: pacInfoBuffer = new PacDeviceInfo(); break; case PAC_INFO_BUFFER_Type_Values.DeviceClaimsInformation: pacInfoBuffer = new DeviceClaimsInfo(); break; default: throw new ArgumentOutOfRangeException("ulType"); } return(pacInfoBuffer); }
/// <summary> /// Create an instance of current class according to specified ulType_Values. /// </summary> /// <param name="ulType">The specified ulType_Values.</param> /// <returns>The created instance of current class.</returns> private static PacInfoBuffer CreatePacInfoBuffer(PAC_INFO_BUFFER_Type_Values ulType) { PacInfoBuffer pacInfoBuffer; switch (ulType) { case PAC_INFO_BUFFER_Type_Values.LogonInformation: pacInfoBuffer = new KerbValidationInfo(); break; case PAC_INFO_BUFFER_Type_Values.CredentialsInformation: pacInfoBuffer = new PacCredentialInfo(); break; case PAC_INFO_BUFFER_Type_Values.ServerChecksum: pacInfoBuffer = new PacServerSignature(); break; case PAC_INFO_BUFFER_Type_Values.KdcChecksum: pacInfoBuffer = new PacKdcSignature(); break; case PAC_INFO_BUFFER_Type_Values.ClientNameAndTicketInformation: pacInfoBuffer = new PacClientInfo(); break; case PAC_INFO_BUFFER_Type_Values.ConstrainedDelegationInformation: pacInfoBuffer = new S4uDelegationInfo(); break; case PAC_INFO_BUFFER_Type_Values.UpnAndDnsInformation: pacInfoBuffer = new UpnDnsInfo(); break; case PAC_INFO_BUFFER_Type_Values.ClientClaimsInformation: pacInfoBuffer = new ClientClaimsInfo(); break; case PAC_INFO_BUFFER_Type_Values.PacDeviceInfo: pacInfoBuffer = new PacDeviceInfo(); break; case PAC_INFO_BUFFER_Type_Values.DeviceClaimsInformation: pacInfoBuffer = new DeviceClaimsInfo(); break; default: throw new ArgumentOutOfRangeException("ulType"); } return pacInfoBuffer; }