Author: atsushi
Date: 2007-02-20 11:41:56 -0500 (Tue, 20 Feb 2007)
New Revision: 73191

Modified:
   trunk/olive/class/System.ServiceModel/System.ServiceModel.Security/ChangeLog
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Security/WSSecurityTokenSerializer.cs
Log:
2007-02-20  Atsushi Enomoto  <[EMAIL PROTECTED]>

        * WSSecurityTokenSerializer.cs : handle X509 issue serial key
          identifier clauses.



Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Security/ChangeLog
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Security/ChangeLog    
    2007-02-20 16:36:28 UTC (rev 73190)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Security/ChangeLog    
    2007-02-20 16:41:56 UTC (rev 73191)
@@ -1,3 +1,8 @@
+2007-02-20  Atsushi Enomoto  <[EMAIL PROTECTED]>
+
+       * WSSecurityTokenSerializer.cs : handle X509 issue serial key
+         identifier clauses.
+
 2007-02-16  Atsushi Enomoto  <[EMAIL PROTECTED]>
 
        * WSSecurityTokenSerializer.cs : set cipher value as wrapped key

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Security/WSSecurityTokenSerializer.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Security/WSSecurityTokenSerializer.cs
     2007-02-20 16:36:28 UTC (rev 73190)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Security/WSSecurityTokenSerializer.cs
     2007-02-20 16:41:56 UTC (rev 73191)
@@ -266,6 +266,16 @@
                {
                        reader.ReadStartElement ();
                        reader.MoveToContent ();
+                       if (reader.NamespaceURI == 
SignedXml.XmlDsigNamespaceUrl) {
+                               KeyInfoX509Data x509 = new KeyInfoX509Data ();
+                               x509.LoadXml (new XmlDocument ().ReadNode 
(reader) as XmlElement);
+                               if (x509.IssuerSerials.Count == 0)
+                                       throw new XmlException 
("'X509IssuerSerial' element is expected inside 'X509Data' element");
+                               X509IssuerSerial s = (X509IssuerSerial) 
x509.IssuerSerials [0];
+                               reader.MoveToContent ();
+                               reader.ReadEndElement ();
+                               return new X509IssuerSerialKeyIdentifierClause 
(s.IssuerName, s.SerialNumber);
+                       }
                        if (reader.NamespaceURI != Constants.WssNamespace)
                                throw new XmlException (String.Format 
("Unexpected SecurityTokenReference content: expected local name 'Reference' 
and namespace URI '{0}' but found local name '{1}' and namespace '{2}'.", 
Constants.WssNamespace, reader.LocalName, reader.NamespaceURI));
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to