Commit Graph

174 Commits

Author SHA1 Message Date
antiduh 6805058de5 Change the project so that it compiles against .Net 4.0 for greater usability. 2014-07-07 19:24:31 +00:00
antiduh 525007e296 Updated the readme to indicate Visual Studio compatibility. 2014-07-07 19:22:15 +00:00
antiduh f0a2f85edf Comments. 2014-07-07 19:20:12 +00:00
antiduh 4186938ebc Comments and constructor visibility. 2014-07-07 19:15:05 +00:00
antiduh 239d651ec6 Updated the readme. 2014-07-07 17:27:19 +00:00
antiduh 4279ae339d Fixed busted namespaces. 2014-07-05 14:32:04 +00:00
antiduh 7ea67fc927 Comments. 2014-07-03 21:22:43 +00:00
antiduh 4d0297310d Comments. 2014-07-03 21:20:15 +00:00
antiduh b5b16530cc Rename Credential.Name to PrincipleName. PrincipleName comes from the security service provider, which may not correspond to the domain user name. For instance, if I'm using kerberos on my domain, my principle may be user@DIVISION.CORP.COM, meanwhile my username might be CORP\user. 2014-07-03 21:02:33 +00:00
antiduh bfaa49d0a3 Restructured the demo a little bit to exercise the common security packages. 2014-07-03 21:00:19 +00:00
antiduh a0b1bd8b7e Fixed ClientContext.Initialize so that it always outputs a token if one was generated, independent of status. 2014-07-03 20:37:32 +00:00
antiduh cabf7e5249 Use the package properties to know how big to make the token buffers. 2014-07-03 20:16:22 +00:00
antiduh 9636bb44b5 Updated comments. 2014-07-03 03:24:16 +00:00
antiduh 3611034f82 Working on comments. 2014-07-02 21:54:50 +00:00
antiduh 8a353227db The attribute should not be exposed to the public API, since it shouldn't need to be used by consumers - mark it internal. 2014-07-02 21:54:19 +00:00
antiduh 57c2e8cc52 Add usage of the sequenceNumber and qualityOfProtection parameters, at least at the bottom layer. Upper layers don't right now, but we can change that later. 2014-07-01 21:59:42 +00:00
antiduh c891b70625 Get rid of the 'status' variable when checking the return code in RevertImpersonate. We don't care what happened, since if it broke, we can't report it (it's in a Dispose path). 2014-07-01 21:22:32 +00:00
antiduh d63abfb178 Mark the NativeMethods class as static; it's never going to be instantiated. 2014-07-01 21:20:40 +00:00
antiduh f75b870cca Make PackageSupport public so consumers can learn about packages. 2014-07-01 21:20:03 +00:00
antiduh c1a9712bd4 Variable freeStatus is not used. 2014-07-01 21:19:15 +00:00
antiduh c37e241312 No longer used. 2014-07-01 19:18:03 +00:00
antiduh 7503d37770 Updated comments. 2014-07-01 19:17:56 +00:00
antiduh ce64bf9d9a Simplified object lifecycle verification. 2014-07-01 18:40:35 +00:00
antiduh 2e6962bcc0 Removed the finalizer from Credential. The unmanaged resources are captured by other managed objects, who themselves are finalizable objects (usually CriticalFinalizerObject or SafeHandles). 2014-07-01 18:39:16 +00:00
antiduh b742dbbff4 Simplified lifecycle (initialized, disposed) checks. 2014-07-01 18:36:16 +00:00
antiduh 306fe44cc1 Added more disposed checks. 2014-07-01 18:32:44 +00:00
antiduh e980e11184 Modified the initialization process a little to better control when a context is marked as initialized. 2014-07-01 18:31:33 +00:00
antiduh 5403321a49 Removed the finalizer from Context. The unmanaged resources are captured by other managed objects, who themselves are finalizable objects (usually CriticalFinalizerObject or SafeHandles). 2014-07-01 18:19:11 +00:00
antiduh c8ae206306 Removed todo 2014-07-01 18:15:03 +00:00
antiduh bce9d7b81c Added license. 2014-07-01 18:10:17 +00:00
antiduh db4d5f7d03 Added a Readme. 2014-07-01 18:07:47 +00:00
antiduh 894eb60161 Moved the simple demo code to its own project so that the NSspi.csproj project could be a standard dll, and not a referenced exe assembly. 2014-07-01 15:57:58 +00:00
antiduh b8fd4d9a07 Added a helpful flag to ServerContext to indicate to consumers whether it can support impersonation. Added checks to throw exceptions if impersonation is attempted on a ServerContext that does not support impersonation. Also modified the disposal behavior so that if the ServerContext is disposed while impersonation is occurring, impersonation is explicitly reverted. Consumers wishing to perform long-term impersonation must hold valid references to both the context and impersonation handle. 2014-07-01 15:52:00 +00:00
antiduh aed206e1be Working on writing comments and documentation. 2014-07-01 02:10:53 +00:00
antiduh f65ca7aaaa Added length validation to the Decrypt and VerifySignature methods. 2014-07-01 01:20:08 +00:00
antiduh e86fea598d Refactored the common code in ClientCredential and ServerCredential to a common class, CurrentCredential. 2014-07-01 01:13:33 +00:00
antiduh fcacd2195b Implemented a simple impersonation demo. 2014-06-30 20:09:42 +00:00
antiduh a41e35dc84 CredentialType.cs no longer used. 2014-06-30 20:09:17 +00:00
antiduh dec1509835 Refactored Credential et al so that the security package is provided by name (string), and not an enum. Security packages are runtime enumerable, and new ones may be created that we don't have any idea of. 2014-06-30 15:36:20 +00:00
antiduh 5da12ad4c4 Split the Credential init code off into each concrete credential. 2014-06-30 15:32:31 +00:00
antiduh 372460a78f Reworking Credential so that it can be extended by a third party for adapting to other means of acquiring credentials. 2014-06-30 15:23:12 +00:00
antiduh 9d0403ead6 More ReliabilityContracts for finalizer code. 2014-06-30 15:17:51 +00:00
antiduh 798d6be4ad Added more disposed checks. 2014-06-30 15:05:38 +00:00
antiduh 04df802e54 Add ReliabilityContract for the ReleaseHandle on SafeSspiHandle so that it can fully participate in the implicit CER that is created during finalization. 2014-06-30 15:05:29 +00:00
antiduh 6ed1ab5f76 Added more disposed checks. 2014-06-30 14:49:26 +00:00
antiduh 0070e94aed Changed the demo's ServerForm to display the client's username when a client connects. 2014-06-30 14:40:39 +00:00
antiduh cec7b8b88f Switch the rest of the API to the new TimeStamp structure. Fix the TimeStamp structure to handle dates that are past the upper limit of DateTime.MaxValue. 2014-06-29 16:39:42 +00:00
antiduh 5272979f19 Reworked the Expiry support to expose it in the first place, and to store and present it as a DateTime object. 2014-06-29 14:24:58 +00:00
antiduh bc97ef64ae Removed unused test code 2014-06-29 14:21:20 +00:00
antiduh 60ea145e86 Increase the reliability of QueryCredentialsAttribute_Name usage by wrapping a try-finally around the allocation that happens inside the CER. 2014-06-28 16:46:21 +00:00