Author: atsushi
Date: 2007-02-28 07:51:13 -0500 (Wed, 28 Feb 2007)
New Revision: 73538
Added:
trunk/olive/samples/services/secure-message/samplecli10.cs
trunk/olive/samples/services/secure-message/samplesvc10.cs
Modified:
trunk/olive/samples/services/secure-message/ChangeLog
trunk/olive/samples/services/secure-message/Makefile
Log:
2007-02-28 Atsushi Enomoto <[EMAIL PROTECTED]>
* samplesvc10.cs, samplecli10.cs :
new test, for SslSecurityTokenParameters.
* Makefile : added above.
Modified: trunk/olive/samples/services/secure-message/ChangeLog
===================================================================
--- trunk/olive/samples/services/secure-message/ChangeLog 2007-02-28
12:50:50 UTC (rev 73537)
+++ trunk/olive/samples/services/secure-message/ChangeLog 2007-02-28
12:51:13 UTC (rev 73538)
@@ -1,3 +1,9 @@
+2007-02-28 Atsushi Enomoto <[EMAIL PROTECTED]>
+
+ * samplesvc10.cs, samplecli10.cs :
+ new test, for SslSecurityTokenParameters.
+ * Makefile : added above.
+
2007-02-27 Atsushi Enomoto <[EMAIL PROTECTED]>
* samplesvc6.cs : fix some security property check.
Modified: trunk/olive/samples/services/secure-message/Makefile
===================================================================
--- trunk/olive/samples/services/secure-message/Makefile 2007-02-28
12:50:50 UTC (rev 73537)
+++ trunk/olive/samples/services/secure-message/Makefile 2007-02-28
12:51:13 UTC (rev 73538)
@@ -7,8 +7,15 @@
samplesvc6.exe samplecli6.exe \
samplesvc7.exe samplecli7.exe \
samplesvc8.exe samplecli8.exe \
- samplesvc9.exe samplecli9.exe
+ samplesvc9.exe samplecli9.exe \
+ samplesvc10.exe samplecli10.exe
+samplesvc10.exe : samplesvc10.cs
+ gmcs -pkg:olive samplesvc10.cs
+
+samplecli10.exe : samplecli10.cs
+ gmcs -pkg:olive samplecli10.cs
+
samplesvc9.exe : samplesvc9.cs
gmcs -pkg:olive samplesvc9.cs Inspector.cs
@@ -73,4 +80,5 @@
rm -f samplesvc7.exe samplesvc7.exe.mdb samplecli7.exe
samplecli7.exe.mdb
rm -f samplesvc8.exe samplesvc8.exe.mdb samplecli8.exe
samplecli8.exe.mdb
rm -f samplesvc9.exe samplesvc9.exe.mdb samplecli9.exe
samplecli9.exe.mdb
+ rm -f samplesvc10.exe samplesvc10.exe.mdb samplecli10.exe
samplecli10.exe.mdb
Added: trunk/olive/samples/services/secure-message/samplecli10.cs
===================================================================
--- trunk/olive/samples/services/secure-message/samplecli10.cs 2007-02-28
12:50:50 UTC (rev 73537)
+++ trunk/olive/samples/services/secure-message/samplecli10.cs 2007-02-28
12:51:13 UTC (rev 73538)
@@ -0,0 +1,86 @@
+using System;
+using System.IO;
+using System.Net;
+using System.Net.Security;
+using System.Xml;
+using System.Security.Cryptography;
+using System.Security.Cryptography.X509Certificates;
+using System.IdentityModel.Selectors;
+using System.IdentityModel.Tokens;
+using System.ServiceModel;
+using System.ServiceModel.Channels;
+using System.ServiceModel.Security;
+using System.ServiceModel.Security.Tokens;
+
+public class Tset
+{
+ public static void Main ()
+ {
+ try {
+ Run ();
+ } catch (MessageSecurityException ex) {
+ Console.WriteLine ("MessageSecurityException::::::");
+ FaultException f = ex.InnerException as FaultException;
+ if (f != null)
+ using (XmlWriter w = XmlWriter.Create
(Console.Out)) {
+ f.CreateMessageFault ().WriteTo (w,
EnvelopeVersion.Soap12);
+ }
+ else
+ Console.WriteLine (ex);
+ } catch (WebException ex) {
+ Console.WriteLine (ex);
+ using (StreamReader sr = new StreamReader
(ex.Response.GetResponseStream ()))
+ Console.WriteLine (sr.ReadToEnd ());
+ }
+ }
+
+ static void Run ()
+ {
+ SymmetricSecurityBindingElement sbe =
+ new SymmetricSecurityBindingElement ();
+ /*
+ X509SecurityTokenParameters p =
+ new X509SecurityTokenParameters
();//X509KeyIdentifierClauseType.Thumbprint,
SecurityTokenInclusionMode.AlwaysToRecipient);
+ p.RequireDerivedKeys = false;
+ sbe.EndpointSupportingTokenParameters.Endorsing.Add (p);
+ */
+ sbe.ProtectionTokenParameters =
+ new SslSecurityTokenParameters ();
+ HttpTransportBindingElement hbe =
+ new HttpTransportBindingElement ();
+ CustomBinding binding = new CustomBinding (sbe, hbe);
+ X509Certificate2 cert = new X509Certificate2 ("test.pfx",
"mono");
+ X509Certificate2 cert2 = cert;
+ FooProxy proxy = new FooProxy (binding,
+ new EndpointAddress (new Uri ("http://localhost:8080"),
new X509CertificateEndpointIdentity (cert2)));
+ proxy.ClientCredentials.ClientCertificate.Certificate = cert;
+ proxy.ClientCredentials.ServiceCertificate.Authentication
+ .CertificateValidationMode =
+ X509CertificateValidationMode.None;
+// proxy.Endpoint.Behaviors.Add (new StdErrInspectionBehavior ());
+ proxy.Open ();
+ Console.WriteLine (proxy.Echo ("TEST FOR ECHO"));
+ }
+}
+
+//[ServiceContract (ProtectionLevel = ProtectionLevel.None)]// (SessionMode =
SessionMode.NotAllowed)]
+[ServiceContract]
+public interface IFoo
+{
+ [OperationContract]
+ string Echo (string msg);
+}
+
+public class FooProxy : ClientBase<IFoo>, IFoo
+{
+ public FooProxy (Binding binding, EndpointAddress address)
+ : base (binding, address)
+ {
+ }
+
+ public string Echo (string msg)
+ {
+ return Channel.Echo (msg);
+ }
+}
+
Added: trunk/olive/samples/services/secure-message/samplesvc10.cs
===================================================================
--- trunk/olive/samples/services/secure-message/samplesvc10.cs 2007-02-28
12:50:50 UTC (rev 73537)
+++ trunk/olive/samples/services/secure-message/samplesvc10.cs 2007-02-28
12:51:13 UTC (rev 73538)
@@ -0,0 +1,73 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Security.Cryptography.X509Certificates;
+using System.IdentityModel.Selectors;
+using System.IdentityModel.Tokens;
+using System.ServiceModel;
+using System.ServiceModel.Channels;
+using System.ServiceModel.Description;
+using System.ServiceModel.Dispatcher;
+using System.ServiceModel.Security;
+using System.ServiceModel.Security.Tokens;
+
+public class Test
+{
+ public static void Main ()
+ {
+ SymmetricSecurityBindingElement sbe =
+ new SymmetricSecurityBindingElement ();
+ sbe.ProtectionTokenParameters =
+ new SslSecurityTokenParameters ();
+ /*
+ X509SecurityTokenParameters p =
+ new X509SecurityTokenParameters
();//X509KeyIdentifierClauseType.Thumbprint,
SecurityTokenInclusionMode.AlwaysToRecipient);
+ p.RequireDerivedKeys = false;
+ sbe.EndpointSupportingTokenParameters.Endorsing.Add (p);
+ */
+ ServiceHost host = new ServiceHost (typeof (Foo));
+ HttpTransportBindingElement hbe =
+ new HttpTransportBindingElement ();
+ CustomBinding binding = new CustomBinding (sbe, hbe);
+ binding.ReceiveTimeout = TimeSpan.FromSeconds (5);
+ host.AddServiceEndpoint ("IFoo",
+ binding, new Uri ("http://localhost:8080"));
+ ServiceCredentials cred = new ServiceCredentials ();
+ cred.ServiceCertificate.Certificate =
+ new X509Certificate2 ("test.pfx", "mono");
+ cred.ClientCertificate.Authentication.CertificateValidationMode
=
+ X509CertificateValidationMode.None;
+ host.Description.Behaviors.Add (cred);
+ host.Description.Behaviors.Find<ServiceDebugBehavior> ()
+ .IncludeExceptionDetailInFaults = true;
+// foreach (ServiceEndpoint se in host.Description.Endpoints)
+// se.Behaviors.Add (new StdErrInspectionBehavior ());
+ ServiceMetadataBehavior smb = new ServiceMetadataBehavior ();
+ smb.HttpGetEnabled = true;
+ smb.HttpGetUrl = new Uri ("http://localhost:8080/wsdl");
+ host.Description.Behaviors.Add (smb);
+ host.Open ();
+ Console.WriteLine ("Hit [CR] key to close ...");
+ Console.ReadLine ();
+ host.Close ();
+ }
+}
+
+[ServiceContract]// (SessionMode = SessionMode.NotAllowed)]
+public interface IFoo
+{
+ [OperationContract]
+ string Echo (string msg);
+}
+
+[ServiceBehavior (IncludeExceptionDetailInFaults = true)]
+class Foo : IFoo
+{
+ public string Echo (string msg)
+ {
+Console.WriteLine (msg);
+ return msg + msg;
+ //throw new NotImplementedException ();
+ }
+}
+
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches