[pgsqlclient-checkins] pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls.Handsha
Status: Inactive
Brought to you by:
carlosga_fb
From: Carlos Guzm?n ?l. <car...@us...> - 2004-04-09 08:56:25
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls.Handshake.Client In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv306 Modified Files: TlsClientCertificateVerify.cs Log Message: 2004-04-09 Carlos Guzman Alvarez <car...@te...> * Mono.Security.Protocol.Tls/TlsClientSettings.cs: - Added new CertificateRSA property. * Mono.Security.Protocol.Tls/SslHandshakeHash.cs: - Added two new methods: CreateSignature and VerifySignature. * Mono.Security.Protocol.Tls.Handshake.Client/TlsCertificateVerify.cs: - Added Ssl3 implementation. * Mono.Security.Protocol.Tls.Handshake.Server/TlsCertificateVerify.cs: - Added initial implementation. Index: TlsClientCertificateVerify.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TlsClientCertificateVerify.cs 9 Mar 2004 22:05:30 -0000 1.4 --- TlsClientCertificateVerify.cs 9 Apr 2004 08:43:08 -0000 1.5 *************** *** 56,60 **** protected override void ProcessAsSsl3() { ! throw new NotSupportedException(); } --- 56,85 ---- protected override void ProcessAsSsl3() { ! AsymmetricAlgorithm privKey = null; ! ClientContext context = (ClientContext)this.Context; ! ! privKey = context.SslStream.RaisePrivateKeySelection( ! context.ClientSettings.ClientCertificate, ! context.ClientSettings.TargetHost); ! ! if (privKey == null) ! { ! throw this.Context.CreateException("Client certificate Private Key unavailable."); ! } ! else ! { ! SslHandshakeHash hash = new SslHandshakeHash(context.MasterSecret); ! hash.TransformFinalBlock( ! context.HandshakeMessages.ToArray(), ! 0, ! (int)context.HandshakeMessages.Length); ! ! // RSAManaged of the selected ClientCertificate ! // (at this moment the first one) ! RSA rsa = this.getClientCertRSA((RSA)privKey); ! ! // Write message ! this.Write(hash.CreateSignature(rsa)); ! } } *************** *** 65,70 **** privKey = context.SslStream.RaisePrivateKeySelection( ! this.Context.ClientSettings.ClientCertificate, ! this.Context.ClientSettings.TargetHost); if (privKey == null) --- 90,95 ---- privKey = context.SslStream.RaisePrivateKeySelection( ! context.ClientSettings.ClientCertificate, ! context.ClientSettings.TargetHost); if (privKey == null) |