public void AddUser(string name, string password = DefaultUserPassword) { var principal = new FakeKerberosPrincipal(PrincipalType.User, name, _realm, Encoding.Unicode.GetBytes(password)); _principalService.Add(name, principal); _principalService.Add($"{name}@{_realm}", principal); }
public KerberosExecutor(ITestOutputHelper testOutputHelper, string realm) { var krb5Config = Krb5Config.Default(); krb5Config.KdcDefaults.RegisterDefaultPkInitPreAuthHandler = false; var logger = new KerberosDelegateLogger( (level, categoryName, eventId, scopeState, logState, exception, log) => testOutputHelper.WriteLine($"[{level}] [{categoryName}] {log}") ); _principalService = new FakePrincipalService(realm); byte[] krbtgtPassword = new byte[16]; var krbtgt = new FakeKerberosPrincipal(PrincipalType.Service, "krbtgt", realm, krbtgtPassword); _principalService.Add("krbtgt", krbtgt); _principalService.Add($"krbtgt/{realm}", krbtgt); _options = new ListenerOptions { Configuration = krb5Config, DefaultRealm = realm, RealmLocator = realm => new FakeRealmService(realm, krb5Config, _principalService), Log = logger, IsDebug = true, }; _kdcListener = new FakeKdcServer(_options); _realm = realm; _servicePrincipals = new List <FakeKerberosPrincipal>(); _testOutputHelper = testOutputHelper; }
public void AddService(string name, string password = DefaultAdminPassword) { var principal = new FakeKerberosPrincipal(PrincipalType.Service, name, _realm, Encoding.Unicode.GetBytes(password)); _principalService.Add(name, principal); _servicePrincipals.Add(principal); }