Lines Matching refs:ctx

66 #define	PROV_SHA2_CTX(ctx)	((sha2_ctx_t *)(ctx)->cc_provider_private)
67 #define PROV_SHA2_HMAC_CTX(ctx) ((sha2_hmac_ctx_t *)(ctx)->cc_provider_private)
80 #define PROV_SHA2_DIGEST_KEY(mech, ctx, key, len, digest) { \
81 SHA2Init(mech, ctx); \
82 SHA2Update(ctx, key, len); \
83 SHA2Final(digest, ctx); \
264 sha2_digest_init(crypto_ctx_t *ctx, crypto_mechanism_t *mechanism,
271 ctx->cc_provider_private = kmem_alloc(sizeof (sha2_ctx_t),
273 if (ctx->cc_provider_private == NULL)
276 PROV_SHA2_CTX(ctx)->sc_mech_type = mechanism->cm_type;
277 SHA2Init(mechanism->cm_type, &PROV_SHA2_CTX(ctx)->sc_sha2_ctx);
578 sha2_digest(crypto_ctx_t *ctx, crypto_data_t *data, crypto_data_t *digest,
584 ASSERT(ctx->cc_provider_private != NULL);
586 switch (PROV_SHA2_CTX(ctx)->sc_mech_type) {
615 SHA2Update(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
620 ret = sha2_digest_update_uio(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
624 ret = sha2_digest_update_mblk(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
633 kmem_free(ctx->cc_provider_private, sizeof (sha2_ctx_t));
634 ctx->cc_provider_private = NULL;
646 digest->cd_offset, &PROV_SHA2_CTX(ctx)->sc_sha2_ctx);
649 ret = sha2_digest_final_uio(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
653 ret = sha2_digest_final_mblk(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
667 kmem_free(ctx->cc_provider_private, sizeof (sha2_ctx_t));
668 ctx->cc_provider_private = NULL;
674 sha2_digest_update(crypto_ctx_t *ctx, crypto_data_t *data,
679 ASSERT(ctx->cc_provider_private != NULL);
686 SHA2Update(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
691 ret = sha2_digest_update_uio(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
695 ret = sha2_digest_update_mblk(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
707 sha2_digest_final(crypto_ctx_t *ctx, crypto_data_t *digest,
713 ASSERT(ctx->cc_provider_private != NULL);
715 switch (PROV_SHA2_CTX(ctx)->sc_mech_type) {
745 digest->cd_offset, &PROV_SHA2_CTX(ctx)->sc_sha2_ctx);
748 ret = sha2_digest_final_uio(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
752 ret = sha2_digest_final_mblk(&PROV_SHA2_CTX(ctx)->sc_sha2_ctx,
766 kmem_free(ctx->cc_provider_private, sizeof (sha2_ctx_t));
767 ctx->cc_provider_private = NULL;
876 sha2_mac_init_ctx(sha2_hmac_ctx_t *ctx, void *keyval, uint_t length_in_bytes)
883 if (ctx->hc_mech_type <= SHA256_HMAC_GEN_MECH_INFO_TYPE) {
903 SHA2Init(ctx->hc_mech_type, &ctx->hc_icontext);
904 SHA2Update(&ctx->hc_icontext, (uint8_t *)ipad, block_size);
907 SHA2Init(ctx->hc_mech_type, &ctx->hc_ocontext);
908 SHA2Update(&ctx->hc_ocontext, (uint8_t *)opad, block_size);
915 sha2_mac_init(crypto_ctx_t *ctx, crypto_mechanism_t *mechanism,
947 ctx->cc_provider_private = kmem_alloc(sizeof (sha2_hmac_ctx_t),
949 if (ctx->cc_provider_private == NULL)
952 PROV_SHA2_HMAC_CTX(ctx)->hc_mech_type = mechanism->cm_type;
955 bcopy(ctx_template, PROV_SHA2_HMAC_CTX(ctx),
961 sha2_hmac_ctx_t *hmac_ctx = ctx->cc_provider_private;
971 sha2_mac_init_ctx(PROV_SHA2_HMAC_CTX(ctx),
974 sha2_mac_init_ctx(PROV_SHA2_HMAC_CTX(ctx),
987 PROV_SHA2_HMAC_CTX(ctx)->hc_digest_len);
988 if (PROV_SHA2_HMAC_CTX(ctx)->hc_digest_len > sha_digest_len)
993 bzero(ctx->cc_provider_private, sizeof (sha2_hmac_ctx_t));
994 kmem_free(ctx->cc_provider_private, sizeof (sha2_hmac_ctx_t));
995 ctx->cc_provider_private = NULL;
1003 sha2_mac_update(crypto_ctx_t *ctx, crypto_data_t *data,
1008 ASSERT(ctx->cc_provider_private != NULL);
1016 SHA2Update(&PROV_SHA2_HMAC_CTX(ctx)->hc_icontext,
1022 &PROV_SHA2_HMAC_CTX(ctx)->hc_icontext, data);
1026 &PROV_SHA2_HMAC_CTX(ctx)->hc_icontext, data);
1037 sha2_mac_final(crypto_ctx_t *ctx, crypto_data_t *mac, crypto_req_handle_t req)
1043 ASSERT(ctx->cc_provider_private != NULL);
1046 switch (PROV_SHA2_HMAC_CTX(ctx)->hc_mech_type) {
1058 digest_len = PROV_SHA2_HMAC_CTX(ctx)->hc_digest_len;
1063 digest_len = PROV_SHA2_HMAC_CTX(ctx)->hc_digest_len;
1079 SHA2Final(digest, &PROV_SHA2_HMAC_CTX(ctx)->hc_icontext);
1085 SHA2Update(&PROV_SHA2_HMAC_CTX(ctx)->hc_ocontext, digest,
1101 &PROV_SHA2_HMAC_CTX(ctx)->hc_ocontext);
1107 &PROV_SHA2_HMAC_CTX(ctx)->hc_ocontext);
1112 &PROV_SHA2_HMAC_CTX(ctx)->hc_ocontext, mac,
1117 &PROV_SHA2_HMAC_CTX(ctx)->hc_ocontext, mac,
1129 bzero(ctx->cc_provider_private, sizeof (sha2_hmac_ctx_t));
1130 kmem_free(ctx->cc_provider_private, sizeof (sha2_hmac_ctx_t));
1131 ctx->cc_provider_private = NULL;
1136 #define SHA2_MAC_UPDATE(data, ctx, ret) { \
1139 SHA2Update(&(ctx).hc_icontext, \
1144 ret = sha2_digest_update_uio(&(ctx).hc_icontext, data); \
1147 ret = sha2_digest_update_mblk(&(ctx).hc_icontext, \
1588 sha2_free_context(crypto_ctx_t *ctx)
1592 if (ctx->cc_provider_private == NULL)
1602 if (PROV_SHA2_CTX(ctx)->sc_mech_type % 3 == 0)
1607 bzero(ctx->cc_provider_private, ctx_len);
1608 kmem_free(ctx->cc_provider_private, ctx_len);
1609 ctx->cc_provider_private = NULL;