+9
-1
@@ -1865,7 +1865,15 @@ CK_DEFINE_FUNCTION(CK_RV, C_Sign)(
|
|||||||
|
|
||||||
if (pSignature == NULL_PTR) {
|
if (pSignature == NULL_PTR) {
|
||||||
// Just return the size of the signature
|
// Just return the size of the signature
|
||||||
*pulSignatureLen = op_info.op.sign.key_len / 8 * 2 + 32; // Approximate the size of the signature. Specs agree with this.
|
if (is_RSA_mechanism(op_info.mechanism.mechanism)) {
|
||||||
|
// RSA
|
||||||
|
*pulSignatureLen = (op_info.op.sign.key_len + 7) / 8;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// ECDSA
|
||||||
|
*pulSignatureLen = ((op_info.op.sign.key_len + 7) / 8) * 2;
|
||||||
|
}
|
||||||
|
|
||||||
DBG("The size of the signature will be %lu", *pulSignatureLen);
|
DBG("The size of the signature will be %lu", *pulSignatureLen);
|
||||||
|
|
||||||
DOUT;
|
DOUT;
|
||||||
|
|||||||
Reference in New Issue
Block a user