В чем разница между приложением win form и приложением библиотеки классов при использовании соединения SSL - PullRequest
1 голос
/ 15 февраля 2012

У меня есть приложение библиотеки классов, в котором я пытаюсь использовать SSL-соединение. но когда я попытался получить Аутентификацию как клиент на сервер, я получил следующее сообщение об ошибке:

 ssl.AuthenticateAsClient("TargetHost");

"Невозможно найти точку входа с именем« EnumerateSecurityPackagesW »в DLL« security.dll »."

Я сделал этот сценарий в приложении Windows, и он отлично работает. Есть ли какие-либо телесные переживания по этому поводу?

            SslStream ssl = null;
            TcpClient client = new TcpClient();
            client.Connect("127.0.0.1", 9988);

            NetworkStream _NetworkStream = client.GetStream();

            IPAddress ipAdd = IPAddress.Parse("127.0.0.1");
            IPEndPoint remoteEP = new IPEndPoint(ipAdd, 9988);

            ssl = new SslStream(_NetworkStream,
                  false,new  RemoteCertificateValidationCallback(CertificateValidationCallback));

                ssl.AuthenticateAsClient("TargetHost");

1 Ответ

2 голосов
/ 15 февраля 2012

Не могли бы вы проверить, доступен ли файл библиотеки security.dll приложению с помощью вашей библиотеки классов?

Кажется, вашему первому приложению требуется эта нативная библиотека. Проверьте, включен ли он в исполняемый файл приложения.

Второе приложение ссылается на вашу пользовательскую библиотеку классов, которая, очевидно, не может загрузить нативную dll security.dll

"Unable to find an entry point named 'EnumerateSecurityPackagesW' in DLL 'security.dll'."

Вы должны сравнить каталог, содержащий два приложения, и, возможно, включить во второе приложение отсутствующую dll.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...