Ejemplo n.º 1
0
 internal WebScope(RtmpEndpoint endpoint, IGlobalScope globalScope, ApplicationConfiguration appConfig)
     : base(null)
 {
     _endpoint   = endpoint;
     _appConfig  = appConfig;
     base.Parent = globalScope;
 }
Ejemplo n.º 2
0
        public RtmpServer(RtmpEndpoint endpoint)
        {
            _connections     = new Hashtable();
            _socketListeners = new ArrayList();
            _endpoint        = endpoint;
            _rtmpHandler     = new RtmpHandler(endpoint);

            try
            {
                if (endpoint.ChannelDefinition.Properties.KeystoreFile != null)
                {
                    FileSystemResource fsr = new FileSystemResource(endpoint.ChannelDefinition.Properties.KeystoreFile);
                    if (fsr.Exists)
                    {
                        if (endpoint.ChannelDefinition.Properties.KeystorePassword != null)
                        {
                            _serverCertificate = new X509Certificate2(fsr.File.FullName, endpoint.ChannelDefinition.Properties.KeystorePassword);
                        }
                        else
                        {
                            _serverCertificate = X509Certificate.CreateFromCertFile(fsr.File.FullName);
                        }
                        log.Info(string.Format("Certificate issued to {0} and is valid from {1} until {2}.", _serverCertificate.Subject, _serverCertificate.GetEffectiveDateString(), _serverCertificate.GetExpirationDateString()));
                    }
                    else
                    {
                        log.Error("Certificate file not found");
                    }
                }
                else
                {
                    if (endpoint.ChannelDefinition.Properties.ServerCertificate != null)
                    {
                        StoreName     storeName     = (StoreName)Enum.Parse(typeof(StoreName), endpoint.ChannelDefinition.Properties.ServerCertificate.StoreName, false);
                        StoreLocation storeLocation = (StoreLocation)Enum.Parse(typeof(StoreLocation), endpoint.ChannelDefinition.Properties.ServerCertificate.StoreLocation, false);
                        X509FindType  x509FindType  = (X509FindType)Enum.Parse(typeof(X509FindType), endpoint.ChannelDefinition.Properties.ServerCertificate.X509FindType, false);
                        X509Store     store         = new X509Store(storeName, storeLocation);
                        store.Open(OpenFlags.ReadOnly);
                        X509Certificate2Collection certificateCollection = store.Certificates.Find(x509FindType, endpoint.ChannelDefinition.Properties.ServerCertificate.FindValue, false);
                        X509Certificate2Enumerator enumerator            = certificateCollection.GetEnumerator();
                        if (enumerator.MoveNext())
                        {
                            _serverCertificate = enumerator.Current;
                            log.Info(string.Format("Certificate issued to {0} and is valid from {1} until {2}.", _serverCertificate.Subject, _serverCertificate.GetEffectiveDateString(), _serverCertificate.GetExpirationDateString()));
                        }
                        else
                        {
                            log.Error("Certificate not found");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error("Error loading certificate.", ex);
            }
        }
Ejemplo n.º 3
0
 internal WebScope(RtmpEndpoint endpoint, IGlobalScope globalScope, ApplicationConfiguration appConfig) : base(null, globalScope.ServiceProvider)
 {
     this._endpoint  = endpoint;
     this._appConfig = appConfig;
     base.Parent     = globalScope;
 }
Ejemplo n.º 4
0
 public RtmpServer(RtmpEndpoint endpoint)
 {
     this._endpoint    = endpoint;
     this._rtmpHandler = new FluorineFx.Messaging.Rtmp.RtmpHandler(endpoint);
 }