Exemplo n.º 1
0
        public async Task <bool> Pair()
        {
            // Generate salt for hashing the pin
            byte[] salt = CryptoProvider.GenerateRandomBytes(16);

            // Combine sal and pin and generate aes key from them
            string pin = CryptoProvider.GeneratePin();

            byte[]       saltedPin = CryptoProvider.SaltPin(salt, pin);
            KeyParameter aesKey    = CryptoProvider.GenerateAesKey(EnhancedSecurity, saltedPin);

            // Send the salt and get server cert. This doesn't have read timeout
            // because the user must enter the PIN before the server responds
            NvPair getServerCertResponse = await NvHttp.GetServerCert(salt, CryptoProvider.GetCertificatePem());
        }