1 // 2 // RsaSecurityToken.cs 3 // 4 // Author: 5 // Atsushi Enomoto <atsushi@ximian.com> 6 // 7 // Copyright (C) 2006 Novell, Inc. http://www.novell.com 8 // 9 // Permission is hereby granted, free of charge, to any person obtaining 10 // a copy of this software and associated documentation files (the 11 // "Software"), to deal in the Software without restriction, including 12 // without limitation the rights to use, copy, modify, merge, publish, 13 // distribute, sublicense, and/or sell copies of the Software, and to 14 // permit persons to whom the Software is furnished to do so, subject to 15 // the following conditions: 16 // 17 // The above copyright notice and this permission notice shall be 18 // included in all copies or substantial portions of the Software. 19 // 20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 27 // 28 using System; 29 using System.Collections.ObjectModel; 30 using System.Xml; 31 using System.IdentityModel.Policy; 32 using System.Security.Cryptography; 33 34 namespace System.IdentityModel.Tokens 35 { 36 public class RsaSecurityToken : SecurityToken 37 { RsaSecurityToken(RSA rsa)38 public RsaSecurityToken (RSA rsa) 39 : this (rsa, new UniqueId ().ToString ()) 40 { 41 } 42 RsaSecurityToken(RSA rsa, string id)43 public RsaSecurityToken (RSA rsa, string id) 44 { 45 if (rsa == null) 46 throw new ArgumentNullException ("rsa"); 47 this.rsa = rsa; 48 this.id = id; 49 } 50 51 RSA rsa; 52 string id; 53 DateTime valid_from = DateTime.Now.ToUniversalTime (); 54 55 public override DateTime ValidFrom { 56 get { return valid_from; } 57 } 58 59 public override DateTime ValidTo { 60 get { return DateTime.MaxValue.AddDays (-1); } 61 } 62 63 public override string Id { 64 get { return id; } 65 } 66 67 public RSA Rsa { 68 get { return rsa; } 69 } 70 71 [MonoTODO] 72 public override ReadOnlyCollection<SecurityKey> SecurityKeys { 73 get { throw new NotImplementedException (); } 74 } 75 76 [MonoTODO] CanCreateKeyIdentifierClause()77 public override bool CanCreateKeyIdentifierClause<T> () 78 { 79 throw new NotImplementedException (); 80 } 81 82 [MonoTODO] CreateKeyIdentifierClause()83 public override T CreateKeyIdentifierClause<T> () 84 { 85 throw new NotImplementedException (); 86 } 87 88 [MonoTODO] MatchesKeyIdentifierClause( SecurityKeyIdentifierClause keyIdentifierClause)89 public override bool MatchesKeyIdentifierClause ( 90 SecurityKeyIdentifierClause keyIdentifierClause) 91 { 92 throw new NotImplementedException (); 93 } 94 } 95 } 96