Opc.Ua.UserNameIdentityToken.Encrypt C# (CSharp) Method

Encrypt() public method

Encrypts the DecryptedPassword using the EncryptionAlgorithm and places the result in Password
public Encrypt ( X509Certificate2 certificate, byte senderNonce, string securityPolicyUri ) : void
certificate System.Security.Cryptography.X509Certificates.X509Certificate2
senderNonce byte
securityPolicyUri string
return void
        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; 
        }
                
UserNameIdentityToken