Различия между клиентами веб -сервиса, написанные в .net2.0 и .net4.0C#

Место общения программистов C#
Ответить
Anonymous
 Различия между клиентами веб -сервиса, написанные в .net2.0 и .net4.0

Сообщение Anonymous »

У меня есть проблема с употреблением веб -сервиса Java по сравнению с SSL.
У меня есть два подхода, один с .net4.0 и один с .net2.0.
, к сожалению, подход .net4.0 не сработал. Однако более ранняя версия (2.0) работает правильно: < /p>

class Program
{
static void Main(string[] args)
{
try
{
Srv.Service client = new Srv.Service ();
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
string findValue = "IssuerName";
X509Certificate2Collection certsCollection = store.Certificates.Find(X509FindType.FindByIssuerName, findValue, false);

X509Certificate2 cert;
if (certsCollection.Count > 0)
{
cert = certsCollection[0];
client.ClientCertificates.Add(cert); // Only in .net 2.0
}

client.MethodA();

}
catch (Exception e)
{
string msg = e.Message;
}
}
}
< /code>

После этого я сделал что -то подобное в .net4.0 client ( throws 'не мог установить безопасный канал для SSL /TLS с Authority {server_name}' Exception) < /strong>: < /p>

class Program
{
static void Main(string[] args)
{
try
{
Srv.ServiceClient srv = new Srv.ServiceClient();
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
string findValue = "IssuerName";
X509Certificate2Collection certsCollection = store.Certificates.Find(X509FindType.FindByIssuerName, findValue, false);

X509Certificate2 cert;
if (certsCollection.Count > 0)
{
cert = certsCollection[0];
srv.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2();
srv.ClientCredentials.ClientCertificate.Certificate = cert;
}

client.MethodA();
}
catch (Exception e)
{
string msg = e.Message;
}
}
}
< /code>

Почему почти тот же код работает в 2.0, и выбросит исключение в 4.0?
или, может быть, я делаю это неправильно во втором примере? выполнено в Framework 2.0? Я потребляю веб -сервис, который размещается на JBoss. < /P>

во втором примере я получаю следующее исключение: < /p>


Не удалось установить защитный канал для SSL /TL с авторитетом {server_name} < /p>
< /blockquote.>

Подробнее здесь: https://stackoverflow.com/questions/859 ... and-net4-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»