1b7d8d11c8bbe103db6ab970352a6dbd32c1ebdb
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Security.Tokens / ChangeLog
1 2010-07-15  Atsushi Enomoto  <atsushi@ximian.com>
2
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.
7
8 2010-07-15  Atsushi Enomoto  <atsushi@ximian.com>
9
10         * SslSecurityTokenProvider.cs : pass X509 auth credential, which
11           contains X509 validation information.
12         * TlsClientSession.cs : use x509 auth settings to validate service
13           certificate.
14
15 2010-07-15  Atsushi Enomoto  <atsushi@ximian.com>
16
17         * TlsServerSession.cs : SendRecord() somehow doesn't work, so
18           use separate stream instread.
19
20 2010-07-15  Atsushi Enomoto  <atsushi@ximian.com>
21
22         * BinarySecretSecurityToken.cs : add KeySize.
23         * SslSecurityTokenAuthenticator.cs : add some comments.
24
25 2010-07-15  Atsushi Enomoto  <atsushi@ximian.com>
26
27         * ServiceModelSecurityTokenRequirement.cs :
28           add ExtendedProtectionPolicy.
29
30 2010-07-12  Atsushi Enomoto  <atsushi@ximian.com>
31
32         * SslSecurityTokenAuthenticator.cs,
33           AuthenticatorCommunicationObject.cs,
34           SecureConversationSecurityTokenAuthenticator.cs :
35           add timeout argument to negotication requests.
36
37 2008-02-27 Eyal Alaluf <eyala@mainsoft.com>
38
39         * InternalEncryptedKeyIdentifierClause.cs IssuedTokenCommunicationObject.cs:
40           Fix compilation warnings.
41
42 2007-04-17  Atsushi Enomoto  <atsushi@ximian.com>
43
44         * IssuedSecurityTokenParameters.cs :
45           implemented CreateRequestParameters().
46
47 2007-04-02  Atsushi Enomoto  <atsushi@ximian.com>
48
49         * TlsClientSession.cs, TlsServerSession.cs,
50           SslSecurityTokenProvider.cs : support mutual sslnego.
51         * SslnegoCookieResolver.cs : .net seems to include X509Certificate
52           information in the cookie.
53
54 2007-04-02  Atsushi Enomoto  <atsushi@ximian.com>
55
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.
63
64 2007-03-30  Atsushi Enomoto  <atsushi@ximian.com>
65
66         * AuthenticatorCommunicationObject.cs : added SecurityBindingElement.
67         * SslSecurityTokenProvider.cs : a few updates, key is now from
68           proof token.
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).
76
77 2007-03-30  Atsushi Enomoto  <atsushi@ximian.com>
78
79         * SslnegoCookieResolver.cs : ResolveCookie() should simply return
80           entire SecurityContextToken parsed by dnse:Cookie binary.
81
82 2007-03-27  Atsushi Enomoto  <atsushi@ximian.com>
83
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).
94
95 2007-03-22  Atsushi Enomoto  <atsushi@ximian.com>
96
97         * TlsClientSession.cs, SslSecurityTokenProvider.cs,
98           SslSecurityTokenAuthenticator.cs : added hash calculation support,
99           not working yet though (probably at service side).
100
101 2007-03-20  Atsushi Enomoto  <atsushi@ximian.com>
102
103         * SslSecurityTokenAuthenticator.cs : don't reuse ContextId for SCT.
104           Process ServerFinished before ApplicationData exchange.
105         * TlsServerSession.cs : Fixed ClientKeyExchange stream processing.
106
107 2007-03-20  Atsushi Enomoto  <atsushi@ximian.com>
108
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.
114
115 2007-03-19  Atsushi Enomoto  <atsushi@ximian.com>
116
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
120           data.
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.
125
126 2007-03-13  Atsushi Enomoto  <atsushi@ximian.com>
127
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).
132
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).
138
139 2007-03-13  Atsushi Enomoto  <atsushi@ximian.com>
140
141         * SslSecurityTokenParameters.cs : support SecurityContextSecurityToken
142           in CreateKeyIdentifierClause(). Comment out generic xml token
143           support until we need it for sure.
144
145 2007-03-13  Atsushi Enomoto  <atsushi@ximian.com>
146
147         * SecurityContextSecurityToken.cs : implemented almost all members.
148         * X509SecurityTokenParameters.cs : added comment on wrong documentation.
149
150 2007-03-13  Atsushi Enomoto  <atsushi@ximian.com>
151
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).
157
158 2007-03-13  Atsushi Enomoto  <atsushi@ximian.com>
159
160         * TlsServerSession.cs, TlsClientSession.cs : complete every operations
161           that depends on ReceiveRecord(). Added accessor to MasterSecret.
162
163 2007-03-09  Atsushi Enomoto  <atsushi@ximian.com>
164
165         * TlsServerSession.cs : now ssl negotiation is functional enough to
166           implement SecurityContextToken(Collection) transmit.
167         * TlsClientSession.cs : cosmetic code consistency fix.
168
169 2007-03-09  Atsushi Enomoto  <atsushi@ximian.com>
170
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.
174
175 2007-03-08  Atsushi Enomoto  <atsushi@ximian.com>
176
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
182           action mismatch).
183         * SslSecurityTokenAuthenticator.cs : implemented most of TLS
184           negotiation support, except for the final stage (still not clear
185           what to do here).
186
187 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
188
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
195           provider class).
196
197 2007-03-06  Atsushi Enomoto  <atsushi@ximian.com>
198
199         * SecureConversationSecurityTokenParameters.cs :
200           implemented protected properties.
201         * X509SecurityTokenParameters.cs : added missing ToString().
202
203 2007-03-05  Atsushi Enomoto  <atsushi@ximian.com>
204
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).
209
210 2007-03-05  Atsushi Enomoto  <atsushi@ximian.com>
211
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().
222
223 2007-03-01  Atsushi Enomoto  <atsushi@ximian.com>
224
225         * ServiceModelSecurityTokenRequirement.cs,
226           RecipientServiceModelSecurityTokenRequirement.cs,
227           InitiatorServiceModelSecurityTokenRequirement.cs :
228           implemented ToString().
229
230 2007-03-01  Atsushi Enomoto  <atsushi@ximian.com>
231
232         * SslSecurityTokenParameters.cs : more initialization of requirement.
233         * SslSecurityTokenAuthenticator.cs : new file.
234
235 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
236
237         * WrappedKeySecurityToken.cs : okkk, HMAC is extra. Just use SHA1,
238           and not for raw key but for wrapped key.
239
240 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
241
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.)
245
246 2007-02-21  Atsushi Enomoto  <atsushi@ximian.com>
247
248         * DerivedKeySecurityToken.cs : added ReferenceList for corresponding
249           references to this key.
250
251 2007-02-21  Atsushi Enomoto  <atsushi@ximian.com>
252
253         * DerivedKeySecurityToken.cs : new internal class to represent
254           wssc:DerivedKeyToken.
255
256 2007-02-16  Atsushi Enomoto  <atsushi@ximian.com>
257
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.
262
263 2007-02-15  Atsushi Enomoto  <atsushi@ximian.com>
264
265         * WrappedKeySecurityToken.cs : SecurityKey should hold raw key, not
266           wrapped one.
267
268 2007-02-06  Atsushi Enomoto  <atsushi@ximian.com>
269
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.
275
276 2007-02-05  Atsushi Enomoto  <atsushi@ximian.com>
277
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.
281
282 2007-01-11  Atsushi Enomoto  <atsushi@ximian.com>
283
284         * WrappedKeySecurityToken.cs : added internal ReferenceList, to
285           output e:ReferenceList (kind of compromised solution; see comments).
286
287 2007-01-09  Atsushi Enomoto  <atsushi@ximian.com>
288
289         * WrappedKeySecurityToken.cs : GetWrappedKey() return value should
290           be the encrypted value of argument keyToWrap. Added several argument
291           check.
292
293 2006-12-09  Atsushi Enomoto  <atsushi@ximian.com>
294
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.
300
301 2006-12-06  Atsushi Enomoto  <atsushi@ximian.com>
302
303         * SupportingTokenParameters.cs : implemented SetKeyDerivation().
304
305 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
306
307         * X509SecurityTokenParameters.cs : additional constructors.
308
309 2006-10-03  Atsushi Enomoto  <atsushi@ximian.com>
310
311         * BinarySecretSecurityToken.cs : it does not seem that it uses
312           urn:uuid:blah ("urn:" is extraneous).
313
314 2006-09-27  Atsushi Enomoto  <atsushi@ximian.com>
315
316         * SecurityTokenParameters.cs : added internal properties to access
317           protected properties.
318         * UserNameSecurityTokenParameters.cs : it's done now.
319
320 2006-09-19  Atsushi Enomoto  <atsushi@ximian.com>
321
322         * SecurityTokenParameters.cs : removed MonoTODOs.
323         * X509SecurityTokenParameters.cs :
324           InitializeSecurityTokenRequirement() is done.
325
326 2006-09-17  Atsushi Enomoto  <atsushi@ximian.com>
327
328         * ProviderCommunicationObject.cs, IssuedTokenCommunicationObject.cs,
329           SslSecurityTokenProvider.cs : both of issued token and ssl requires
330           connection requirement, so commonize the check.
331
332 2006-09-15  Atsushi Enomoto  <atsushi@ximian.com>
333
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
341           some members.
342
343 2006-09-15  Atsushi Enomoto  <atsushi@ximian.com>
344
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,
351           not done yet though.
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.
356
357 2006-09-12  Atsushi Enomoto  <atsushi@ximian.com>
358
359         * X509SecurityTokenParameters.cs : when token reference style is 
360           Internal, use LocalIdKeyIdentifierClause. The default for this type
361           should be "Any".
362
363 2006-09-05  Atsushi Enomoto  <atsushi@ximian.com>
364
365         * ServiceModelSecurityTokenRequirement.cs : implemented IsInitiator.
366         * InitiatorServiceModelSecurityTokenRequirement.cs :
367           initialize IsInitiator as true.
368
369 2006-09-05  Atsushi Enomoto  <atsushi@ximian.com>
370
371         * SecurityContextSecurityTokenAuthenticator.cs,
372           SspiSecurityToken.cs : new files.
373         * SupportingTokenParameters.cs : copy ctor became private.
374
375 2006-08-30  Atsushi Enomoto  <atsushi@ximian.com>
376
377         * X509SecurityTokenParameters.cs,
378           UserNameSecurityTokenParameters.cs : implemented properties.
379         * RsaSecurityTokenParameters.cs : new file.
380
381 2006-08-28  Atsushi Enomoto  <atsushi@ximian.com>
382
383         * IssuedSecurityTokenProvider.cs : (GetToken) partly implemented
384           response message consumption.
385
386 2006-08-28  Atsushi Enomoto  <atsushi@ximian.com>
387
388         * X509SecurityTokenParameters.cs :
389           implemented CreateKeyIdentifierClause().
390
391 2006-08-28  Atsushi Enomoto  <atsushi@ximian.com>
392
393         * SupportingTokenParameters.cs : added some missing members.
394
395 2006-08-25  Atsushi Enomoto  <atsushi@ximian.com>
396
397         * BinarySecretSecurityToken.cs : some .ctor() are protected.
398
399 2006-08-25  Atsushi Enomoto  <atsushi@ximian.com>
400
401         * KerberosSecurityTokenParameters.cs : new test.
402
403 2006-08-25  Atsushi Enomoto  <atsushi@ximian.com>
404
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.
410
411 2006-08-24  Atsushi Enomoto  <atsushi@ximian.com>
412
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().
419
420 2006-08-23  Atsushi Enomoto  <atsushi@ximian.com>
421
422         * IssuedSecurityTokenParameters.cs : oops, oops. fix build.
423
424 2006-08-23  Atsushi Enomoto  <atsushi@ximian.com>
425
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().
432
433 2006-08-23  Atsushi Enomoto  <atsushi@ximian.com>
434
435         * SecurityContextSecurityTokenResolver.cs
436           ISecurityContextSecurityTokenCache.cs
437           SecurityContextSecurityToken.cs : new files.
438
439 2006-08-22  Atsushi Enomoto  <atsushi@ximian.com>
440
441         * SecureConversationSecurityTokenParameters.cs :
442           partially implemented InitializeSecurityTokenRequirement().
443         * X509SecurityTokenParameters.cs : added X509ReferenceStyle.
444         * SspiSecurityTokenParameters.cs : new file.
445
446 2006-08-22  Atsushi Enomoto  <atsushi@ximian.com>
447
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.
456
457 2006-08-17  Atsushi Enomoto  <atsushi@ximian.com>
458
459         * ServiceModelSecurityTokenTypes.cs : new file.
460
461 2006-08-16  Atsushi Enomoto  <atsushi@ximian.com>
462
463         * IssuedSecurityTokenProvider.cs :
464           WST request and response types are renamed.
465
466 2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
467
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).
475
476 2006-08-11  Atsushi Enomoto  <atsushi@ximian.com>
477
478         * InitiatorServiceModelSecurityTokenRequirement.cs,
479           RecipientServiceModelSecurityTokenRequirement.cs,
480           ServiceModelSecurityTokenRequirement.cs : new files.
481
482 2006-08-07  Atsushi Enomoto  <atsushi@ximian.com>
483
484         * IssuedSecurityTokenProvider.cs : moved some premise checks from
485           GetTokenCore() to Open().
486
487 2006-08-04  Atsushi Enomoto  <atsushi@ximian.com>
488
489         * WrappedKeySecurityToken.cs : new file.
490
491 2006-08-04  Atsushi Enomoto  <atsushi@ximian.com>
492
493         * BinarySecretSecurityToken.cs : new file.
494
495 2006-08-03  Atsushi Enomoto  <atsushi@ximian.com>
496
497         * UserNameSecurityTokenParameters.cs,
498           X509SecurityTokenParameters.cs : new files.
499
500 2006-08-02  Atsushi Enomoto  <atsushi@ximian.com>
501
502         * IssuedSecurityTokenProvider.cs : (GetTokenCore) some premise check.
503
504 2006-08-01  Atsushi Enomoto  <atsushi@ximian.com>
505
506         * IssuedSecurityTokenProvider.cs : implemented some properties.
507         * RenewedSecurityTokenHandler.cs, IssuedSecurityTokenHandler.cs,
508           IIssuanceSecurityTokenAuthenticator.cs : new files.
509
510 2006-08-01  Atsushi Enomoto  <atsushi@ximian.com>
511
512         * IssuedSecurityTokenProvider.cs, ClaimTypeRequirement.cs : new files.
513         * IssuedSecurityTokenParameters.cs : added some missing members.
514
515 2006-07-21  Atsushi Enomoto  <atsushi@ximian.com>
516
517         * SecurityTokenReferenceStyle.cs : moved from S.SM.Security namespace.
518
519 2006-07-21  Atsushi Enomoto  <atsushi@ximian.com>
520
521         * IssuedSecurityTokenParameters.cs, SecurityTokenParameters.cs :
522           new files.
523
524 2006-07-10  Atsushi Enomoto  <atsushi@ximian.com>
525
526         * SupportingTokenParameters.cs : new file.