Добрый день!
Я разработчик-самоучка, стремящийся расширить свои знания и улучшить свои навыки. В настоящее время я работаю над созданием безопасного соединения WebSocket (WSS) в консольном приложении C# с использованием библиотеки WebSocketSharp. Несмотря на мои усилия, я столкнулся с несколькими проблемами и был бы признателен за рекомендации.
Цель: установить безопасное соединение WebSocket (WSS) между сервером и клиентом с помощью библиотеки WebSocketSharp в консоли C#. приложение.
Текущее состояние:
Соединение WebSocket (ws) работает через Интернет с использованием доменного имени.
Текущее состояние:
Соединение WebSocket (ws) работает через Интернет с использованием доменного имени.
Текущее состояние:
Подключение WebSocket (ws) работает через Интернет с использованием доменного имени.
li>
Проблема с соединением WSS: сервер запускается без ошибки «HMAC не поддерживается», но клиент немедленно запускает ws.OnClose, даже не запуская ws.OnOpen.
< /ul>
Проблемы:
В реализации Unity я столкнулся с ошибкой «HMAC не поддерживается», которую я попытался устранить. решить проблему с помощью Bouncy Castle, но безуспешно.
В консольном приложении Visual Studio C# соединение WSS запускается и сразу закрывается без установления успешного соединения.
Я использовал переадресацию портов на домашнем маршрутизаторе на свой ноутбук для обслуживания веб-сайта, WebSocket, и сервер сертификатов SSL.
Я знаю, что сертификат работает, потому что я использовал файлы fullchain.pem и privkey.pem в файле Python для запуска простого веб-сайта, который я мог успешно открыть с помощью HTTPS. .
Чтобы создать файл .pfx, я сначала объединил файлы fullchain.pem и privkey.pem в один файл.pem.
Вопросы:
Что может быть причиной немедленного закрытия соединения WSS в консольном приложении C#?
Как устранить ошибку «HMAC не поддерживается» в Unity для установки безопасного соединения WebSocket?
Есть ли какие-либо дополнительные конфигурации или шаги, которые я мог пропустить при настройке установить библиотеку WebSocketSharp для безопасных соединений?
Добрый день! Я разработчик-самоучка, стремящийся расширить свои знания и улучшить свои навыки. В настоящее время я работаю над созданием безопасного соединения WebSocket (WSS) в консольном приложении C# с использованием библиотеки WebSocketSharp. Несмотря на мои усилия, я столкнулся с несколькими проблемами и был бы признателен за рекомендации. Цель: установить безопасное соединение WebSocket (WSS) между сервером и клиентом с помощью библиотеки WebSocketSharp в консоли C#. приложение. Текущее состояние: [list] [*]Соединение WebSocket (ws) работает через Интернет с использованием доменного имени. Текущее состояние:
Соединение WebSocket (ws) работает через Интернет с использованием доменного имени. Текущее состояние:
Подключение WebSocket (ws) работает через Интернет с использованием доменного имени. li> Проблема с соединением WSS: сервер запускается без ошибки «HMAC не поддерживается», но клиент немедленно запускает ws.OnClose, даже не запуская ws.OnOpen. < /ul> Проблемы: [list] [*]В реализации Unity я столкнулся с ошибкой «HMAC не поддерживается», которую я попытался устранить. решить проблему с помощью Bouncy Castle, но безуспешно. [*]В консольном приложении Visual Studio C# соединение WSS запускается и сразу закрывается без установления успешного соединения.
Среда:
[*]Консольное приложение C# в Visual Studio 2022. [*]Игровой движок Unity. [*]Библиотека WebSocketSharp: websocket-sharp-core(https://github.com/ImoutoChan/websocket-sharp-core) [*]ОС Windows< /li> Переадресация портов маршрутизатора для настройки сервера. [*]DuckDNS для доменного имени. [*]SSL-сертификат от Let's Encrypt. > [/list] Код клиента: [code]using System;a using WebSocketSharp;
namespace ClientLast { class Program { static void Main(string[] args) { try { using (var ws = new WebSocket("ws://localhost:50001/Echo")) //using (var ws = new WebSocket("wss://abyza.duckdns.org:50001/Echo")) { ws.OnMessage += (sender, e) => Console.WriteLine("Received from server: " + e.Data);
[/code] Код сервера: [code]using System; using System.Security.Cryptography.X509Certificates; using WebSocketSharp; using WebSocketSharp.Server;
namespace serverLast {
class Program { static void Main(string[] args) { try { var wssv = new WebSocketServer(System.Net.IPAddress.Any, 50001); //var wssv = new WebSocketServer(System.Net.IPAddress.Any, 50001,true);
// Load the PFX certificate var cert = new X509Certificate2("D:\\3_apps\\5_vscode_projects\\website server\\sslcert - Copy//certificate.pfx", "pass"); wssv.SslConfiguration.ServerCertificate = cert;
wssv.AddWebSocketService("/Echo"); wssv.Start();
Console.WriteLine("WebSocket server started on wss://localhost:443"); } catch (Exception ex) { Console.WriteLine($"Error starting server: {ex.Message}"); }
Console.ReadKey(); }
public class Echo : WebSocketBehavior { protected override void OnMessage(MessageEventArgs e) { Console.WriteLine($"Received message: {e.Data}"); Send(e.Data); } } }
} [/code] SSL-сертификат: [list] [*]Получен с помощью DuckDNS и Certbot Let's Encrypt [*] Файлы сертификатов: cert.pem, Chain.pem, Fullchain.pem, privkey.pem [*]Преобразованы в .pfx с помощью: [/list] [code]openssl pkcs12 -export -out certificate.pfx -in combined.pem [/code] Другие условия: [list] [*]Я использовал переадресацию портов на домашнем маршрутизаторе на свой ноутбук для обслуживания веб-сайта, WebSocket, и сервер сертификатов SSL. [*]Я знаю, что сертификат работает, потому что я использовал файлы fullchain.pem и privkey.pem в файле Python для запуска простого веб-сайта, который я мог успешно открыть с помощью HTTPS. . [*]Чтобы создать файл .pfx, я сначала объединил файлы fullchain.pem и privkey.pem в один файл.pem. [/list] Вопросы:
[*]Что может быть причиной немедленного закрытия соединения WSS в консольном приложении C#? [*]Как устранить ошибку «HMAC не поддерживается» в Unity для установки безопасного соединения WebSocket? [*]Есть ли какие-либо дополнительные конфигурации или шаги, которые я мог пропустить при настройке установить библиотеку WebSocketSharp для безопасных соединений? [/list] Спасибо за помощь!
Добрый день!
Я разработчик-самоучка, стремящийся расширить свои знания и улучшить свои навыки. В настоящее время я работаю над созданием безопасного соединения WebSocket (WSS) в консольном приложении C# с использованием библиотеки WebSocketSharp....
Добрый день!
Я разработчик-самоучка, стремящийся расширить свои знания и улучшить свои навыки. В настоящее время я работаю над созданием безопасного соединения WebSocket (WSS) в консольном приложении C# с использованием библиотеки WebSocketSharp....
Я столкнулся с неприятной проблемой с безопасными WebSockets в моем проекте. У меня есть серверная часть .NET 8.0, на которой размещено веб-приложение Vue 3 на локальном хосте: 443 с использованием самозаверяющего сертификата разработки....
Я пытаюсь настроить свой WebScocket для работы над безопасным соединением WSS, потому что мой сайт HTTP Код ниже в файле .bat, который я запускаю для настройки Daphne
@echo off
У меня есть сайт на Wordpress, на главной странице новости обновляются через сокеты. Иногда появляется следующая ошибка: autobahn.min.js:181 Не удалось подключиться через WebSocket к «wss://site.com/socket/»: (анонимно) @ autobahn.min.js:181...