Exemplo n.º 1
0
        internal static KerberosClient CreateClient(KdcListener listener, string kdc = null, bool caching = true, bool queryDns = false)
        {
            KerberosClient client;

            if (listener == null)
            {
                client = new KerberosClient();

                client.PinKdc("corp.identityintervention.com", kdc);
            }
            else
            {
                IKerberosTransport transport = new InMemoryTransport(listener);

                client = new KerberosClient(transports: transport);
            }

            client.Configuration.Defaults.DnsLookupKdc = queryDns;

            client.CacheServiceTickets   = caching;
            client.RenewTickets          = caching;
            client.RenewTicketsThreshold = TimeSpan.MaxValue;
            client.RefreshPollInterval   = TimeSpan.FromMilliseconds(10);

            return(client);
        }
Exemplo n.º 2
0
        private static KerberosClient CreateClient(string kdc, KdcListener listener)
        {
            KerberosClient client;

            if (listener == null)
            {
                throw new Exception();
            }
            else
            {
                IKerberosTransport transport = new InMemoryTransport(listener);

                client = new KerberosClient(transports: transport);
            }

            return(client);
        }
Exemplo n.º 3
0
        internal static KerberosClient CreateClient(
            KdcListener listener,
            string kdc              = null,
            bool caching            = true,
            bool queryDns           = false,
            bool allowWeakCrypto    = false,
            bool useWeakCrypto      = false,
            bool useKrb5TicketCache = false
            )
        {
            KerberosClient client;

            if (listener == null)
            {
                client = new KerberosClientWrapper(useKrb5TicketCache);

                client.PinKdc("corp.identityintervention.com", kdc);
            }
            else
            {
                IKerberosTransport transport = new InMemoryTransport(listener);

                client = new KerberosClientWrapper(useKrb5TicketCache, transports: transport);
            }

            client.Configuration.Defaults.DnsLookupKdc    = queryDns;
            client.Configuration.Defaults.AllowWeakCrypto = allowWeakCrypto;
            client.CacheServiceTickets   = caching;
            client.RenewTickets          = caching;
            client.RenewTicketsThreshold = TimeSpan.MaxValue;
            client.RefreshPollInterval   = TimeSpan.FromMilliseconds(10);
            client.CacheInMemory         = !useKrb5TicketCache;
            client.Cache.RefreshTickets  = useKrb5TicketCache;

            if (useWeakCrypto)
            {
                client.Configuration.Defaults.DefaultTicketEncTypes.Clear();
                client.Configuration.Defaults.DefaultTicketEncTypes.Add(EncryptionType.RC4_HMAC_NT);
            }

            return(client);
        }
Exemplo n.º 4
0
        internal static KerberosClient CreateClient(KdcListener listener, string kdc = null, bool caching = true)
        {
            KerberosClient client;

            if (listener == null)
            {
                client = new KerberosClient(kdc: kdc);
            }
            else
            {
                IKerberosTransport transport = new InMemoryTransport(listener);

                client = new KerberosClient(transports: transport);
            }

            client.CacheServiceTickets   = caching;
            client.RenewTickets          = caching;
            client.RenewTicketsThreshold = TimeSpan.MaxValue;
            client.RefreshPollInterval   = TimeSpan.FromMilliseconds(10);

            return(client);
        }