/// <summary> /// Generates a 128-156 character passphrase, encrypts it using an RSA key, /// stores the passphrase in the potential Cluster Client's name, and then /// sends it to the potential Cluster Client. /// </summary> /// <param name="server">The server to run this on.</param> /// <param name="toClient">The client to send the passphrase to.</param> /// <param name="keyName">The name of the key to use.</param> internal static void Passphrase(this MasterServer server, int toClient, string keyName) { // If the key doesn't exists... if (!RSAManager.KeyExists(keyName)) { // ...do absolutely nothing. Just stay silent return; } // ...otherwise, serve a passphrase. string passphrase = PassphraseGenerator.GeneratePassphrase(); AESManager.EncryptedData data = AESManager.Encrypt(keyName, passphrase); server.clients[toClient].name = passphrase; // Set the client name to the passphrase to store it. using (Packet packet = new Packet((int)ServerPackets.passphrase)) { packet.Write(keyName); packet.Write(Convert.ToBase64String(data.cypher)); packet.Write(Convert.ToBase64String(data.iv)); server.SendTcpData(toClient, packet); } }
public void InstallServices(IServiceCollection services, IConfiguration configuration) { RSAManager rSAManager = RSAManager.GetInstance; services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(x => { x.RequireHttpsMetadata = true; x.SaveToken = true; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = rSAManager.Key, ValidateIssuer = true, ValidateAudience = false, ValidateLifetime = true, ValidIssuer = configuration["Jwt:Issuer"], ClockSkew = TimeSpan.Zero }; }); }
public ClusterClient(string _ip = "127.0.0.1", ushort _port = 6256) : base(_ip, _port) { name = "Test Name"; // TODO: Load from config. string keyName = name.Replace(" ", ""); // TODO: Replace with config name. #region RSA Loading & Generation RSAManager.LoadKey(keyName, RSAManager.KeyType.PrivateKey); // Load all private keys. // If the requested key doesn't exist, create it. if (!RSAManager.KeyExists(keyName, RSAManager.KeyType.PrivateKey)) { RSAManager.GenerateKeyPair(keyName); } #endregion #region AES Loading & Generation AESManager.LoadKey(keyName); // If the requested key doesn't exist, create it. if (!AESManager.KeyExists(keyName)) { AESManager.GenerateKey(keyName); } #endregion onConnected.Run += () => this.ValidateCluster(keyName); }
private void HandleHelloConnectMessage(HelloConnectMessage message) { sbyte[] encrypted = Array.ConvertAll(RSAManager.Encrypt(message.key, message.salt, client.Account.Name, client.Account.Password), (a) => (sbyte)a); VersionExtended DofusVersion = new VersionExtended(2, 16, 0, 78510, 3, 0, 0, 0); IdentificationMessage idenficationMessage = new IdentificationMessage(false, false, false, DofusVersion, "fr", encrypted, 0, 0); client.Network.Send(idenficationMessage); }
public MasterServer(int _maxConnections = 0, ushort _port = 6256) : base(ServerType.MasterServer, _maxConnections, _port) { RSAManager.LoadPubKeys(); AESManager.LoadKeys(); InitializeData(); Start(ServerType.MasterServer); }
public string Post(ToEncrypt pToEncrypt) { if (this.ThereArePostError(pToEncrypt)) { return(new Microsoft.AspNetCore.Mvc.BadRequestResult().ToString()); } return (RSAManager.GetInstance().EncryptWithPublicKeyString(pToEncrypt.text, pToEncrypt.key).ToString()); }
private SecurityManager() { _oDAO = SecurityDAOPostgreImpl.GetInstance(); _oRSAManager = RSAManager.GetInstance(); _oSolidDataManager = SolidDataManager.GetInstance(); string[] oLinesArray; _oSolidDataManager.GetLinesArrayFromAFile(out oLinesArray); int.TryParse(oLinesArray[oLinesArray.Length - UtilsConstants._ONE], out _numberOfUsesOfActualKey); }
public UserDevice(UserData user) { rsaManager = new RSAManager(user.UserPubKey.RSAParameters, user.UserPrivKey.RSAParameters); aesManager = new AesManager(); DevicePublicKey = user.DevicePublicKey.RSAParameters; FilesList = user.Files; hmacManager = new HMACManager(user.UserSecretKey); GenerateNonce(); EncryptedSymmetricKey = user.EncryptedUserAesKey; Console.WriteLine($"From file: {user.EncryptedUserAesKey}"); }
static void Main(string[] args) { var settings = InfSecSettings.FromJsonFile("./appsettings.json"); var rsaManager = new RSAManager(settings); var dhManager = new DHManager(settings); var caesarManager = new CaesarManager(settings); var srpManager = new SRPManager(settings); //rsaManager.Execute(); //dhManager.Execute(); //caesarManager.Execute(); srpManager.Execute(); //ExecuteAll(settings); }
public ActionResult Index() { string key, iv; RijndaelManager.GenerateKeyAndIV(out key, out iv); string publicKey, privateKey; RSAManager.GenerateKeyAndIV(out publicKey, out privateKey); return(View(new SecurityKeyVM { Key = key, IV = iv, PublicKey = publicKey, PrivateKey = privateKey })); }
public UserDevice() { rsaManager = new RSAManager(); hmacManager = new HMACManager(); Nonce = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); }
private SolidDataManager() { _oRSAManager = RSAManager.GetInstance(); }