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);
! }
}
}
|