private void ProcessCertificateFormats(ServerHandshakeState state, IDictionary mClientExtensions, IDictionary mServerExtensions) { byte[] certificateTypes = TlsExtensionsUtilities.GetServerCertificateTypeExtensionClient(mClientExtensions); if (certificateTypes != null) { state.serverCertificateType = state.server.GetServerCertificateType(certificateTypes); TlsExtensionsUtilities.AddServerCertificateTypeExtensionServer(mServerExtensions, (byte)state.serverCertificateType); } // TODO Look to see if there is going to be a client certificate request and don't bother sending if there isn't certificateTypes = TlsExtensionsUtilities.GetClientCertificateTypeExtensionClient(mClientExtensions); if (certificateTypes != null) { state.clientCertificateType = state.server.GetClientCertificateType(certificateTypes); TlsExtensionsUtilities.AddClientCertificateTypeExtensionServer(mServerExtensions, (byte)state.clientCertificateType); } }