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
antiduh
241da896b1
Implemented the ability to query the EnumerateSecurityPackages native API safely.
2014-06-27 22:00:18 +00:00
antiduh
7e5f2a6308
Fixed the demo's CustomServer confusion over Disconnected - it was firing it when a full shutdown occurred, not just when the current client disconnected. Created a second Stopped event to track when the full shutdown actually occurs; still not used by UI.
2014-06-27 21:59:19 +00:00
antiduh
7512b11a66
Implement signed message passing in the UIs.
2014-06-27 18:01:46 +00:00
antiduh
55969a41f5
Comments.
2014-06-27 17:41:28 +00:00
antiduh
cbaf311339
Improve the reliability of the SecureBufferAdapter, so that we can make stronger guarantees that the held GC handles will be released even if the object is leaked.
...
Also, I added guarding in the Dispose(false) method so that we don't accidentally try to release a handle that was never allocated, possibly causing us to throw an exception and fail to release the handles further down the execution.
2014-06-27 17:40:03 +00:00
antiduh
c1b7785440
Reorganized the project to put the library one folder down.
2014-06-27 14:38:28 +00:00
antiduh
ffb7e36edb
Helper methods to safely invoke the VerifySignature and MakeSignature native methods.
2014-06-27 01:52:42 +00:00
antiduh
4224193f6f
CERs around the handle usage in MakeSignature and VerifySignature
2014-06-27 01:47:43 +00:00
antiduh
fc9daf3611
Fix ImpersonationHandle so that it survives multiple disposes.
2014-06-27 01:43:08 +00:00
antiduh
85288a9dae
Implemented message signature and validation.
2014-06-27 01:29:03 +00:00
antiduh
9310dde83b
Rearrange the conditionals so that I always perform the Free if I got back a non-zero pointer, but only perform the Marshal if I got back a valid pointer and a good status code.
2014-06-27 00:18:31 +00:00
antiduh
b55c367caa
Better protection against leaking handles - use a nested try-finally when allocating inside a CER. The inner finally protects against the case where the PtrToStructure, which allocates, fails.
2014-06-26 23:43:14 +00:00
antiduh
c9a4e69dc3
Fixed spelling.
2014-06-26 23:40:35 +00:00
antiduh
0506420ab4
Reconstruct the context after it's done.
2014-06-26 21:56:06 +00:00
antiduh
ef8094d9da
Fixed server shutdown.
2014-06-26 21:55:51 +00:00
antiduh
3136c0d3b2
Fixed the server form state machine to set that we're back to initializing on disconnect.
2014-06-26 21:47:18 +00:00
antiduh
6d4fc877ec
Slowly trying to make this thing work reliably when restarting the demo.
2014-06-26 21:39:58 +00:00
antiduh
f91402ef4b
Renamed the client and server forms to have their role in the name.
2014-06-26 20:59:32 +00:00
antiduh
8b032cb871
These files were moved.
2014-06-26 20:59:02 +00:00
antiduh
a8b98b3a1e
More visibility restriction.
2014-06-26 18:04:44 +00:00
antiduh
5b3a92ee66
Implemented the server form. Client <-> Server interaction actually works.
...
Fixed a few bugs in the CustomServer - wasn't configuring the listen socket correctly, doing read/write operations from the wrong socket, etc. Reworked how the CustomConnection class handles serialization.
Added Disconnected events to the sample's CustomConnection and CustomServer classes so the forms could reset state.
2014-06-26 18:00:50 +00:00
antiduh
81ed80a4d0
Fixed namespaces; Working on server-side UI.
2014-06-25 21:49:35 +00:00
antiduh
2e6b847434
Working on a rough demo client/server app.
2014-06-25 21:28:03 +00:00
antiduh
6dfaa54b63
Added basic functionality to query package information.
2014-06-25 20:14:12 +00:00
antiduh
5f3fd64169
Rough implementation of impersonation.
2014-06-25 20:12:46 +00:00
antiduh
9118815314
Forgot to commit the stub class
2014-06-25 02:49:54 +00:00
antiduh
95195f1214
Working on implementing impersonation.
2014-06-25 02:49:25 +00:00
antiduh
ade72b32f4
Implement the context-completion check I've had sitting half done.
2014-06-25 02:00:05 +00:00
antiduh
14d8ad5db7
Now with consistent namespaces and using statement sorting.
2014-06-25 01:48:52 +00:00
antiduh
ea80cfb1f5
More hiding internals.
2014-06-25 01:32:42 +00:00
antiduh
1577d2de66
More reliability contracts for CERs.
2014-06-25 01:30:03 +00:00
antiduh
e274ce06eb
Reduce methods visibility
2014-06-25 01:28:15 +00:00
antiduh
3ee755128f
More CER goodness.
2014-06-25 01:26:59 +00:00
antiduh
26888a8b7b
Create a similar SafeDecryptMessage that handles the CER crud.
...
Change the Safe*Message methods to order the parameters the same (even though the Win32 API doesn't..) and to take in the SecureBufferAdapter instead of its handle.
2014-06-25 01:08:29 +00:00
antiduh
2b52e1d84f
Helper method for invoking native methods with a CER.
2014-06-24 22:57:02 +00:00
antiduh
8837f3e95c
Implemented CERs for encryption and decryption.
2014-06-24 22:51:38 +00:00
antiduh
bf1312cb81
More reliability contracts.
2014-06-24 22:43:40 +00:00