[pgsqlclient-checkins] pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls SslClie
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2004-03-06 14:53:35
|
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 } } |