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