diff --git a/Notesnook.API/Program.cs b/Notesnook.API/Program.cs
index 6a38a71..583ec92 100644
--- a/Notesnook.API/Program.cs
+++ b/Notesnook.API/Program.cs
@@ -50,6 +50,13 @@ namespace Notesnook.API
{
options.Limits.MaxRequestBodySize = long.MaxValue;
options.ListenAnyIP(Servers.NotesnookAPI.Port);
+ if (Servers.NotesnookAPI.IsSecure)
+ {
+ options.ListenAnyIP(443, listenerOptions =>
+ {
+ listenerOptions.UseHttps(Servers.NotesnookAPI.SSLCertificate);
+ });
+ }
});
});
}
diff --git a/Streetwriters.Common/Constants.cs b/Streetwriters.Common/Constants.cs
index 1b9ff33..dacf075 100644
--- a/Streetwriters.Common/Constants.cs
+++ b/Streetwriters.Common/Constants.cs
@@ -48,8 +48,6 @@ namespace Streetwriters.Common
public static string MESSAGEBIRD_ACCESS_KEY => Environment.GetEnvironmentVariable("MESSAGEBIRD_ACCESS_KEY");
// internal
- public static string ORIGIN_CERT_PATH => Environment.GetEnvironmentVariable("ORIGIN_CERT_PATH");
- public static string ORIGIN_CERT_KEY_PATH => Environment.GetEnvironmentVariable("ORIGIN_CERT_KEY_PATH");
public static string MONGODB_CONNECTION_STRING => Environment.GetEnvironmentVariable("MONGODB_CONNECTION_STRING");
public static string MONGODB_DATABASE_NAME => Environment.GetEnvironmentVariable("MONGODB_DATABASE_NAME");
public static string S3_INTERNAL_SERVICE_URL => Environment.GetEnvironmentVariable("S3_INTERNAL_SERVICE_URL");
@@ -58,13 +56,19 @@ namespace Streetwriters.Common
public static int NOTESNOOK_SERVER_PORT => int.Parse(Environment.GetEnvironmentVariable("NOTESNOOK_SERVER_PORT"));
public static string NOTESNOOK_SERVER_HOST => Environment.GetEnvironmentVariable("NOTESNOOK_SERVER_HOST");
public static string NOTESNOOK_SERVER_DOMAIN => Environment.GetEnvironmentVariable("NOTESNOOK_SERVER_DOMAIN");
+ public static string NOTESNOOK_CERT_PATH => Environment.GetEnvironmentVariable("NOTESNOOK_CERT_PATH");
+ public static string NOTESNOOK_CERT_KEY_PATH => Environment.GetEnvironmentVariable("NOTESNOOK_CERT_PATH");
public static int IDENTITY_SERVER_PORT => int.Parse(Environment.GetEnvironmentVariable("IDENTITY_SERVER_PORT"));
public static string IDENTITY_SERVER_HOST => Environment.GetEnvironmentVariable("IDENTITY_SERVER_HOST");
public static string IDENTITY_SERVER_DOMAIN => Environment.GetEnvironmentVariable("IDENTITY_SERVER_DOMAIN");
+ public static string IDENTITY_CERT_PATH => Environment.GetEnvironmentVariable("IDENTITY_CERT_PATH");
+ public static string IDENTITY_CERT_KEY_PATH => Environment.GetEnvironmentVariable("IDENTITY_CERT_KEY_PATH");
public static int SSE_SERVER_PORT => int.Parse(Environment.GetEnvironmentVariable("SSE_SERVER_PORT"));
public static string SSE_SERVER_HOST => Environment.GetEnvironmentVariable("SSE_SERVER_HOST");
public static string SSE_SERVER_DOMAIN => Environment.GetEnvironmentVariable("SSE_SERVER_DOMAIN");
+ public static string SSE_CERT_PATH => Environment.GetEnvironmentVariable("SSE_CERT_PATH");
+ public static string SSE_CERT_KEY_PATH => Environment.GetEnvironmentVariable("SSE_CERT_KEY_PATH");
}
}
\ No newline at end of file
diff --git a/Streetwriters.Common/Logger.cs b/Streetwriters.Common/Logger.cs
index 72dfe4e..9b99356 100644
--- a/Streetwriters.Common/Logger.cs
+++ b/Streetwriters.Common/Logger.cs
@@ -18,13 +18,8 @@ along with this program. If not, see .
*/
using System;
-using System.Collections.Generic;
using System.IO;
-using System.Linq;
using System.Threading.Tasks;
-using Streetwriters.Common.Enums;
-using Streetwriters.Common.Interfaces;
-using Streetwriters.Common.Models;
namespace Streetwriters.Common
{
diff --git a/Streetwriters.Common/Servers.cs b/Streetwriters.Common/Servers.cs
index 4c925ec..8f0ed2d 100644
--- a/Streetwriters.Common/Servers.cs
+++ b/Streetwriters.Common/Servers.cs
@@ -19,6 +19,7 @@ along with this program. If not, see .
using System.Net.NetworkInformation;
using System.Net.Sockets;
+using System.Security.Cryptography.X509Certificates;
#if !DEBUG
using System;
using System.Security.Cryptography.X509Certificates;
@@ -28,10 +29,17 @@ namespace Streetwriters.Common
{
public class Server
{
+ public Server(string originCertPath = null, string originCertKeyPath = null)
+ {
+ if (!string.IsNullOrEmpty(originCertPath) && !string.IsNullOrEmpty(originCertKeyPath))
+ this.SSLCertificate = X509Certificate2.CreateFromPemFile(originCertPath, originCertKeyPath);
+ }
+
public int Port { get; set; }
- public bool IsSecure { get; set; }
public string Hostname { get; set; }
public string Domain { get; set; }
+ public X509Certificate2 SSLCertificate { get; }
+ public bool IsSecure { get => this.SSLCertificate != null; }
public override string ToString()
{
@@ -79,28 +87,24 @@ namespace Streetwriters.Common
{
Port = 4568,
Hostname = HOST,
- IsSecure = false,
Domain = HOST
};
-#else
- private readonly static string HOST = "localhost";
- public readonly static X509Certificate2 OriginSSLCertificate = string.IsNullOrEmpty(Constants.ORIGIN_CERT_PATH) || string.IsNullOrEmpty(Constants.ORIGIN_CERT_KEY_PATH) ? null : X509Certificate2.CreateFromPemFile(Constants.ORIGIN_CERT_PATH, Environment.GetEnvironmentVariable(Constants.ORIGIN_CERT_KEY_PATH));
#endif
- public static Server NotesnookAPI { get; } = new()
+ public static Server NotesnookAPI { get; } = new(Constants.NOTESNOOK_CERT_PATH, Constants.NOTESNOOK_CERT_KEY_PATH)
{
Domain = Constants.NOTESNOOK_SERVER_DOMAIN,
Port = Constants.NOTESNOOK_SERVER_PORT,
Hostname = Constants.NOTESNOOK_SERVER_HOST,
};
- public static Server MessengerServer { get; } = new()
+ public static Server MessengerServer { get; } = new(Constants.SSE_CERT_PATH, Constants.SSE_CERT_KEY_PATH)
{
Domain = Constants.SSE_SERVER_DOMAIN,
Port = Constants.SSE_SERVER_PORT,
Hostname = Constants.SSE_SERVER_HOST,
};
- public static Server IdentityServer { get; } = new()
+ public static Server IdentityServer { get; } = new(Constants.IDENTITY_CERT_PATH, Constants.IDENTITY_CERT_KEY_PATH)
{
Domain = Constants.IDENTITY_SERVER_DOMAIN,
Port = Constants.IDENTITY_SERVER_PORT,
diff --git a/Streetwriters.Identity/Program.cs b/Streetwriters.Identity/Program.cs
index d1b6a6f..6e2af95 100644
--- a/Streetwriters.Identity/Program.cs
+++ b/Streetwriters.Identity/Program.cs
@@ -55,6 +55,13 @@ namespace Streetwriters.Identity
{
options.Limits.MaxRequestBodySize = long.MaxValue;
options.ListenAnyIP(Servers.IdentityServer.Port);
+ if (Servers.IdentityServer.IsSecure)
+ {
+ options.ListenAnyIP(443, listenerOptions =>
+ {
+ listenerOptions.UseHttps(Servers.IdentityServer.SSLCertificate);
+ });
+ }
});
});
}
diff --git a/Streetwriters.Messenger/Program.cs b/Streetwriters.Messenger/Program.cs
index 56e299c..000d211 100644
--- a/Streetwriters.Messenger/Program.cs
+++ b/Streetwriters.Messenger/Program.cs
@@ -49,6 +49,13 @@ namespace Streetwriters.Messenger
{
options.Limits.MaxRequestBodySize = long.MaxValue;
options.ListenAnyIP(Servers.MessengerServer.Port);
+ if (Servers.MessengerServer.IsSecure)
+ {
+ options.ListenAnyIP(443, listenerOptions =>
+ {
+ listenerOptions.UseHttps(Servers.MessengerServer.SSLCertificate);
+ });
+ }
});
});
}