187 Commits

Author SHA1 Message Date
antiduh
d2ca5fa81b Now that all handles are properly sized, no longer need to restrict to 32-bit mode. 2014-06-24 22:35:23 +00:00
antiduh
4f98c9467e Implemented safe access to the safeCredHandle when reading credential name. 2014-06-24 22:34:44 +00:00
antiduh
28a3835060 No need to manually delete the context handle, it's under a safe handle now. 2014-06-24 22:01:26 +00:00
antiduh
56e48dc65d Cleaned up code style and comments 2014-06-24 21:35:32 +00:00
antiduh
766b16e93c Added a little helper to understand the meaning of a SecurityStatus. Don't store the SecurityStatus as an int; we don't need signed semantics and it just complicates comparisons and literals. 2014-06-24 21:10:29 +00:00
antiduh
970c0f2bfa Moved the safe handles for credentials and contexts into their own file. 2014-06-24 20:21:09 +00:00
antiduh
508cd9df49 Move credential native methods to their own file. Create a QueryNameSupport.cs file to hold a couple classes related to implementing that functionality. 2014-06-24 20:19:58 +00:00
antiduh
6b3e395f7c Implemented SafeHandle usage for Context et al. The usage isn't actually safe yet, since I still reference the rawHandle without doing safe (CER) reference counting on the handle. 2014-06-24 19:41:19 +00:00
antiduh
a681cc27c5 Changed the SafeSspiHandle et al to invalidate the underlying handle after releasing it. 2014-06-24 17:41:35 +00:00
antiduh
1fcbf6da72 Added the app.config file to the repo. Updated the svn:ignore property to ignore the .user files. 2014-06-24 03:15:46 +00:00
antiduh
fe14836949 Fixed Credential using a fixed-size 64-bit handle; it's always 2 pointers.
Reworked the Credential handle into a SafeCredentialHandle. We still use references to the raw handle, which is unsafe, but I will hopefully rework that soon.
2014-06-24 03:01:53 +00:00
antiduh
19f2e71e9c Make sure prefer 32-bit is set for now. Not 64-bit safe, because I'm bad at credential handle sizes.. 2014-06-24 01:24:42 +00:00
antiduh
6f5834c716 No longer need unsafe. 2014-06-23 21:50:21 +00:00
antiduh
3ac7fb5ec8 Initial implementation of EncryptMessage and DecryptMessage. 2014-06-23 21:50:12 +00:00
antiduh
9785183f31 Added support for querying the context's user name and authority. Still working my way up to EncryptMessage. 2014-06-23 18:30:26 +00:00
antiduh
1be2b9c7ef Saving work.. working on implementing EncryptMessage. The buffer types and allocation that get passed to the call is really crazy in the sample. 2014-06-23 02:34:36 +00:00
antiduh
3142cfff7b Fixed ServerContext to store its final attributes. 2014-06-23 02:33:47 +00:00
antiduh
93bdd38729 A little cleaner, and we can complete negotiation. 2014-06-23 00:13:50 +00:00
antiduh
352e4d18fc Working on implementing the ServerContext and structuring things so that invoking the public interface is a little easier - trying to move out of proof-of-concept code to prototype code. Still need to rework how I deal with the context and credential handles, worried that they're not treated safe. Still need to reorganize a lot of where code lives. Very inconsistent so far. 2014-06-22 16:20:10 +00:00
antiduh
a079449f85 Changed how internal structures are created for handling SecureBuffers. 2014-06-22 03:35:47 +00:00
antiduh
1c5849ba94 Moved the secure buffer code to its own folder. 2014-06-22 00:43:47 +00:00
antiduh
c64765fbdf I can now successfully call InitializeSecurityContext and get a status of ContinueNeeded. 2014-06-21 16:32:34 +00:00
antiduh
cc0235262c Done screwing with WindowsPrinciple. Switch to CredTest again for the remaining development. 2014-06-20 18:07:15 +00:00
antiduh
0655259f46 Rough capture of the options to InitializeSecurityContext (used by clients) and AcceptSecurityContext (used by servers). Some of the options are used only by clients (prefaced by init) and some are only used by servers (prefaced by Accept). It might be worth to either separate the two sets by client options and server options, or unifying the sets in the public interface, and translating to the correct values when actually calling ISC or ASC. 2014-06-20 18:06:33 +00:00
antiduh
cfba81cfe2 Working on some of the fundamentals of the Context side of things. The Win 32 API is very wonky here though. Going to take some time. 2014-06-19 21:53:34 +00:00
antiduh
07b6c4c77c Add the DllImport attrib for InitializeSecurityContext_Client; still only a rough idea of how it will be used. 2014-06-19 21:52:53 +00:00
antiduh
cca5cf8486 Messing around with verification and impersonation with WindowsIdentity. 2014-06-19 21:52:10 +00:00
antiduh
d7d552ad58 Implemented ClientCredential - just a wrapper around Credential. 2014-06-19 21:09:36 +00:00
antiduh
241b2a596f Slowly working on InitializeSecurityContext 2014-06-19 18:45:15 +00:00
antiduh
d35db9d62a Moved the credential files into their own folder. 2014-06-19 15:25:45 +00:00
antiduh
52219057b7 Forgot to include the ClientCredential and ServerCredential files in the project. 2014-06-19 15:24:08 +00:00
antiduh
3c100caf28 Helper classes to provide client-aspect usage and server-aspect usage of the API. 2014-06-19 03:12:40 +00:00
antiduh
737ebc19da Fixed compiler error and comment error. 2014-06-19 03:08:12 +00:00
antiduh
f0f057d3bb Added support for querying a credential's name. 2014-06-19 03:07:34 +00:00
antiduh
f96ef74e9b Implemented Credential acquisition and release. 2014-06-19 02:26:30 +00:00
antiduh
22c6a5d3f9 Still working on the base implementation. 2014-06-18 22:07:56 +00:00
antiduh
87692b3cc6 New project to interface with the Microsoft Windows SSPI integration authentication API. 2014-06-18 21:26:43 +00:00