[pgsqlclient-checkins] pgsqlclient_10/Mono.Security.Protocol.Tls/Mono.Security.Protocol.Tls/Mono.Sec
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2003-11-03 12:35:59
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security.Protocol.Tls/Mono.Security.Protocol.Tls/Mono.Security.Protocol.Tls.Handshake/Mono.Security.Protocol.Tls.Handshake.Client In directory sc8-pr-cvs1:/tmp/cvs-serv23255 Modified Files: TlsClientCertificate.cs TlsClientCertificateVerify.cs TlsServerCertificateRequest.cs Log Message: Fixed some minor issues Index: TlsClientCertificate.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security.Protocol.Tls/Mono.Security.Protocol.Tls/Mono.Security.Protocol.Tls.Handshake/Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TlsClientCertificate.cs 3 Nov 2003 10:45:30 -0000 1.7 --- TlsClientCertificate.cs 3 Nov 2003 12:35:56 -0000 1.8 *************** *** 34,38 **** public TlsClientCertificate(TlsSession session) ! : base(session, TlsHandshakeType.Finished, TlsContentType.Handshake) { } --- 34,38 ---- public TlsClientCertificate(TlsSession session) ! : base(session, TlsHandshakeType.Certificate, TlsContentType.Handshake) { } *************** *** 60,63 **** --- 60,69 ---- { #warning "Send only the appropiate type of certificate" + + if (Session.Settings.Certificates == null || + Session.Settings.Certificates.Count == 0) + { + throw this.Session.CreateException("Client certificate requested by the server and no client certificate specified."); + } // Write client certificates information to a stream Index: TlsClientCertificateVerify.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security.Protocol.Tls/Mono.Security.Protocol.Tls/Mono.Security.Protocol.Tls.Handshake/Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TlsClientCertificateVerify.cs 3 Nov 2003 11:50:27 -0000 1.7 --- TlsClientCertificateVerify.cs 3 Nov 2003 12:35:56 -0000 1.8 *************** *** 103,106 **** --- 103,107 ---- } + #warning "Seems that for this we need the private key" Write(sf.CreateSignature(hash.Hash)); } Index: TlsServerCertificateRequest.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security.Protocol.Tls/Mono.Security.Protocol.Tls/Mono.Security.Protocol.Tls.Handshake/Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificateRequest.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** TlsServerCertificateRequest.cs 22 Oct 2003 11:48:08 -0000 1.5 --- TlsServerCertificateRequest.cs 3 Nov 2003 12:35:56 -0000 1.6 *************** *** 72,80 **** int typesCount = this.ReadByte(); ! certificateTypes = new TlsClientCertificateType[typesCount]; for (int i = 0; i < typesCount; i++) { ! certificateTypes[i] = (TlsClientCertificateType)this.ReadByte(); } --- 72,80 ---- int typesCount = this.ReadByte(); ! this.certificateTypes = new TlsClientCertificateType[typesCount]; for (int i = 0; i < typesCount; i++) { ! this.certificateTypes[i] = (TlsClientCertificateType)this.ReadByte(); } *************** *** 90,106 **** * attributeValue ANY } */ ! int tmp = this.ReadInt16(); ! ASN1 rdn = new ASN1(this.ReadBytes(this.ReadInt16())); ! distinguisedNames = new string[rdn.Count]; ! #warning "needs testing" ! for (int i = 0; i < rdn.Count; i++) ! { ! // element[0] = attributeType ! // element[1] = attributeValue ! ASN1 element = new ASN1(rdn[i].Value); ! distinguisedNames[i] = Encoding.UTF8.GetString(element[1].Value); } } --- 90,108 ---- * attributeValue ANY } */ ! if (this.ReadInt16() != 0) ! { ! ASN1 rdn = new ASN1(this.ReadBytes(this.ReadInt16())); ! distinguisedNames = new string[rdn.Count]; ! #warning "needs testing" ! for (int i = 0; i < rdn.Count; i++) ! { ! // element[0] = attributeType ! // element[1] = attributeValue ! ASN1 element = new ASN1(rdn[i].Value); ! distinguisedNames[i] = Encoding.UTF8.GetString(element[1].Value); ! } } } |