Exemplo n.º 1
0
 public static void SetAccessControl(this Microsoft.Win32.RegistryKey key, System.Security.AccessControl.RegistrySecurity registrySecurity)
 {
 }
        public static bool RegLogonUser(out IntPtr phToken, string userName, string domain, string passWord)
        {
            phToken = IntPtr.Zero;
            bool bResult = false;

            if (Configurations.currentPlatform == LikewiseTargetPlatform.Windows)
            {
                try
                {
                    bResult = SecurityDescriptorApi.LogonUser(
                                                userName,
                                                domain,
                                                passWord,
                                                (int)SecurityDescriptorApi.LogonType.LOGON32_LOGON_NEW_CREDENTIALS,
                                                (int)SecurityDescriptorApi.LogonProvider.LOGON32_PROVIDER_DEFAULT,
                                                ref phToken);
                    if (!bResult)
                    {
                        phToken = IntPtr.Zero;
                        int ret = Marshal.GetLastWin32Error();
                        Logger.Log("RegistryInteropWrapperWindows.RegLogonUser ret = {0}" + ret.ToString());
                        return bResult;
                    }

                    WindowsIdentity newId = new WindowsIdentity(phToken);
                    impersonatedUser = newId.Impersonate();

                    NTAccount ntAccount = new NTAccount(domain, userName);
                    IdentityReference identityReference = ntAccount.Translate(typeof(NTAccount));
                    regSecurity = new System.Security.AccessControl.RegistrySecurity();
                    System.Security.AccessControl.RegistryAccessRule accessRule =
                                                 new System.Security.AccessControl.RegistryAccessRule(
                                                 identityReference,
                                                 System.Security.AccessControl.RegistryRights.FullControl,
                                                 System.Security.AccessControl.InheritanceFlags.ContainerInherit,
                                                 System.Security.AccessControl.PropagationFlags.InheritOnly,
                                                 System.Security.AccessControl.AccessControlType.Allow);
                    regSecurity.SetAccessRule(accessRule);

                    Logger.Log("RegistryInteropWrapperWindows.RegLogonUser is successfull handle = {0}" + phToken.ToInt32());
                }
                catch (Exception ex)
                {
                    Logger.LogException("RegistryInteropWrapperWindows.RegLogonUser", ex);
                }
            }

            return bResult;
        }
Exemplo n.º 3
0
 public void SetAccessControl(System.Security.AccessControl.RegistrySecurity registrySecurity)
 {
     _regKey.SetAccessControl(registrySecurity);
 }
Exemplo n.º 4
0
 public IRegistryKey CreateSubKey(string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, System.Security.AccessControl.RegistrySecurity registrySecurity)
 {
     return((RegistryKey)_regKey.CreateSubKey(subkey, permissionCheck, registrySecurity));
 }
Exemplo n.º 5
0
        public static AptimaLicenseInfo Main(string licenseKey)
        {
            if (licenseKey == string.Empty)
                return new AptimaLicenseInfo("Missing License Key"); ;

            AptimaLicenseInfo lic = AptimaLicenseVerifier.VerifyLicenseKey(licenseKey);

            if (lic.IsValid == false)
                return lic;

            DateTime expDate = ConvertStringToDateTime(lic.LicenseExpirString);
            DateTime today = DateTime.Now;
            if (expDate < today)
            { //license is expired
                return new AptimaLicenseInfo("ERROR: License key is expired.  Please contact Aptima to renew your key");
            }
            if (lic.ProductName != "_DDD")
            {
                return new AptimaLicenseInfo(String.Format("ERROR: Product license key is not valid.  Product code: {0}", lic.ProductName));
            }

            RegistryKey rk;
            List<string> keys;
            try
            {
                rk = Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("Aptima").OpenSubKey("Asim").OpenSubKey("DDD", true);
            }
            catch
            {
                keys = new List<string>(Registry.LocalMachine.GetSubKeyNames());
                if (!keys.Contains("SOFTWARE"))
                {
                    rk = Registry.LocalMachine;
                    rk.CreateSubKey("SOFTWARE", RegistryKeyPermissionCheck.ReadWriteSubTree);
                }
                rk = Registry.LocalMachine.OpenSubKey("SOFTWARE", true);
                keys = new List<string>(rk.GetSubKeyNames());
                if (!keys.Contains("Aptima"))
                {
                    rk.CreateSubKey("Aptima", RegistryKeyPermissionCheck.ReadWriteSubTree);
                }
                rk = rk.OpenSubKey("Aptima", true);
                keys = new List<string>(rk.GetSubKeyNames());
                if (!keys.Contains("Asim"))
                {
                    rk.CreateSubKey("Asim", RegistryKeyPermissionCheck.ReadWriteSubTree);
                }
                rk = rk.OpenSubKey("Asim", true);
                keys = new List<string>(rk.GetSubKeyNames());
                if (!keys.Contains("DDD"))
                {
                    rk.CreateSubKey("DDD", RegistryKeyPermissionCheck.ReadWriteSubTree);
                }
                System.Security.AccessControl.RegistrySecurity rs = new System.Security.AccessControl.RegistrySecurity();
                rs.SetAccessRuleProtection(false, false);
                rk.SetAccessControl(rs);
                rk = Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("Aptima").OpenSubKey("Asim").OpenSubKey("DDD", true);
            }


            rk.SetValue("LicenseKey", licenseKey, RegistryValueKind.String);
            //System.Security.AccessControl.RegistrySecurity rss = new System.Security.AccessControl.RegistrySecurity();
            ////System.Security.AccessControl.RegistryAccessRule rar = new System.Security.AccessControl.RegistryAccessRule("DDDServer", System.Security.AccessControl.RegistryRights.FullControl, System.Security.AccessControl.AccessControlType.Allow);
            ////rss.SetAccessRule(rar);
            //rss.SetAccessRuleProtection(false, false);
            //rk.SetAccessControl(rss);
            rk.SetValue("InstallDate", String.Format("{0:yyyyMMdd}", DateTime.Now), RegistryValueKind.String);
            rk.SetValue("LatestLogin", String.Format("{0:yyyyMMdd}", DateTime.Now), RegistryValueKind.String);
            string keyType = lic.LicenseKeyTypeString.ToUpper();
            rk.SetValue("LicenseType", keyType);
            rk.Close();


            return lic;

        }
Exemplo n.º 6
0
 public Microsoft.Win32.RegistryKey CreateSubKey(string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, System.Security.AccessControl.RegistrySecurity registrySecurity)
 {
     throw null;
 }
Exemplo n.º 7
0
 public void SetAccessControl(System.Security.AccessControl.RegistrySecurity registrySecurity)
 {
     throw null;
 }
 public RegistryKey CreateSubKey(string subkey, RegistryKeyPermissionCheck permissionCheck, System.Security.AccessControl.RegistrySecurity registrySecurity)
 {
 }
Exemplo n.º 9
0
 public IRegistryKey CreateSubKey(string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions, System.Security.AccessControl.RegistrySecurity registrySecurity)
 {
     return(Wrap(inner.CreateSubKey(subkey, permissionCheck, registryOptions, registrySecurity)));
 }