1 2010-07-15 Atsushi Enomoto <atsushi@ximian.com>
3 * SslSecurityTokenProvider.cs : verify mismatch. We don't have
4 correct verification code yet, but ignoring this only brings
5 further mismatch error.
6 * TlsClientSession.cs : add some commented code.
8 2010-07-15 Atsushi Enomoto <atsushi@ximian.com>
10 * SslSecurityTokenProvider.cs : pass X509 auth credential, which
11 contains X509 validation information.
12 * TlsClientSession.cs : use x509 auth settings to validate service
15 2010-07-15 Atsushi Enomoto <atsushi@ximian.com>
17 * TlsServerSession.cs : SendRecord() somehow doesn't work, so
18 use separate stream instread.
20 2010-07-15 Atsushi Enomoto <atsushi@ximian.com>
22 * BinarySecretSecurityToken.cs : add KeySize.
23 * SslSecurityTokenAuthenticator.cs : add some comments.
25 2010-07-15 Atsushi Enomoto <atsushi@ximian.com>
27 * ServiceModelSecurityTokenRequirement.cs :
28 add ExtendedProtectionPolicy.
30 2010-07-12 Atsushi Enomoto <atsushi@ximian.com>
32 * SslSecurityTokenAuthenticator.cs,
33 AuthenticatorCommunicationObject.cs,
34 SecureConversationSecurityTokenAuthenticator.cs :
35 add timeout argument to negotication requests.
37 2008-02-27 Eyal Alaluf <eyala@mainsoft.com>
39 * InternalEncryptedKeyIdentifierClause.cs IssuedTokenCommunicationObject.cs:
40 Fix compilation warnings.
42 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
44 * IssuedSecurityTokenParameters.cs :
45 implemented CreateRequestParameters().
47 2007-04-02 Atsushi Enomoto <atsushi@ximian.com>
49 * TlsClientSession.cs, TlsServerSession.cs,
50 SslSecurityTokenProvider.cs : support mutual sslnego.
51 * SslnegoCookieResolver.cs : .net seems to include X509Certificate
52 information in the cookie.
54 2007-04-02 Atsushi Enomoto <atsushi@ximian.com>
56 * SecurityContextSecurityToken.cs : Cookie needs a setter.
57 * SslnegoCookieResolver.cs : set Cookie so that it can be serialized.
58 * SslSecurityTokenProvider.cs, SslSecurityTokenAuthenticator.cs :
59 (At provider) check contextId returned by the server.
60 Reverted ProofToken value (see comments).
61 * CommunicationSecurityTokenAuthenticator.cs : it now implements
62 IIssuanceSecurityTokenAuthenticator.
64 2007-03-30 Atsushi Enomoto <atsushi@ximian.com>
66 * AuthenticatorCommunicationObject.cs : added SecurityBindingElement.
67 * SslSecurityTokenProvider.cs : a few updates, key is now from
69 * SslSecurityTokenAuthenticator.cs :
70 use LocalServiceSecuritySettings.IssuedCookieLifetime.
71 * SpnegoSecurityTokenProvider.cs, SpnegoSecurityTokenAuthenticator.cs,
72 SspiSession.cs : some ongoing updates
73 as well as spnego (kerberos) negotiation handling.
74 * TlsClientSession.cs : by specification it is P_SHA, not PRF
75 (though not sure, as CombinedHash is for PRF).
77 2007-03-30 Atsushi Enomoto <atsushi@ximian.com>
79 * SslnegoCookieResolver.cs : ResolveCookie() should simply return
80 entire SecurityContextToken parsed by dnse:Cookie binary.
82 2007-03-27 Atsushi Enomoto <atsushi@ximian.com>
84 * SslSecurityTokenAuthenticator.cs, SslSecurityTokenProvider.cs :
85 Ongoing implementation. Applied some changes for SSPI support.
86 WSSecurityTokenSerializer is implemented to return binary-secret-
87 aware token, so just return it. Fixed some CK-HASH usage.
88 * IssuedTokenCommunicationObject.cs :
89 Applied some changes for SSPI support.
90 * SpnegoSecurityTokenAuthenticator.cs, SpnegoSecurityTokenProvider.cs,
91 SspiSession.cs : new ongoing implementation for SSPI negotiation.
92 * SspiClientSecurityTokenAuthenticator.cs : spnego authenticator
93 will go here (it is just a stub. Created when opening a channel).
95 2007-03-22 Atsushi Enomoto <atsushi@ximian.com>
97 * TlsClientSession.cs, SslSecurityTokenProvider.cs,
98 SslSecurityTokenAuthenticator.cs : added hash calculation support,
99 not working yet though (probably at service side).
101 2007-03-20 Atsushi Enomoto <atsushi@ximian.com>
103 * SslSecurityTokenAuthenticator.cs : don't reuse ContextId for SCT.
104 Process ServerFinished before ApplicationData exchange.
105 * TlsServerSession.cs : Fixed ClientKeyExchange stream processing.
107 2007-03-20 Atsushi Enomoto <atsushi@ximian.com>
109 * TlsClientSession.cs, TlsServerSession.cs :
110 added ProcessApplicationData()
111 * SslSecurityTokenAuthenticator.cs, SslSecurityTokenProvider.cs :
112 process RequestedProofToken as raw TLS negotiation data.
113 * SslnegoCookieResolver.cs : add comments on data format.
115 2007-03-19 Atsushi Enomoto <atsushi@ximian.com>
117 * TlsClientSession.cs : added CreateAuthHash(), used by authenticator.
118 * SecurityContextSecurityToken.cs : support "probably correct" rawdata
119 creation for cookie. It is not the secret key but some binary xml
121 * SslnegoCookieResolver.cs : added CreateData() for creating
122 binary-xmlized token cookie info.
123 * SslSecurityTokenAuthenticator.cs : create session key (dummy for
124 now) and use it instead of MasterSecret. Support t:Authenticator.
126 2007-03-13 Atsushi Enomoto <atsushi@ximian.com>
128 * SslSecurityTokenAuthenticator.cs, SslSecurityTokenProvider.cs :
129 (The build should be fixed at this state.)
130 Implemented RSTR consumption and RSTR collection creation (as the
131 final stage at sslnego phase).
133 Note that it is still not working, as our binary XmlDictionaryReader
134 is not working fine (and still not sure if it will work when they
135 are working fine, as currently there is no way to check if the
136 byte array binary-serialized and encrypted in the dnse:Cookie is
137 the actual symmetric key).
139 2007-03-13 Atsushi Enomoto <atsushi@ximian.com>
141 * SslSecurityTokenParameters.cs : support SecurityContextSecurityToken
142 in CreateKeyIdentifierClause(). Comment out generic xml token
143 support until we need it for sure.
145 2007-03-13 Atsushi Enomoto <atsushi@ximian.com>
147 * SecurityContextSecurityToken.cs : implemented almost all members.
148 * X509SecurityTokenParameters.cs : added comment on wrong documentation.
150 2007-03-13 Atsushi Enomoto <atsushi@ximian.com>
152 * SslnegoCookieResolver.cs : new file. It contains the resolver for
153 MS's non-standard encrypted sslnego shared key (dnse:Cookie), and
154 more importantly, the description on its data format (which was
155 almost unabled to be guessed, until I use non-protecting
156 SecurityStateEncoder and dug in depth to Binary XmlDictionaryReader).
158 2007-03-13 Atsushi Enomoto <atsushi@ximian.com>
160 * TlsServerSession.cs, TlsClientSession.cs : complete every operations
161 that depends on ReceiveRecord(). Added accessor to MasterSecret.
163 2007-03-09 Atsushi Enomoto <atsushi@ximian.com>
165 * TlsServerSession.cs : now ssl negotiation is functional enough to
166 implement SecurityContextToken(Collection) transmit.
167 * TlsClientSession.cs : cosmetic code consistency fix.
169 2007-03-09 Atsushi Enomoto <atsushi@ximian.com>
171 * TlsClientSession.cs, TlsServerSession.cs :
172 okay, there is RecordProtocol, which makes things much easier and
173 correct. Now client seems to be interoperable with .net.
175 2007-03-08 Atsushi Enomoto <atsushi@ximian.com>
177 * TlsClientSession.cs, TlsServerSession.cs :
178 several fixes; Fixed content type processing (Handshake and
179 ChangeCipherSpec). Fixed chunk output of handshake messages.
180 Set server side key verifier.
181 * SslSecurityTokenProvider.cs : use IssueReply for RSTR (fixed SOAP
183 * SslSecurityTokenAuthenticator.cs : implemented most of TLS
184 negotiation support, except for the final stage (still not clear
187 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
189 * AuthenticatorCommunicationObject.cs,
190 CommunicationSecurityTokenAuthenticator.cs,
191 SecureConversationSecurityTokenAuthenticator.cs :
192 new classes for negotiation-based token authenticators.
193 * SslSecurityTokenAuthenticator.cs : now it is based on
194 CommunicationSecurityTokenAuthenticator (like corresponding
197 2007-03-06 Atsushi Enomoto <atsushi@ximian.com>
199 * SecureConversationSecurityTokenParameters.cs :
200 implemented protected properties.
201 * X509SecurityTokenParameters.cs : added missing ToString().
203 2007-03-05 Atsushi Enomoto <atsushi@ximian.com>
205 * SslSecurityTokenProvider.cs : implemented some client negotiation
206 based on Mono.Security.Protocols.Tls.* and WSTrust contracts.
207 * TlsServerSession.cs, TlsClientSession.cs : session state transition
208 manager (controls Tls Context).
210 2007-03-05 Atsushi Enomoto <atsushi@ximian.com>
212 * UserNameSecurityTokenParameters.cs,
213 RsaSecurityTokenParameters.cs,
214 IssuedSecurityTokenParameters.cs,
215 SslSecurityTokenParameters.cs
216 SspiSecurityTokenParameters.cs,
217 KerberosSecurityTokenParameters.cs,
218 SecureConversationSecurityTokenParameters.cs : updated
219 InitializeSecurityTokenRequirement() based on updated MSDN docs.
220 Implemented Ssl CreateKeyIdentifierClause().
221 Implemented IssuedToken copy .ctor().
223 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
225 * ServiceModelSecurityTokenRequirement.cs,
226 RecipientServiceModelSecurityTokenRequirement.cs,
227 InitiatorServiceModelSecurityTokenRequirement.cs :
228 implemented ToString().
230 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
232 * SslSecurityTokenParameters.cs : more initialization of requirement.
233 * SslSecurityTokenAuthenticator.cs : new file.
235 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
237 * WrappedKeySecurityToken.cs : okkk, HMAC is extra. Just use SHA1,
238 and not for raw key but for wrapped key.
240 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
242 * WrappedKeySecurityToken.cs :
243 create HMACSHA1 always with the key to compute hash (I'm not sure
244 it is correct; it is rather to adjust all hash consistent.)
246 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
248 * DerivedKeySecurityToken.cs : added ReferenceList for corresponding
249 references to this key.
251 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
253 * DerivedKeySecurityToken.cs : new internal class to represent
254 wssc:DerivedKeyToken.
256 2007-02-16 Atsushi Enomoto <atsushi@ximian.com>
258 * WrappedKeySecurityToken.cs : reverted previous change. Key hash
259 could not be identical for the same key, but EncryptedKeySHA1 is
260 based on the wrapped key. So, there is an issue that .NET returns
261 different key than the one in the request message.
263 2007-02-15 Atsushi Enomoto <atsushi@ximian.com>
265 * WrappedKeySecurityToken.cs : SecurityKey should hold raw key, not
268 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
270 * WrappedKeySecurityToken.cs : it cannot resolve clauses from its
271 .ctor() argument identifier clauses. Match EncrypedKeySHA1 clause
272 if the hash values match.
273 * InternalEncryptedKeyIdentifierClause.cs :
274 derive from Binary clause.
276 2007-02-05 Atsushi Enomoto <atsushi@ximian.com>
278 * InternalEncryptedKeyIdentifierClause.cs : new file. It might not be
279 required, but for now it is used to write embedded EncryptedKey in
280 o:SecurityTokenReference.
282 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
284 * WrappedKeySecurityToken.cs : added internal ReferenceList, to
285 output e:ReferenceList (kind of compromised solution; see comments).
287 2007-01-09 Atsushi Enomoto <atsushi@ximian.com>
289 * WrappedKeySecurityToken.cs : GetWrappedKey() return value should
290 be the encrypted value of argument keyToWrap. Added several argument
293 2006-12-09 Atsushi Enomoto <atsushi@ximian.com>
295 * WrappedKeySecurityToken.cs : implemented missing members, except for
296 incomplete MatchKeyIdentifierClause().
297 * SecureConversationSecurityTokenParameters.cs : default
298 ChannelProtectionRequirements should cover all body parts i.e.
299 IsBodyIncluded should be true.
301 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
303 * SupportingTokenParameters.cs : implemented SetKeyDerivation().
305 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
307 * X509SecurityTokenParameters.cs : additional constructors.
309 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
311 * BinarySecretSecurityToken.cs : it does not seem that it uses
312 urn:uuid:blah ("urn:" is extraneous).
314 2006-09-27 Atsushi Enomoto <atsushi@ximian.com>
316 * SecurityTokenParameters.cs : added internal properties to access
317 protected properties.
318 * UserNameSecurityTokenParameters.cs : it's done now.
320 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
322 * SecurityTokenParameters.cs : removed MonoTODOs.
323 * X509SecurityTokenParameters.cs :
324 InitializeSecurityTokenRequirement() is done.
326 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
328 * ProviderCommunicationObject.cs, IssuedTokenCommunicationObject.cs,
329 SslSecurityTokenProvider.cs : both of issued token and ssl requires
330 connection requirement, so commonize the check.
332 2006-09-15 Atsushi Enomoto <atsushi@ximian.com>
334 * X509SecurityTokenParameters.cs,
335 SspiSecurityTokenParameters.cs,
336 UserNameSecurityTokenParameters.cs,
337 RsaSecurityTokenParameters.cs,
338 IssuedSecurityTokenParameters.cs,
339 SslSecurityTokenParameters.cs : implemented security feature
340 declaration properties (HasAsymmetricKey etc.) and implemented
343 2006-09-15 Atsushi Enomoto <atsushi@ximian.com>
345 * RsaSecurityTokenParameters.cs : TokenType fix.
346 * ProviderCommunicationObject.cs,
347 CommunicationSecurityTokenProvider.cs : an abstract token provider
348 that implements ICommunicationObject, and the abstract communication
349 object that is used in the provider.
350 * SslSecurityTokenProvider.cs : a practical example of the above,
352 * IssuedTokenCommunicationObject.cs, IssuedSecurityTokenProvider.cs :
353 it is also significantly refactored like the above.
354 The ICommunicationObject part of this provider class now just wraps
355 the intermediate object.
357 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
359 * X509SecurityTokenParameters.cs : when token reference style is
360 Internal, use LocalIdKeyIdentifierClause. The default for this type
363 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
365 * ServiceModelSecurityTokenRequirement.cs : implemented IsInitiator.
366 * InitiatorServiceModelSecurityTokenRequirement.cs :
367 initialize IsInitiator as true.
369 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
371 * SecurityContextSecurityTokenAuthenticator.cs,
372 SspiSecurityToken.cs : new files.
373 * SupportingTokenParameters.cs : copy ctor became private.
375 2006-08-30 Atsushi Enomoto <atsushi@ximian.com>
377 * X509SecurityTokenParameters.cs,
378 UserNameSecurityTokenParameters.cs : implemented properties.
379 * RsaSecurityTokenParameters.cs : new file.
381 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
383 * IssuedSecurityTokenProvider.cs : (GetToken) partly implemented
384 response message consumption.
386 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
388 * X509SecurityTokenParameters.cs :
389 implemented CreateKeyIdentifierClause().
391 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
393 * SupportingTokenParameters.cs : added some missing members.
395 2006-08-25 Atsushi Enomoto <atsushi@ximian.com>
397 * BinarySecretSecurityToken.cs : some .ctor() are protected.
399 2006-08-25 Atsushi Enomoto <atsushi@ximian.com>
401 * KerberosSecurityTokenParameters.cs : new test.
403 2006-08-25 Atsushi Enomoto <atsushi@ximian.com>
405 * InitiatorServiceModelSecurityTokenRequirement.cs,
406 RecipientServiceModelSecurityTokenRequirement.cs :
407 just use Properties to set and get each property.
408 * SslSecurityTokenParameters.cs : fix ctor chain.
409 hacky InitializeSecurityTokenRequirement implementation.
411 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
413 * SecureConversationSecurityTokenParameters.cs :
414 fill SecurityAlgorithmSuite to the requirement.
415 * SecurityTokenParameters.cs :
416 added internal IssuerBindingContext property for
417 SecurityBindingElement.SetIssuerBindingContextIfRequired().
418 Use this context in CallInitializeSecurityTokenParameters().
420 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
422 * IssuedSecurityTokenParameters.cs : oops, oops. fix build.
424 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
426 * IssuedSecurityTokenParameters.cs : added missing members.
427 * IssuedSecurityTokenProvider.cs : replacing broken data contract
428 based contracts with message based contract.
429 Support IssuerChannelBehaviors.
430 * SecureConversationSecurityTokenParameters.cs :
431 more InitializeSerurityTokenRequirement().
433 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
435 * SecurityContextSecurityTokenResolver.cs
436 ISecurityContextSecurityTokenCache.cs
437 SecurityContextSecurityToken.cs : new files.
439 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
441 * SecureConversationSecurityTokenParameters.cs :
442 partially implemented InitializeSecurityTokenRequirement().
443 * X509SecurityTokenParameters.cs : added X509ReferenceStyle.
444 * SspiSecurityTokenParameters.cs : new file.
446 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
448 * SslSecurityTokenParameters.cs,
449 SecureConversationSecurityTokenParameters.cs : new files.
450 * SecurityTokenParameters.cs : added internal invoker for
451 InitializeSecurityTokenRequirement().
452 * IssuedSecurityTokenParameters.cs, X509SecurityTokenParameters.cs :
453 implement InitializeSecurityTokenRequirement() (incomplete).
454 * ServiceModelSecurityTokenRequirement.cs :
455 MessageSecurityVersion is of type SecurityTokenVersion.
457 2006-08-17 Atsushi Enomoto <atsushi@ximian.com>
459 * ServiceModelSecurityTokenTypes.cs : new file.
461 2006-08-16 Atsushi Enomoto <atsushi@ximian.com>
463 * IssuedSecurityTokenProvider.cs :
464 WST request and response types are renamed.
466 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
468 * IssuedSecurityTokenProvider.cs : use new WSTrust proxy (ClientBase)
469 instead of ChannelFactory.
470 * SecurityTokenParameters.cs : added internal helper method for
471 CreateKeyIdentifierClause().
472 * ServiceModelSecurityTokenRequirement.cs : in several properties,
473 use TryGetProperty<T>() instead of having direct fields (so that
474 only setting items to "Properties" also affects on those props).
476 2006-08-11 Atsushi Enomoto <atsushi@ximian.com>
478 * InitiatorServiceModelSecurityTokenRequirement.cs,
479 RecipientServiceModelSecurityTokenRequirement.cs,
480 ServiceModelSecurityTokenRequirement.cs : new files.
482 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
484 * IssuedSecurityTokenProvider.cs : moved some premise checks from
485 GetTokenCore() to Open().
487 2006-08-04 Atsushi Enomoto <atsushi@ximian.com>
489 * WrappedKeySecurityToken.cs : new file.
491 2006-08-04 Atsushi Enomoto <atsushi@ximian.com>
493 * BinarySecretSecurityToken.cs : new file.
495 2006-08-03 Atsushi Enomoto <atsushi@ximian.com>
497 * UserNameSecurityTokenParameters.cs,
498 X509SecurityTokenParameters.cs : new files.
500 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
502 * IssuedSecurityTokenProvider.cs : (GetTokenCore) some premise check.
504 2006-08-01 Atsushi Enomoto <atsushi@ximian.com>
506 * IssuedSecurityTokenProvider.cs : implemented some properties.
507 * RenewedSecurityTokenHandler.cs, IssuedSecurityTokenHandler.cs,
508 IIssuanceSecurityTokenAuthenticator.cs : new files.
510 2006-08-01 Atsushi Enomoto <atsushi@ximian.com>
512 * IssuedSecurityTokenProvider.cs, ClaimTypeRequirement.cs : new files.
513 * IssuedSecurityTokenParameters.cs : added some missing members.
515 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
517 * SecurityTokenReferenceStyle.cs : moved from S.SM.Security namespace.
519 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
521 * IssuedSecurityTokenParameters.cs, SecurityTokenParameters.cs :
524 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
526 * SupportingTokenParameters.cs : new file.