diff --git a/Icarus.csproj b/Icarus.csproj
index bfbfd41..7c8b877 100644
--- a/Icarus.csproj
+++ b/Icarus.csproj
@@ -11,6 +11,7 @@
+
@@ -21,6 +22,7 @@
+
diff --git a/README.md b/README.md
index e205100..a49349e 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,22 @@ One can interface with Icarus the music server either by:
* C# [.NET](https://dotnet.microsoft.com/) 6
* [MySql](https://www.nuget.org/packages/MySql.Data/)
+* OpenSSL
+* BCrypt.Net-Next
+* DotNetZip
+* ID3
+* JWT
+* Microsoft.AspNetCore.Authentication.JwtBearer
+* Microsoft.AspNetCore.Mvc.NewtonsoftJson
+* Microsoft.EntityFrameworkCore
+* Microsoft.EntityFrameworkCore.Tools
+* MySql.EntityFrameworkCore
* [Newtonsoft.Json](https://www.newtonsoft.com/json)
+* NLog.Web.AspNetCpre
+* Portable.BouncyCastle
+* RestSharp
+* SevenZip
+* System.IdentityModel.Tokens.Jwt
* [TagLib#](https://github.com/mono/taglib-sharp)

@@ -24,9 +39,10 @@ One can interface with Icarus the music server either by:
## Getting started
There are several things that need to be completed to properly setup and secure the API.
1. Auth0 API configuration
-2. API filesystem paths
-3. Database connection string
-4. Migrations
+2. Creating RSA keys
+3. API filesystem paths
+4. Database connection string
+5. Migrations
### Auth0 API configuration
@@ -80,6 +96,25 @@ Enter the information in the corresponding appsettings json file
},
```
+### Creating RSA keys
+1. Create private key
+```
+openssl genrsa -out private.pem 2048
+```
+2. Create public key
+```
+openssl rsa -in private -pubout -out public.pem
+```
+
+Configure the key paths in the config files
+
+```Json
+"RSAKeys": {
+ "PrivateKeyPath": "",
+ "PublicKeyPath": ""
+}
+```
+
### API filesystem paths
For the purposes of properly uploading, downloading, updating, deleting, and streaming songs the API filesystem paths must be configured. What is meant by this is that the `RootMusicPath` directory where all music will be stored must exist as well as the `ArchivePath` and `TemporaryMusicPath` paths. An example on a Linux system: