Exemplo n.º 1
0
 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());
        }
Exemplo n.º 3
0
 public MTCryptoService(ILogger <MTCryptoService> logger, ServerOptions serverOptions)
 {
     this.logger        = logger;
     this.serverOptions = serverOptions;
     this.ServerKey     = this.serverOptions.ServerKey;
 }
Exemplo n.º 4
0
 public static byte[] Crypt(byte[] content, IRSAKey key)
 {
     return(BigInteger.ModPow(new BigInteger(content), key.Exponent, key.Modulus).ToByteArray());
 }