/// <inheritdoc />
        public Object GetConfigEntry(String entryName, String node = null)
        {
            if (entryName == null)
            {
                throw new ArgumentNullException(nameof(entryName));
            }
            if (String.Empty.Equals(entryName))
            {
                throw new ArgumentException("'entryName' parameter cannot be empty string.");
            }

            ICertAdmin2 certAdmin = new CCertAdminClass();

            try {
                return(useActive
                    ? certAdmin.GetConfigEntry($"{ComputerName}\\{ActiveConfig}", node ?? String.Empty, entryName)
                    : certAdmin.GetConfigEntry(ComputerName, String.Empty, entryName));
            } catch (Exception ex) {
                if (ex is FileNotFoundException)
                {
                    return(null);
                }
                throw;
            } finally {
                CryptographyUtils.ReleaseCom(certAdmin);
            }
        }
        String readActiveConfig()
        {
            ICertAdmin2 certAdmin = new CCertAdminClass();

            try {
                String active = (String)certAdmin.GetConfigEntry(ComputerName, String.Empty, "Active");
                IsAccessible = true;
                return(active);
            } catch {
                IsAccessible = false;
            } finally {
                CryptographyUtils.ReleaseCom(certAdmin);
            }
            return(null);
        }