LINUX.ORG.RU

wine и вебсокеты

 , ,


0

2

Запускаю хитрое приложение, которое поднимает ssl вебсокет на порту 8484. При попытке подключиться

curl https://127.0.0.1:8484

Вылетает ошибка:

19.03.2017 0:18:55 [Warn] Failed to Authenticate System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: Unknown error (0x80090302)
   --- End of inner exception stack trace ---
   at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result)
   at System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult)
   at Fleck.SocketFactory.<>c__DisplayClass11`1.<>c__DisplayClass13.<HandleAsyncVoid>b__10()
   at Fleck.SocketFactory.<>c__DisplayClass16.<DoAsyncTask>b__15(Object param0)

Если в настройках wine указать библиотеку secur32 как стороннюю, то вылетает такая ошибка:

19.03.2017 0:23:17 [Warn] Failed to Authenticate System.EntryPointNotFoundException: Unable to find an entry point named 'EnumerateSecurityPackagesW' in DLL 'security.dll'.
   at System.Net.UnsafeNclNativeMethods.SafeNetHandles_SECURITY.EnumerateSecurityPackagesW(Int32& pkgnum, SafeFreeContextBuffer_SECURITY& handle)
   at System.Net.SafeFreeContextBuffer.EnumeratePackages(SecurDll Dll, Int32& pkgnum, SafeFreeContextBuffer& pkgArray)
   at System.Net.SSPISecureChannelType.EnumerateSecurityPackages(Int32& pkgnum, SafeFreeContextBuffer& pkgArray)
   at System.Net.SSPIWrapper.EnumerateSecurityPackages(SSPIInterface SecModule)
   at System.Net.SSPIWrapper.GetVerifyPackageInfo(SSPIInterface secModule, String packageName, Boolean throwIfMissing)
   at System.Net.Security.SecureChannel..ctor(String hostname, Boolean serverMode, SchProtocols protocolFlags, X509Certificate serverCertificate, X509CertificateCollection clientCertificates, Boolean remoteCertRequired, Boolean checkCertName, Boolean checkCertRevocationStatus, LocalCertSelectionCallback certSelectionDelegate)
   at System.Net.Security.SslState.ValidateCreateContext(Boolean isServer, String targetHost, SslProtocols enabledSslProtocols, X509Certificate serverCertificate, X509CertificateCollection clientCertificates, Boolean remoteCertRequired, Boolean checkCertRevocationStatus, Boolean checkCertName)
   at System.Net.Security.SslState.ValidateCreateContext(Boolean isServer, String targetHost, SslProtocols enabledSslProtocols, X509Certificate serverCertificate, X509CertificateCollection clientCertificates, Boolean remoteCertRequired, Boolean checkCertRevocationStatus)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(X509Certificate serverCertificate, Boolean clientCertificateRequired, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation, AsyncCallback asyncCallback, Object asyncState)
   at Fleck.SocketWrapper.<>c__DisplayClass2.<Authenticate>b__0(AsyncCallback cb, Object s)
   at Fleck.SocketFactory.<>c__DisplayClass11`1.<HandleAsyncVoid>b__e()
   at Fleck.SocketFactory.<>c__DisplayClass16.<DoAsyncTask>b__15(Object param0)

Как можно побороть?

★★
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.