Print this page
9697 Add digest tests to crypto test framework


 382         CK_ULONG outlen = op->outlen - *encrlen;
 383         rv = C_DecryptUpdate(op->hsession, op->in + offset, op->updatelen,
 384             op->out + *encrlen, &outlen);
 385         if (rv != CKR_OK)
 386                 cryptotest_error("C_DecryptUpdate", rv);
 387 
 388         *encrlen += outlen;
 389         return (rv);
 390 }
 391 
 392 int
 393 decrypt_final(crypto_op_t *op, size_t encrlen)
 394 {
 395         CK_RV rv;
 396         CK_ULONG outlen = op->outlen - encrlen;
 397         rv = C_DecryptFinal(op->hsession, op->out + encrlen, &outlen);
 398         if (rv != CKR_OK)
 399                 cryptotest_error("C_DecryptFinal", rv);
 400         return (rv);
 401 }























































 382         CK_ULONG outlen = op->outlen - *encrlen;
 383         rv = C_DecryptUpdate(op->hsession, op->in + offset, op->updatelen,
 384             op->out + *encrlen, &outlen);
 385         if (rv != CKR_OK)
 386                 cryptotest_error("C_DecryptUpdate", rv);
 387 
 388         *encrlen += outlen;
 389         return (rv);
 390 }
 391 
 392 int
 393 decrypt_final(crypto_op_t *op, size_t encrlen)
 394 {
 395         CK_RV rv;
 396         CK_ULONG outlen = op->outlen - encrlen;
 397         rv = C_DecryptFinal(op->hsession, op->out + encrlen, &outlen);
 398         if (rv != CKR_OK)
 399                 cryptotest_error("C_DecryptFinal", rv);
 400         return (rv);
 401 }
 402 
 403 /*
 404  * DIGEST_ functions
 405  */
 406 int
 407 digest_init(crypto_op_t *op)
 408 {
 409         CK_MECHANISM mech;
 410         CK_RV rv;
 411 
 412         mech.mechanism = op->mech;
 413         mech.pParameter = op->param;
 414         mech.ulParameterLen = op->paramlen;
 415 
 416         rv = C_DigestInit(op->hsession, &mech);
 417         if (rv != CKR_OK)
 418                 cryptotest_error("C_DigestInit", rv);
 419         return (rv);
 420 }
 421 
 422 int
 423 digest_single(crypto_op_t *op)
 424 {
 425         CK_RV rv;
 426 
 427         rv = C_Digest(op->hsession, op->in, op->inlen,
 428             op->out, (CK_ULONG_PTR)&op->outlen);
 429         if (rv != CKR_OK)
 430                 cryptotest_error("C_Digest", rv);
 431         return (rv);
 432 }
 433 
 434 int
 435 digest_update(crypto_op_t *op, int offset)
 436 {
 437         CK_RV rv;
 438 
 439         rv = C_DigestUpdate(op->hsession, op->in + offset, op->updatelen);
 440         if (rv != CKR_OK)
 441                 cryptotest_error("C_DigestUpdate", rv);
 442         return (rv);
 443 }
 444 
 445 int
 446 digest_final(crypto_op_t *op)
 447 {
 448         CK_RV rv;
 449 
 450         rv = C_DigestFinal(op->hsession, op->out, (CK_ULONG_PTR)&op->outlen);
 451         if (rv != CKR_OK)
 452                 cryptotest_error("C_DigestFinal", rv);
 453         return (rv);
 454 }