Example #1
0
        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);
            }
        }