public override void Encrypt(X509Certificate2 certificate, byte[] senderNonce, string securityPolicyUri)
{
if (m_decryptedPassword == null)
{
m_password = null;
return;
}
// handle no encryption.
if (String.IsNullOrEmpty(securityPolicyUri) || securityPolicyUri == SecurityPolicies.None)
{
m_password = new UTF8Encoding().GetBytes(m_decryptedPassword);
m_encryptionAlgorithm = null;
return;
}
// encrypt the password.
byte[] dataToEncrypt = Utils.Append(new UTF8Encoding().GetBytes(m_decryptedPassword), senderNonce);
EncryptedData encryptedData = SecurityPolicies.Encrypt(
certificate,
securityPolicyUri,
dataToEncrypt);
m_password = encryptedData.Data;
m_encryptionAlgorithm = encryptedData.Algorithm;
}