Update of /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv952
Modified Files:
SslClientStream.cs SslServerStream.cs
Log Message:
2004-03-06 Carlos Guzman Alvarez <car...@te...>
* Mono.Security.Protocol.Tls/SslServerStream.cs:
- Added PrivateKeySelection event and callback.
- Added methods for event raising.
Index: SslClientStream.cs
===================================================================
RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** SslClientStream.cs 3 Mar 2004 16:22:36 -0000 1.16
--- SslClientStream.cs 6 Mar 2004 14:38:25 -0000 1.17
***************
*** 48,52 ****
public delegate AsymmetricAlgorithm PrivateKeySelectionCallback(
! X509Certificate clientCertificate,
string targetHost);
--- 48,52 ----
public delegate AsymmetricAlgorithm PrivateKeySelectionCallback(
! X509Certificate certificate,
string targetHost);
***************
*** 68,71 ****
--- 68,72 ----
private CertificateSelectionCallback clientCertSelectionDelegate;
private PrivateKeySelectionCallback privateKeySelectionDelegate;
+
private Stream innerStream;
private BufferedStream inputBuffer;
***************
*** 784,788 ****
}
! return (certificateErrors != null && certificateErrors.Length > 0);
}
--- 785,789 ----
}
! return (certificateErrors != null && certificateErrors.Length == 0);
}
***************
*** 806,817 ****
internal AsymmetricAlgorithm RaisePrivateKeySelection(
! X509Certificate clientCertificate,
string targetHost)
{
if (this.PrivateKeySelection != null)
{
! return this.PrivateKeySelection(
! clientCertificate,
! targetHost);
}
--- 807,816 ----
internal AsymmetricAlgorithm RaisePrivateKeySelection(
! X509Certificate certificate,
string targetHost)
{
if (this.PrivateKeySelection != null)
{
! return this.PrivateKeySelection(certificate, targetHost);
}
Index: SslServerStream.cs
===================================================================
RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls/SslServerStream.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** SslServerStream.cs 5 Mar 2004 23:21:55 -0000 1.6
--- SslServerStream.cs 6 Mar 2004 14:38:25 -0000 1.7
***************
*** 39,43 ****
#region Internal Events
! internal event CertificateValidationCallback ClientCertValidation;
#endregion
--- 39,44 ----
#region Internal Events
! internal event CertificateValidationCallback ClientCertValidation;
! internal event PrivateKeySelectionCallback PrivateKeySelection;
#endregion
***************
*** 46,49 ****
--- 47,51 ----
private CertificateValidationCallback clientCertValidationDelegate;
+ private PrivateKeySelectionCallback privateKeySelectionDelegate;
private ServerRecordProtocol protocol;
***************
*** 236,239 ****
--- 238,255 ----
}
+ public PrivateKeySelectionCallback PrivateKeyCertSelectionDelegate
+ {
+ get { return this.privateKeySelectionDelegate; }
+ set
+ {
+ if (this.PrivateKeySelection != null)
+ {
+ this.PrivateKeySelection -= this.privateKeySelectionDelegate;
+ }
+ this.privateKeySelectionDelegate = value;
+ this.PrivateKeySelection += this.privateKeySelectionDelegate;
+ }
+ }
+
#endregion
***************
*** 708,711 ****
--- 724,755 ----
#endregion
+
+ #region Event Methods
+
+ internal virtual bool RaiseClientCertificateValidation(
+ X509Certificate certificate,
+ int[] certificateErrors)
+ {
+ if (this.ClientCertValidation != null)
+ {
+ return this.ClientCertValidation(certificate, certificateErrors);
+ }
+
+ return (certificateErrors != null && certificateErrors.Length == 0);
+ }
+
+ internal AsymmetricAlgorithm RaisePrivateKeySelection(
+ X509Certificate certificate,
+ string targetHost)
+ {
+ if (this.PrivateKeySelection != null)
+ {
+ return this.PrivateKeySelection(certificate, targetHost);
+ }
+
+ return null;
+ }
+
+ #endregion
}
}
|