diff --git a/NSspi/Credentials/ClientCredential.cs b/NSspi/Credentials/ClientCredential.cs index 3a52e5e..0d3ab29 100644 --- a/NSspi/Credentials/ClientCredential.cs +++ b/NSspi/Credentials/ClientCredential.cs @@ -9,7 +9,7 @@ namespace NSspi.Credentials { public class ClientCredential : Credential { - public ClientCredential( SecurityPackage package ) + public ClientCredential( string package ) : base( package ) { Init(); @@ -22,29 +22,14 @@ namespace NSspi.Credentials TimeStamp rawExpiry = new TimeStamp(); // -- Package -- - if( this.SecurityPackage == SecurityPackage.Kerberos ) - { - packageName = PackageNames.Kerberos; - } - else if( this.SecurityPackage == SecurityPackage.Negotiate ) - { - packageName = PackageNames.Negotiate; - } - else if( this.SecurityPackage == SecurityPackage.NTLM ) - { - packageName = PackageNames.Ntlm; - } - else - { - throw new ArgumentException( "Invalid value provided for the 'package' parameter." ); - } + // Copy off for the call, since this.SecurityPackage is a property. + packageName = this.SecurityPackage; // -- Credential -- // Client uses outbound credentials. use = CredentialUse.Outbound; // -- Invoke -- - SecurityStatus status = SecurityStatus.InternalError; this.Handle = new SafeCredentialHandle(); diff --git a/NSspi/Credentials/Credential.cs b/NSspi/Credentials/Credential.cs index dee13da..5976d42 100644 --- a/NSspi/Credentials/Credential.cs +++ b/NSspi/Credentials/Credential.cs @@ -16,13 +16,13 @@ namespace NSspi.Credentials { private bool disposed; - private SecurityPackage securityPackage; + private string securityPackage; private SafeCredentialHandle safeCredHandle; private DateTime expiry; - public Credential( SecurityPackage package ) + public Credential( string package ) { this.disposed = false; this.securityPackage = package; @@ -35,7 +35,7 @@ namespace NSspi.Credentials Dispose( false ); } - public SecurityPackage SecurityPackage + public string SecurityPackage { get { diff --git a/NSspi/Credentials/ServerCredential.cs b/NSspi/Credentials/ServerCredential.cs index b4d88b0..78aa895 100644 --- a/NSspi/Credentials/ServerCredential.cs +++ b/NSspi/Credentials/ServerCredential.cs @@ -9,7 +9,7 @@ namespace NSspi.Credentials { public class ServerCredential : Credential { - public ServerCredential( SecurityPackage package ) + public ServerCredential( string package ) : base( package ) { Init(); @@ -22,22 +22,8 @@ namespace NSspi.Credentials TimeStamp rawExpiry = new TimeStamp(); // -- Package -- - if( this.SecurityPackage == SecurityPackage.Kerberos ) - { - packageName = PackageNames.Kerberos; - } - else if( this.SecurityPackage == SecurityPackage.Negotiate ) - { - packageName = PackageNames.Negotiate; - } - else if( this.SecurityPackage == SecurityPackage.NTLM ) - { - packageName = PackageNames.Ntlm; - } - else - { - throw new ArgumentException( "Invalid value provided for the 'package' parameter." ); - } + // Copy off for the call, since this.SecurityPackage is a property. + packageName = this.SecurityPackage; // -- Credential -- // Server uses Inbound credentials. diff --git a/NSspi/Program.cs b/NSspi/Program.cs index 089e069..b7c61b0 100644 --- a/NSspi/Program.cs +++ b/NSspi/Program.cs @@ -35,7 +35,7 @@ namespace NSspi try { - clientCred = new ClientCredential( SecurityPackage.Negotiate ); + clientCred = new ClientCredential( PackageNames.Negotiate ); Console.Out.WriteLine( clientCred.Name ); client = new ClientContext( @@ -50,7 +50,7 @@ namespace NSspi ContextAttrib.Delegate ); - serverCred = new ServerCredential( SecurityPackage.Negotiate ); + serverCred = new ServerCredential( PackageNames.Negotiate ); server = new ServerContext( serverCred, diff --git a/TestClient/ClientForm.cs b/TestClient/ClientForm.cs index 8870002..fad3d93 100644 --- a/TestClient/ClientForm.cs +++ b/TestClient/ClientForm.cs @@ -48,7 +48,7 @@ namespace TestClient this.FormClosing += Form1_FormClosing; // --- SSPI --- - this.cred = new ClientCredential( SecurityPackage.Negotiate ); + this.cred = new ClientCredential( PackageNames.Negotiate ); this.context = new ClientContext( cred, diff --git a/TestServer/ServerForm.cs b/TestServer/ServerForm.cs index b0cabb9..caaef4b 100644 --- a/TestServer/ServerForm.cs +++ b/TestServer/ServerForm.cs @@ -34,7 +34,7 @@ namespace TestServer { InitializeComponent(); - this.serverCred = new ServerCredential( SecurityPackage.Negotiate ); + this.serverCred = new ServerCredential( PackageNames.Negotiate ); this.serverContext = new ServerContext( serverCred,