After calling C_EncryptInit, the application can either call C_Encrypt to encrypt data in a single part; or
call C_EncryptUpdate zero or more times, followed by C_EncryptFinal, to encrypt data in multiple parts.
The encryption operation is active until the application uses a call to C_Encrypt or C_EncryptFinal to
actually obtain the final piece of ciphertext.
In the implementation on SoftHSMv2C_EncryptUpdate call doesn't finish the encryption operation. So C_EncryptFinal must be called for a further cryptographic operation.
Instead of this, the C_Encrypt method can be used in the DecryptUpdateErrors test case. And this solves the problem.
According to the latest PKCS#11 Standard;
In the implementation on SoftHSMv2
C_EncryptUpdate
call doesn't finish the encryption operation. SoC_EncryptFinal
must be called for a further cryptographic operation.Instead of this, the
C_Encrypt
method can be used in the DecryptUpdateErrors test case. And this solves the problem.