Esempio n. 1
0
        private static CredentialDetails GetCredentialDetails(GatewayPublicKey gatewayPublicKey, string userName, string Password)
        {
            // build credential object
            var credentialDetails = new CredentialDetails()
            {
                CredentialType      = "Basic",
                EncryptionAlgorithm = "RSA-OAEP",
                Credentials         = AsymmetricKeyEncryptionHelper.EncodeCredentials(userName, Password, gatewayPublicKey),
                EncryptedConnection = "Encrypted",
                PrivacyLevel        = "None"
            };

            return(credentialDetails);
        }
Esempio n. 2
0
        public static string EncodeCredentials(string userName, string password, GatewayPublicKey publicKey)
        {
            // using json serializer to handle escape characters in username and password
            var plainText = string.Format("{{\"credentialData\":[{{\"value\":{0},\"name\":\"username\"}},{{\"value\":{1},\"name\":\"password\"}}]}}", JsonConvert.SerializeObject(userName), JsonConvert.SerializeObject(password));

            using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(EncryptedLength * 8))
            {
                var parameters = rsa.ExportParameters(false);
                parameters.Exponent = Convert.FromBase64String(publicKey.Exponent);
                parameters.Modulus  = Convert.FromBase64String(publicKey.Modulus);
                rsa.ImportParameters(parameters);
                return(Encrypt(plainText, rsa));
            }
        }
        public AsymmetricKeyEncryptor(GatewayPublicKey publicKey)
        {
            if (publicKey == null)
            {
                throw new ArgumentNullException("publicKey");
            }

            if (string.IsNullOrEmpty(publicKey.Exponent))
            {
                throw new ArgumentNullException("publicKey.Exponent");
            }

            if (string.IsNullOrEmpty(publicKey.Modulus))
            {
                throw new ArgumentNullException("publicKey.Modulus");
            }

            this.publicKey = publicKey;
        }