Files
LNXSDK/leenkx/Sources/leenkx/network/WebSocketSecureServer.hx
2025-01-22 16:18:30 +01:00

40 lines
823 B
Haxe

package leenkx.network;
import haxe.Constraints;
import sys.ssl.Key;
import sys.ssl.Certificate;
@:generic
class WebSocketSecureServer
#if (haxe_ver < 4)
<T:(Constructible<SocketImpl->Void>, Handler)>
#else
<T:Constructible<SocketImpl->Void> & Handler>
#end
extends WebSocketServer<T> {
private var _cert:Certificate;
private var _key:Key;
private var _caChain:Certificate;
public function new(host:String, port:Int, cert:Certificate, key:Key, caChain:Certificate, maxConnections:Int = 1) {
super(host, port, maxConnections);
_cert=cert;
_key=key;
_caChain=caChain;
}
override private function createSocket() {
var socket = new SecureSocketImpl();
socket.setHostname(_host);
socket.setCA(_caChain);
socket.setCertificate(_cert, _key);
socket.verifyCert = false;
return socket;
}
}