google / pkcs11test

PKCS#11 Test Suite
Apache License 2.0
75 stars 51 forks source link

Use C_Encrypt Instead of C_EncryptUpdate #41

Closed ondergormez closed 3 years ago

ondergormez commented 3 years ago

According to the latest PKCS#11 Standard;

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 SoftHSMv2 C_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 DecryptFinalErrors1 and DecryptFinalErrors2 test case. And this solves the problem.

google-cla[bot] commented 3 years ago

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. In order to pass this check, please resolve this problem and then comment @googlebot I fixed it.. If the bot doesn't comment, it means it doesn't think anything has changed.

ℹ️ Googlers: Go here for more info.

ondergormez commented 3 years ago

Same problem with the #38