Exemplo n.º 1
0
        static HttpsSocket()
        {
            m_config = Configuration.ServerConfig.GetConfig();

            if (string.IsNullOrEmpty(m_config.SSLLicenseKey))
            {
                // Get default License key
                SBUtils.Unit.SetLicenseKey(SSL_EVAL_LICENSE_KEY);
            }
            else
            {
                SBUtils.Unit.SetLicenseKey(m_config.SSLLicenseKey);
            }

            // Set security protocols
            if (m_config.Security.Tls10)
            {
                m_protocols += SBSSLConstants.Unit.sbTLS1;
            }
            if (m_config.Security.Tls11)
            {
                m_protocols += SBSSLConstants.Unit.sbTLS11;
            }
            if (m_config.Security.Tls12)
            {
                m_protocols += SBSSLConstants.Unit.sbTLS12;
            }

            if (m_config.Security.ResumeSession)
            {
                m_sessionPool = new SBSessionPool.TElSessionPool();
            }

            m_certStorage.Add(LoadCertificate(m_config.CertificateName, m_config.CertificatePassword), true);
        }
Exemplo n.º 2
0
        public void OnCertificateValidateEvent(object sender, TElX509Certificate concern, ref bool validate)
        {
            var reason   = 0;
            var validity = TSBCertificateValidity.cvInvalid;

            client.InternalValidate(ref validity, ref reason);

            if ((validity | (TSBCertificateValidity.cvOk | TSBCertificateValidity.cvSelfSigned)) == 0)
            {
                validity = memoryCertificateStorage.Validate(certificate, ref reason, DateTime.Now);

                if ((validity | (TSBCertificateValidity.cvOk | TSBCertificateValidity.cvSelfSigned)) == 0)
                {
                    throw new ApplicationException("The server certificate is not valid.");
                }
            }

            memoryCertificateStorage.Add(concern, true);
            validate = true;
        }
Exemplo n.º 3
0
        private TElMemoryCertStorage LoadCertificate(string credentialsID, string access_token)
        {
            //credentialsInfo
            JsonSerializer serializer  = new JsonSerializer();
            ErrorLogger    errorLogger = new ErrorLogger();


            InputCredentialsInfo credentialsInfo = new InputCredentialsInfo()
            {
                credentialID = credentialsID
            };
            CredentialsInfoClient credInfoClient = new CredentialsInfoClient(serializer, errorLogger, baseURL);

            string temp = credInfoClient.GetCredentialsInfo(access_token, credentialsInfo).ToString();

            // string temp = serializer.Serialize(outputCredentials);
            if (!temp.Contains("error") && temp != "")
            {
                OutputCredentialsInfo output = serializer.Deserialize <OutputCredentialsInfo>(temp);

                string certificate = output.cert.certificates.FirstOrDefault();

                TElX509Certificate cert    = new TElX509Certificate();
                byte[]             certBuf = Encoding.UTF8.GetBytes(certificate);
                int r = cert.LoadFromBufferAuto(certBuf, 0, certBuf.Length, "");

                if (r != 0)
                {
                    throw new Exception("Certificate read error: " + r.ToString());
                }

                TElMemoryCertStorage storage = new TElMemoryCertStorage();
                storage.Add(cert, true);

                return(storage);
            }
            else
            {
                return(null);
            }
        }