Example #1
0
            public Credentials(SerializationInfo info, StreamingContext context)
            {
                int version = 0;

                try
                {
                    version = info.GetInt32("version");
                }

                catch { }

                if (version == 0)
                {
                    Host = info.GetString("m_Host");
                    Port = info.GetInt32("m_Port");
                    WorkspaceID = info.GetUInt64("m_ID");
                    WorkspaceName = info.GetString("m_Name");
                    UserName = info.GetString("m_UserName");
                    UserSmtp = info.GetString("m_UserSmtp");
                    Nonce = (byte[])info.GetValue("m_Nonce", (new byte[] { }).GetType());
                    Type = (Credentials.CredType)Enum.Parse(typeof(CredType), info.GetString("m_type"));
                    Password = info.GetString("m_pwd");
                    Ticket = (byte[])info.GetValue("m_ticket", (new byte[] { }).GetType());
                    IsAdmin = info.GetBoolean("m_IsAdmin");
                    UserID = info.GetUInt32("m_UserId");
                }

                else
                {
                    Host = info.GetString("Host");
                    Port = info.GetInt32("Port");
                    WorkspaceID = info.GetUInt64("ID");
                    WorkspaceName = info.GetString("Name");
                    UserName = info.GetString("UserName");
                    UserSmtp = info.GetString("UserSmtp");
                    Nonce = (byte[])info.GetValue("Nonce", (new byte[] { }).GetType());
                    Type = (Credentials.CredType)Enum.Parse(typeof(CredType), info.GetString("Type"));
                    Password = info.GetString("Password");
                    Ticket = (byte[])info.GetValue("Ticket", (new byte[] { }).GetType());
                    IsAdmin = info.GetBoolean("IsAdmin");
                    UserID = info.GetUInt32("UserID");
                    if (version == 2) IsPublic = info.GetBoolean("IsPublic");
                }

                newCreds.KasID = new KasIdentifier(Host, (UInt16)Port);
                newCreds.ExternalID = WorkspaceID;
                newCreds.KwsName = WorkspaceName;
                newCreds.UserName = UserName;
                newCreds.UserEmailAddress = UserSmtp;
                newCreds.AdminFlag = IsAdmin;
                newCreds.PublicFlag = IsPublic;
                newCreds.UserID = UserID;
                newCreds.Ticket = Ticket;
                newCreds.Pwd = Password;
            }
 // I Hate Warnings so this gets rid of them
 Credential( CredType type )
 {
     Flags = 0;
     Type = type;
     aLastWritten = 0;
     bLastWritten = 0;
     CredentialBlobSize = 0;
     CredentialBlob = IntPtr.Zero;
     Persist = 0;
     Username = null;
 }
 static extern bool CredDelete( string targetName, CredType type, int flags );
 static extern void CredRead( string targetName, CredType type, int flags, out IntPtr credential );
Example #5
0
 public static extern bool CredGetSessionTypes(CredType MaximumPersistCount, out IntPtr MaximumPersist);
Example #6
0
 public static extern bool CredRead(string targetName, CredType type, CredReadFlags flags, out IntPtr pCredential);
Example #7
0
        /// <summary>
        /// Pops up dialog asking users which type of credential they expect to provide. The behavior aligns with job submission.
        /// </summary>
        internal static CredType PromptForCredentialType(bool console, IntPtr hwndParent, CredType originalType)
        {
            string[] dialogTexts = new string[]
            {
                SR.CredentialTypeDialog_LabelString,
                SR.CredentialTypeDialog_PwdCheckBoxString,
                SR.CredentialTypeDialog_CertCheckBoxString,
                SR.CredentialTypeDialog_OkButtonString,
                SR.CredentialTypeDialog_CancelButtonString
            };

            int choice = CredentialType.NoChoice;

            CredentialType.PromptForCredentialType(console, hwndParent, ref choice, dialogTexts);

            if (choice == CredentialType.CertChoice)
            {
                return(CredType.Certificate);
            }
            else
            {
                Debug.Assert(originalType == CredType.Either || originalType == CredType.Either_CredUnreusable);
                if (originalType == CredType.Either)
                {
                    return(CredType.Password);
                }
                else
                {
                    return(CredType.Password_CredUnreusable);
                }
            }
        }
 internal static extern bool CredDelete(string target, CredType type, int reservedFlag);
 internal static extern bool CredRead(string target, CredType type, int reservedFlag, out IntPtr credentialPtr);