public MTSession(ILogger <MTSession> logger, ServerOptions options, IMTServiceProvider serviceProvider) { this.logger = logger; this.options = options; this.serverKey = options.ServerKey; this.Services = serviceProvider; this.messageQueue = new SessionMessageQueue(this); this.userManager = serviceProvider.GetService <IUserManager>(); this.ChatManager = serviceProvider.GetService <IChatManager>(); this.UpdateManager = serviceProvider.GetService <IUpdateManager>(); }
public static byte[] GetFingerPrint(IRSAKey key) { var p = GetPublicKeyParams(key.PrivatePem); var result = new List <Byte>(); var modo = BitConverter.ToString(p.Modulus).Replace("-", "").ToLower(); result.Add(254); result.Add(0); result.Add(1); result.Add(0); result.AddRange(p.Modulus); result.Add(3); result.AddRange(p.Exponent); var ret = SHA1.Create().ComputeHash(result.ToArray()) .Reverse() .Take(8) .ToArray(); return(ret.Reverse().ToArray()); }
public MTCryptoService(ILogger <MTCryptoService> logger, ServerOptions serverOptions) { this.logger = logger; this.serverOptions = serverOptions; this.ServerKey = this.serverOptions.ServerKey; }
public static byte[] Crypt(byte[] content, IRSAKey key) { return(BigInteger.ModPow(new BigInteger(content), key.Exponent, key.Modulus).ToByteArray()); }