|
|
|
||||||
|
Would you plan to implement IceSSL in C#?
I found there is a C# SSL library, would you plan to implement IceSSL for C#?
http://www.mentalis.org/soft/projects/ssocket/
__________________
Zhang Zhi Qiang Macrohard Inc. Testing IceE on my embedded system based on S3C2410 CPU |
|
||||||
|
At present, there is no demand from any of our commercial customer for IceSSL for C#. If you have a commercial need for IceSSL for C#, please contact us at info@zeroc.com.
|
|
|||||
|
.NET 2.0 has SslStream
Quote:
which includes SSL functionality. It is the version that comes with Visual Studio 2005 Beta 2. Seems to work for me, but no serious testing done so far. If you like (and have VS 2005 Beta2), I can e-mail it to you. It also requires a few changes to Ice itself to compile under .NET 2.0 and to fix a bug with plugin loading. Karl |
|
||||||
|
Karl,
Do you mean .net 2.0 comes with SSL implemenation? I have no VS.net 2005, but I can't find there is the .net 2.0 SDK download from MS website, can I compile your code by SDK only, if yes, please sent me your code. Thank you very much! email: zhangzq71@hotmail.com Regards, ZhangZQ
__________________
Zhang Zhi Qiang Macrohard Inc. Testing IceE on my embedded system based on S3C2410 CPU |
|
|||||
|
Quote:
sockets, but this did not seem to be a problem with the little testing I did. I am not sure if you can get the *Beta 2* version of .NET 2.0 SDK without VS 2005, but you can try. One should be able to compile with it. Give me a little time to prepare the fixes you need to do to Ice itself to compile under .NET 2.0 and to accept plugins. Karl |
|
||||||
|
Karl,
I found the .net framework 2.0 SDK can be downloaded from MSDN. After your IceSSL C# is ok, please send me a copy, thank you very much! Regards, ZhangZQ
__________________
Zhang Zhi Qiang Macrohard Inc. Testing IceE on my embedded system based on S3C2410 CPU |
|
|||||
|
Quote:
Karl |
|
||||||
|
Karl,
Thanks, but I didn't get your code? Is it very large? Regards, ZhangZQ
__________________
Zhang Zhi Qiang Macrohard Inc. Testing IceE on my embedded system based on S3C2410 CPU |
|
|||||
|
Quote:
is about 5MB. Is that too large for you? If yes, I can either ftp it if you like, or remove all binaries and re-send a smaller file, in which case you would have to configure everything for building, but that is not so bad, as with .NET 2.0 one can use msbuild.exe to build VS project files without having VS installed. Just tell me what you prefer, Karl |
|
||||||
|
Karl,
I got your IceCS for .net 2.0. Thank you very much for your great effort! I tried the Hello program follows your instruction in IceSSL.txt file, but there is something error, E:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin>makecert -r -pe -n "CN=IAA" -ss root -sr LocalMachine Succeeded E:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin>makecert -pe -n "CN=Demo Soft" -ss my -sr LocalMachine -eku 1.3.6.1.5.5.7.3.1 -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider"-sy 12 -in "IAA" -is root -ir localMachine Error: There are more than one matching certificate in the issuer's root cert store Failed If I run the program ignoring the above errors, got server.exe Ice.PluginInitializationException: IceSSL: Plugin initialization failed. at Ice.PluginManagerI.loadPlugin(String name, String className, String[] args) at Ice.PluginManagerI.loadPlugins(String[]& cmdArgs) at IceInternal.Instance.finishSetup(String[]& args) at Ice.CommunicatorI.finishSetup(String[]& args) at Ice.Util.initializeWithProperties(String[]& args, Properties properties) at Server.Main(String[] args) so I have not successfully tested the SSL part of your Ice for CS. Regards, ZhangZQ
__________________
Zhang Zhi Qiang Macrohard Inc. Testing IceE on my embedded system based on S3C2410 CPU |
|
|||||
|
Quote:
You should run mmc.exe, install the Certificates snap-in and have a look at your certificate stores. Maybe you tried to install the same certificate multiple times? Quote:
To make it easier for you, remove the server certificate serial number from config.xml. If there are no serial numbers or "subject names" specified, then the IceSSL plugin will select the first certificate it finds in the certificate store identified by the CertificateStoreLocation and CertificateStoreName elements. So, all you have to make sure of then is that there is at least one certificate in the client store and server store. Karl |
|
||||||
|
Quote:
How about to implement the IceSSLcs independ to OS service? Regards, ZhangZQ
__________________
Zhang Zhi Qiang Macrohard Inc. Testing IceE on my embedded system based on S3C2410 CPU |
|
|||||
|
Quote:
I suggest you use MMC (Microsoft Management Console) with the Certificate snap-in to delete the second CA certificate. This should be quite easy to do on Windows XP. Don't know about Windows 2000/NT. Quote:
However, I will think about how to add a feature to load a file-based certificate. Karl |
|
||||||
|
Quote:
Quote:
For your previous email, How to generate the CertificateSerialNumber ? Regards, ZhangZQ
__________________
Zhang Zhi Qiang Macrohard Inc. Testing IceE on my embedded system based on S3C2410 CPU |
|
|||||
|
Quote:
go to the File menu and select Add/Remove snap-in. Then when a dialog opens, click on the Add button. Quote:
Btw, I remember I already implemented a way to delay configuration to later and load a certificate file. Here are the steps for the HelloS (server) project: 1) Add the System.Security assembly to the project references. 2) In file Server.cs, add these to lines to the top: Code:
using System.Security.Authentication; using System.Security.Cryptography.X509Certificates; (the code between the // lines) Code:
try
{
Ice.Properties properties = Ice.Util.createProperties();
properties.load("config");
communicator = Ice.Util.initializeWithProperties(ref args, properties);
//
string certFile = @"...\...\DemoSoft.pfx";
X509Certificate2 cert = new X509Certificate2(certFile, "password");
Ice.Ssl.ServerContext srvContext =
new Ice.Ssl.ServerContext(SslProtocols.Tls, false, false, false, cert);
Ice.Ssl.PluginI plugin =
(Ice.Ssl.PluginI)communicator.getPluginManager().getPlugin("IceSslStream");
plugin.ServerContext = srvContext;
//
status = run(args, communicator);
}
You can fix this by replacing the code for getPluginManager() in the CommunicatorI.cs file in Ice like this: Code:
public PluginManager getPluginManager()
{
return _instance.pluginManager();
}
Hope that helps, Karl |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
Linear Mode | |