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:
@@ -181,16 +181,16 @@ namespace WebSocketSharp.Server
|
||||
}
|
||||
|
||||
/// <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>
|
||||
/// <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.
|
||||
/// </value>
|
||||
public ServerCertAuthConfiguration CertificateConfig
|
||||
public ServerSslAuthConfiguration CertificateConfig
|
||||
{
|
||||
get {
|
||||
return _listener.DefaultCertificateConfig;
|
||||
return _listener.DefaultSslAuthenticationConfig;
|
||||
}
|
||||
|
||||
set {
|
||||
@@ -203,7 +203,7 @@ namespace WebSocketSharp.Server
|
||||
if (EndPointListener.CertificateExists (_port, _listener.CertificateFolderPath))
|
||||
_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 &&
|
||||
!EndPointListener.CertificateExists (_port, _listener.CertificateFolderPath) &&
|
||||
_listener.DefaultCertificateConfig == null
|
||||
_listener.DefaultSslAuthenticationConfig == null
|
||||
? "The secure connection requires a server certificate."
|
||||
: 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 AuthenticationSchemes _authSchemes;
|
||||
private ServerCertAuthConfiguration _certificateConfig;
|
||||
private ServerSslAuthConfiguration _certificateConfig;
|
||||
private Func<IIdentity, NetworkCredential> _credentialsFinder;
|
||||
private TcpListener _listener;
|
||||
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.
|
||||
/// </summary>
|
||||
/// <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.
|
||||
/// </value>
|
||||
public ServerCertAuthConfiguration CertificateConfig
|
||||
public ServerSslAuthConfiguration SslAuthenticationConfig
|
||||
{
|
||||
get {
|
||||
return _certificateConfig;
|
||||
|
Reference in New Issue
Block a user