Esempio n. 1
0
        static async Task CreateKeypairIfNotExist()
        {
            string KeyPath = @"C:\Users\ethan\keypair";

            using DataContext db = new();
            if ((App.ActiveUser = db.Users.FirstOrDefault(x => x.Active)) != null)
            {
                return;
            }
            AsymmetricCipherKeyPair pair = CryptoService.GenerateKeypair(512);
            string key = CryptoService.ExportKeypair(pair, CryptoService.KeyType.Private);

            File.WriteAllText(KeyPath, key);
            key = CryptoService.ExportKeypair(pair, CryptoService.KeyType.Public);
            File.WriteAllText($"{KeyPath}.pub", key);
            ClientModels.Users.User user = await APIClient.v1.Users.Register(new ClientModels.Users.CreateModel
            {
                ExchangePem = key
            });

            Models.User createdUser = Models.User.FromBase(ref user);
            createdUser.Active  = true;
            createdUser.PEMPath = KeyPath;
            db.Users.Add(createdUser);
            await db.SaveChangesAsync();

            App.ActiveUser = createdUser;
        }
Esempio n. 2
0
 public static User FromBase(ref ClientModels.Users.User b) => JsonConvert.DeserializeObject <User>(JsonConvert.SerializeObject(b));