Add some constructors for C# 3.0
Rename ClientCertAuthConfiguration to ClientSslAuthConfiguration Rename ServerCertAuthConfiguration to ServerSslAuthConfiguration Add the licence comment to new files
This commit is contained in:
parent
cc0ab61eb9
commit
4e7bca4f38
@ -554,7 +554,7 @@ namespace WebSocketSharp
|
|||||||
this TcpClient tcpClient,
|
this TcpClient tcpClient,
|
||||||
string protocol,
|
string protocol,
|
||||||
bool secure,
|
bool secure,
|
||||||
ServerCertAuthConfiguration certificateConfig,
|
ServerSslAuthConfiguration certificateConfig,
|
||||||
Logger logger)
|
Logger logger)
|
||||||
{
|
{
|
||||||
return new TcpListenerWebSocketContext (tcpClient, protocol, secure, certificateConfig, logger);
|
return new TcpListenerWebSocketContext (tcpClient, protocol, secure, certificateConfig, logger);
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
using System.Security.Authentication;
|
|
||||||
using System.Security.Cryptography.X509Certificates;
|
|
||||||
|
|
||||||
namespace WebSocketSharp
|
|
||||||
{
|
|
||||||
public class ClientCertAuthConfiguration
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the certificate configuration used to authenticate the clients on the secure connection.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>
|
|
||||||
/// A <see cref="X509CertificateCollection"/> that represents the certificate collection used to authenticate
|
|
||||||
/// the clients.
|
|
||||||
/// </value>
|
|
||||||
public X509CertificateCollection clientCertificates { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the Ssl protocols type enabled.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>
|
|
||||||
/// The <see cref="SslProtocols"/> value that represents the protocol used for authentication.
|
|
||||||
/// </value>
|
|
||||||
public SslProtocols EnabledSslProtocols { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the verification of certificate revocation option.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>
|
|
||||||
/// A Boolean value that specifies whether the certificate revocation list is checked during authentication.
|
|
||||||
/// </value>
|
|
||||||
public bool CheckCertificateRevocation { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Initializes a new instance of the <see cref="ClientCertAuthConfiguration"/> class.
|
|
||||||
/// </summary>
|
|
||||||
public ClientCertAuthConfiguration(X509CertificateCollection clientCertificates,
|
|
||||||
SslProtocols enabledSslProtocols = SslProtocols.Default, bool checkCertificateRevocation = false)
|
|
||||||
{
|
|
||||||
this.clientCertificates = clientCertificates;
|
|
||||||
this.EnabledSslProtocols = enabledSslProtocols;
|
|
||||||
this.CheckCertificateRevocation = checkCertificateRevocation;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
96
websocket-sharp/Net/ClientSslAuthConfiguration.cs
Normal file
96
websocket-sharp/Net/ClientSslAuthConfiguration.cs
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
#region License
|
||||||
|
/*
|
||||||
|
* ClientSslAuthConfiguration.cs
|
||||||
|
*
|
||||||
|
* The MIT License
|
||||||
|
*
|
||||||
|
* Copyright (c) 2014 liryna
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Authors
|
||||||
|
/*
|
||||||
|
* Authors:
|
||||||
|
* - Liryna liryna.stark@gmail.com
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System.Security.Authentication;
|
||||||
|
using System.Security.Cryptography.X509Certificates;
|
||||||
|
|
||||||
|
namespace WebSocketSharp
|
||||||
|
{
|
||||||
|
public class ClientSslAuthConfiguration
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the certificate configuration used to authenticate the clients on the secure connection.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// A <see cref="X509CertificateCollection"/> that represents the certificate collection used to authenticate
|
||||||
|
/// the clients.
|
||||||
|
/// </value>
|
||||||
|
public X509CertificateCollection clientCertificates { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the Ssl protocols type enabled.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// The <see cref="SslProtocols"/> value that represents the protocol used for authentication.
|
||||||
|
/// </value>
|
||||||
|
public SslProtocols EnabledSslProtocols { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the verification of certificate revocation option.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// A Boolean value that specifies whether the certificate revocation list is checked during authentication.
|
||||||
|
/// </value>
|
||||||
|
public bool CheckCertificateRevocation { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ClientSslAuthConfiguration"/> class.
|
||||||
|
/// </summary>
|
||||||
|
public ClientSslAuthConfiguration(X509CertificateCollection clientCertificates)
|
||||||
|
: this(clientCertificates, SslProtocols.Default, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ClientSslAuthConfiguration"/> class.
|
||||||
|
/// </summary>
|
||||||
|
public ClientSslAuthConfiguration(X509CertificateCollection clientCertificates,
|
||||||
|
SslProtocols enabledSslProtocols)
|
||||||
|
: this(clientCertificates, enabledSslProtocols, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ClientSslAuthConfiguration"/> class.
|
||||||
|
/// </summary>
|
||||||
|
public ClientSslAuthConfiguration(X509CertificateCollection clientCertificates,
|
||||||
|
SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
|
||||||
|
{
|
||||||
|
this.clientCertificates = clientCertificates;
|
||||||
|
this.EnabledSslProtocols = enabledSslProtocols;
|
||||||
|
this.CheckCertificateRevocation = checkCertificateRevocation;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -54,7 +54,7 @@ namespace WebSocketSharp.Net
|
|||||||
#region Private Fields
|
#region Private Fields
|
||||||
|
|
||||||
private List<HttpListenerPrefix> _all; // host == '+'
|
private List<HttpListenerPrefix> _all; // host == '+'
|
||||||
private ServerCertAuthConfiguration _certConfig;
|
private ServerSslAuthConfiguration _sslAuthenticationConfig;
|
||||||
private static readonly string _defaultCertFolderPath;
|
private static readonly string _defaultCertFolderPath;
|
||||||
private IPEndPoint _endpoint;
|
private IPEndPoint _endpoint;
|
||||||
private Dictionary<HttpListenerPrefix, HttpListener> _prefixes;
|
private Dictionary<HttpListenerPrefix, HttpListener> _prefixes;
|
||||||
@ -83,13 +83,13 @@ namespace WebSocketSharp.Net
|
|||||||
int port,
|
int port,
|
||||||
bool secure,
|
bool secure,
|
||||||
string certificateFolderPath,
|
string certificateFolderPath,
|
||||||
ServerCertAuthConfiguration defaultCertificate,
|
ServerSslAuthConfiguration defaultCertificate,
|
||||||
bool reuseAddress)
|
bool reuseAddress)
|
||||||
{
|
{
|
||||||
if (secure) {
|
if (secure) {
|
||||||
_secure = secure;
|
_secure = secure;
|
||||||
_certConfig = getCertificate (port, certificateFolderPath, defaultCertificate);
|
_sslAuthenticationConfig = getCertificate(port, certificateFolderPath, defaultCertificate);
|
||||||
if (_certConfig == null)
|
if (_sslAuthenticationConfig == null)
|
||||||
throw new ArgumentException ("No server certificate could be found.");
|
throw new ArgumentException ("No server certificate could be found.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,10 +116,10 @@ namespace WebSocketSharp.Net
|
|||||||
|
|
||||||
#region Public Properties
|
#region Public Properties
|
||||||
|
|
||||||
public ServerCertAuthConfiguration CertificateConfig
|
public ServerSslAuthConfiguration CertificateConfig
|
||||||
{
|
{
|
||||||
get {
|
get {
|
||||||
return _certConfig;
|
return _sslAuthenticationConfig;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,8 +174,8 @@ namespace WebSocketSharp.Net
|
|||||||
return rsa;
|
return rsa;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ServerCertAuthConfiguration getCertificate(
|
private static ServerSslAuthConfiguration getCertificate(
|
||||||
int port, string certificateFolderPath, ServerCertAuthConfiguration defaultCertificate)
|
int port, string certificateFolderPath, ServerSslAuthConfiguration defaultCertificate)
|
||||||
{
|
{
|
||||||
if (certificateFolderPath == null || certificateFolderPath.Length == 0)
|
if (certificateFolderPath == null || certificateFolderPath.Length == 0)
|
||||||
certificateFolderPath = _defaultCertFolderPath;
|
certificateFolderPath = _defaultCertFolderPath;
|
||||||
@ -187,7 +187,7 @@ namespace WebSocketSharp.Net
|
|||||||
var cert = new X509Certificate2 (cer);
|
var cert = new X509Certificate2 (cer);
|
||||||
cert.PrivateKey = createRSAFromFile (key);
|
cert.PrivateKey = createRSAFromFile (key);
|
||||||
|
|
||||||
return new ServerCertAuthConfiguration(cert);
|
return new ServerSslAuthConfiguration(cert);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
|
@ -107,7 +107,7 @@ namespace WebSocketSharp.Net
|
|||||||
port,
|
port,
|
||||||
secure,
|
secure,
|
||||||
httpListener.CertificateFolderPath,
|
httpListener.CertificateFolderPath,
|
||||||
httpListener.DefaultCertificateConfig,
|
httpListener.DefaultSslAuthenticationConfig,
|
||||||
httpListener.ReuseAddress);
|
httpListener.ReuseAddress);
|
||||||
|
|
||||||
eps[port] = epl;
|
eps[port] = epl;
|
||||||
|
@ -64,7 +64,7 @@ namespace WebSocketSharp.Net
|
|||||||
private Dictionary<HttpListenerContext, HttpListenerContext> _ctxRegistry;
|
private Dictionary<HttpListenerContext, HttpListenerContext> _ctxRegistry;
|
||||||
private object _ctxRegistrySync;
|
private object _ctxRegistrySync;
|
||||||
private Func<IIdentity, NetworkCredential> _credFinder;
|
private Func<IIdentity, NetworkCredential> _credFinder;
|
||||||
private ServerCertAuthConfiguration _defaultCert;
|
private ServerSslAuthConfiguration _defaultSslAuthenticationConfig;
|
||||||
private bool _disposed;
|
private bool _disposed;
|
||||||
private bool _ignoreWriteExceptions;
|
private bool _ignoreWriteExceptions;
|
||||||
private bool _listening;
|
private bool _listening;
|
||||||
@ -213,27 +213,27 @@ namespace WebSocketSharp.Net
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the default certificate used to authenticate the server on the secure
|
/// Gets or sets the default Ssl configuration used to authenticate the server on the secure
|
||||||
/// connection.
|
/// connection.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value>
|
/// <value>
|
||||||
/// A <see cref="X509Certificate2"/> used to authenticate the server if the certificate
|
/// A <see cref="ServerSslAuthConfiguration"/> used to authenticate the server if the certificate
|
||||||
/// files aren't found in the <see cref="CertificateFolderPath"/>. The default value is
|
/// files aren't found in the <see cref="CertificateFolderPath"/>. The default value is
|
||||||
/// <see langword="null"/>.
|
/// <see langword="null"/>.
|
||||||
/// </value>
|
/// </value>
|
||||||
/// <exception cref="ObjectDisposedException">
|
/// <exception cref="ObjectDisposedException">
|
||||||
/// This listener has been closed.
|
/// This listener has been closed.
|
||||||
/// </exception>
|
/// </exception>
|
||||||
public ServerCertAuthConfiguration DefaultCertificateConfig
|
public ServerSslAuthConfiguration DefaultSslAuthenticationConfig
|
||||||
{
|
{
|
||||||
get {
|
get {
|
||||||
CheckDisposed ();
|
CheckDisposed ();
|
||||||
return _defaultCert;
|
return _defaultSslAuthenticationConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
set {
|
set {
|
||||||
CheckDisposed ();
|
CheckDisposed ();
|
||||||
_defaultCert = value;
|
_defaultSslAuthenticationConfig = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ namespace WebSocketSharp.Net.WebSockets
|
|||||||
#region Internal Constructors
|
#region Internal Constructors
|
||||||
|
|
||||||
internal TcpListenerWebSocketContext (
|
internal TcpListenerWebSocketContext (
|
||||||
TcpClient tcpClient, string protocol, bool secure, ServerCertAuthConfiguration certificateConfig, Logger logger)
|
TcpClient tcpClient, string protocol, bool secure, ServerSslAuthConfiguration certificateConfig, Logger logger)
|
||||||
{
|
{
|
||||||
_tcpClient = tcpClient;
|
_tcpClient = tcpClient;
|
||||||
_secure = secure;
|
_secure = secure;
|
||||||
|
@ -181,16 +181,16 @@ namespace WebSocketSharp.Server
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the certificate used to authenticate the server on the secure connection.
|
/// Gets or sets the Ssl configuration used to authenticate the server on the secure connection.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value>
|
/// <value>
|
||||||
/// A <see cref="X509Certificate2"/> that represents the certificate used to authenticate
|
/// A <see cref="ServerSslAuthConfiguration"/> that represents the Ssl configuration used to authenticate
|
||||||
/// the server.
|
/// the server.
|
||||||
/// </value>
|
/// </value>
|
||||||
public ServerCertAuthConfiguration CertificateConfig
|
public ServerSslAuthConfiguration CertificateConfig
|
||||||
{
|
{
|
||||||
get {
|
get {
|
||||||
return _listener.DefaultCertificateConfig;
|
return _listener.DefaultSslAuthenticationConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
set {
|
set {
|
||||||
@ -203,7 +203,7 @@ namespace WebSocketSharp.Server
|
|||||||
if (EndPointListener.CertificateExists (_port, _listener.CertificateFolderPath))
|
if (EndPointListener.CertificateExists (_port, _listener.CertificateFolderPath))
|
||||||
_logger.Warn ("The server certificate associated with the port number already exists.");
|
_logger.Warn ("The server certificate associated with the port number already exists.");
|
||||||
|
|
||||||
_listener.DefaultCertificateConfig = value;
|
_listener.DefaultSslAuthenticationConfig = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -509,7 +509,7 @@ namespace WebSocketSharp.Server
|
|||||||
{
|
{
|
||||||
return _secure &&
|
return _secure &&
|
||||||
!EndPointListener.CertificateExists (_port, _listener.CertificateFolderPath) &&
|
!EndPointListener.CertificateExists (_port, _listener.CertificateFolderPath) &&
|
||||||
_listener.DefaultCertificateConfig == null
|
_listener.DefaultSslAuthenticationConfig == null
|
||||||
? "The secure connection requires a server certificate."
|
? "The secure connection requires a server certificate."
|
||||||
: null;
|
: null;
|
||||||
}
|
}
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
using System.Security.Authentication;
|
|
||||||
using System.Security.Cryptography.X509Certificates;
|
|
||||||
|
|
||||||
namespace WebSocketSharp
|
|
||||||
{
|
|
||||||
public class ServerCertAuthConfiguration
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the certificate used to authenticate the server on the secure connection.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>
|
|
||||||
/// A <see cref="X509Certificate2"/> that represents the certificate used to authenticate
|
|
||||||
/// the server.
|
|
||||||
/// </value>
|
|
||||||
public X509Certificate2 ServerCertificate { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the client certificate request option.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>
|
|
||||||
/// A Boolean value that specifies whether the client must supply a certificate for authentication.
|
|
||||||
/// </value>
|
|
||||||
public bool ClientCertificateRequired { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the Ssl protocols type enabled.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>
|
|
||||||
/// The <see cref="SslProtocols"/> value that represents the protocol used for authentication.
|
|
||||||
/// </value>
|
|
||||||
public SslProtocols EnabledSslProtocols { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the verification of certificate revocation option.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>
|
|
||||||
/// A Boolean value that specifies whether the certificate revocation list is checked during authentication.
|
|
||||||
/// </value>
|
|
||||||
public bool CheckCertificateRevocation { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Initializes a new instance of the <see cref="ServerCertAuthConfiguration"/> class.
|
|
||||||
/// </summary>
|
|
||||||
public ServerCertAuthConfiguration(X509Certificate2 serverCertificate, bool clientCertificateRequired = false,
|
|
||||||
SslProtocols enabledSslProtocols = SslProtocols.Default, bool checkCertificateRevocation = false)
|
|
||||||
{
|
|
||||||
this.ServerCertificate = serverCertificate;
|
|
||||||
this.ClientCertificateRequired = clientCertificateRequired;
|
|
||||||
this.EnabledSslProtocols = enabledSslProtocols;
|
|
||||||
this.CheckCertificateRevocation = checkCertificateRevocation;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
113
websocket-sharp/Server/ServerSslAuthConfiguration.cs
Normal file
113
websocket-sharp/Server/ServerSslAuthConfiguration.cs
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
#region License
|
||||||
|
/*
|
||||||
|
* ServerSslAuthConfiguration.cs
|
||||||
|
*
|
||||||
|
* The MIT License
|
||||||
|
*
|
||||||
|
* Copyright (c) 2014 liryna
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Authors
|
||||||
|
/*
|
||||||
|
* Authors:
|
||||||
|
* - Liryna liryna.stark@gmail.com
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System.Security.Authentication;
|
||||||
|
using System.Security.Cryptography.X509Certificates;
|
||||||
|
|
||||||
|
namespace WebSocketSharp
|
||||||
|
{
|
||||||
|
public class ServerSslAuthConfiguration
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the certificate used to authenticate the server on the secure connection.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// A <see cref="X509Certificate2"/> that represents the certificate used to authenticate
|
||||||
|
/// the server.
|
||||||
|
/// </value>
|
||||||
|
public X509Certificate2 ServerCertificate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the client certificate request option.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// A Boolean value that specifies whether the client must supply a certificate for authentication.
|
||||||
|
/// </value>
|
||||||
|
public bool ClientCertificateRequired { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the Ssl protocols type enabled.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// The <see cref="SslProtocols"/> value that represents the protocol used for authentication.
|
||||||
|
/// </value>
|
||||||
|
public SslProtocols EnabledSslProtocols { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the verification of certificate revocation option.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// A Boolean value that specifies whether the certificate revocation list is checked during authentication.
|
||||||
|
/// </value>
|
||||||
|
public bool CheckCertificateRevocation { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ServerSslAuthConfiguration"/> class.
|
||||||
|
/// </summary>
|
||||||
|
public ServerSslAuthConfiguration(X509Certificate2 serverCertificate)
|
||||||
|
: this(serverCertificate, false, SslProtocols.Default, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ServerSslAuthConfiguration"/> class.
|
||||||
|
/// </summary>
|
||||||
|
public ServerSslAuthConfiguration(X509Certificate2 serverCertificate, bool clientCertificateRequired)
|
||||||
|
: this(serverCertificate, clientCertificateRequired, SslProtocols.Default, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ServerSslAuthConfiguration"/> class.
|
||||||
|
/// </summary>
|
||||||
|
public ServerSslAuthConfiguration(X509Certificate2 serverCertificate, bool clientCertificateRequired,
|
||||||
|
SslProtocols enabledSslProtocols)
|
||||||
|
: this(serverCertificate, clientCertificateRequired, enabledSslProtocols, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ServerSslAuthConfiguration"/> class.
|
||||||
|
/// </summary>
|
||||||
|
public ServerSslAuthConfiguration(X509Certificate2 serverCertificate, bool clientCertificateRequired,
|
||||||
|
SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
|
||||||
|
{
|
||||||
|
this.ServerCertificate = serverCertificate;
|
||||||
|
this.ClientCertificateRequired = clientCertificateRequired;
|
||||||
|
this.EnabledSslProtocols = enabledSslProtocols;
|
||||||
|
this.CheckCertificateRevocation = checkCertificateRevocation;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -60,7 +60,7 @@ namespace WebSocketSharp.Server
|
|||||||
|
|
||||||
private System.Net.IPAddress _address;
|
private System.Net.IPAddress _address;
|
||||||
private AuthenticationSchemes _authSchemes;
|
private AuthenticationSchemes _authSchemes;
|
||||||
private ServerCertAuthConfiguration _certificateConfig;
|
private ServerSslAuthConfiguration _certificateConfig;
|
||||||
private Func<IIdentity, NetworkCredential> _credentialsFinder;
|
private Func<IIdentity, NetworkCredential> _credentialsFinder;
|
||||||
private TcpListener _listener;
|
private TcpListener _listener;
|
||||||
private Logger _logger;
|
private Logger _logger;
|
||||||
@ -315,10 +315,10 @@ namespace WebSocketSharp.Server
|
|||||||
/// Gets or sets the certificate configuration used to authenticate the server on the secure connection.
|
/// Gets or sets the certificate configuration used to authenticate the server on the secure connection.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value>
|
/// <value>
|
||||||
/// A <see cref="ServerCertAuthConfiguration"/> that represents the certificate configuration used to authenticate
|
/// A <see cref="ServerSslAuthConfiguration"/> that represents the certificate configuration used to authenticate
|
||||||
/// the server.
|
/// the server.
|
||||||
/// </value>
|
/// </value>
|
||||||
public ServerCertAuthConfiguration CertificateConfig
|
public ServerSslAuthConfiguration SslAuthenticationConfig
|
||||||
{
|
{
|
||||||
get {
|
get {
|
||||||
return _certificateConfig;
|
return _certificateConfig;
|
||||||
|
@ -71,7 +71,7 @@ namespace WebSocketSharp
|
|||||||
private string _base64Key;
|
private string _base64Key;
|
||||||
private LocalCertificateSelectionCallback
|
private LocalCertificateSelectionCallback
|
||||||
_certSelectionCallback;
|
_certSelectionCallback;
|
||||||
private ClientCertAuthConfiguration
|
private ClientSslAuthConfiguration
|
||||||
_certificateConfig;
|
_certificateConfig;
|
||||||
private RemoteCertificateValidationCallback
|
private RemoteCertificateValidationCallback
|
||||||
_certValidationCallback;
|
_certValidationCallback;
|
||||||
@ -467,10 +467,10 @@ namespace WebSocketSharp
|
|||||||
/// Gets or sets the certificate configuration used to authenticate the client on the secure connection.
|
/// Gets or sets the certificate configuration used to authenticate the client on the secure connection.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value>
|
/// <value>
|
||||||
/// A <see cref="ClientCertAuthConfiguration"/> that represents the certificate configuration used to authenticate
|
/// A <see cref="ClientSslAuthConfiguration"/> that represents the certificate configuration used to authenticate
|
||||||
/// the client.
|
/// the client.
|
||||||
/// </value>
|
/// </value>
|
||||||
public ClientCertAuthConfiguration CertificateConfig
|
public ClientSslAuthConfiguration SslAuthenticationConfig
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
@ -67,8 +67,8 @@
|
|||||||
<Compile Include="CloseEventArgs.cs" />
|
<Compile Include="CloseEventArgs.cs" />
|
||||||
<Compile Include="ByteOrder.cs" />
|
<Compile Include="ByteOrder.cs" />
|
||||||
<Compile Include="ErrorEventArgs.cs" />
|
<Compile Include="ErrorEventArgs.cs" />
|
||||||
<Compile Include="Net\ClientCertAuthConfiguration.cs" />
|
<Compile Include="Net\ClientSslAuthConfiguration.cs" />
|
||||||
<Compile Include="Server\ServerCertAuthConfiguration.cs" />
|
<Compile Include="Server\ServerSslAuthConfiguration.cs" />
|
||||||
<Compile Include="WebSocket.cs" />
|
<Compile Include="WebSocket.cs" />
|
||||||
<Compile Include="Server\WebSocketServer.cs" />
|
<Compile Include="Server\WebSocketServer.cs" />
|
||||||
<Compile Include="Net\AuthenticationSchemes.cs" />
|
<Compile Include="Net\AuthenticationSchemes.cs" />
|
||||||
|
Loading…
Reference in New Issue
Block a user