Lines Matching refs:psm2ctx
50 PROV_SM2_CTX *psm2ctx = OPENSSL_zalloc(sizeof(PROV_SM2_CTX));
52 if (psm2ctx == NULL)
54 psm2ctx->libctx = PROV_LIBCTX_OF(provctx);
56 return psm2ctx;
61 PROV_SM2_CTX *psm2ctx = (PROV_SM2_CTX *)vpsm2ctx;
63 if (psm2ctx == NULL || vkey == NULL || !EC_KEY_up_ref(vkey))
65 EC_KEY_free(psm2ctx->key);
66 psm2ctx->key = vkey;
68 return sm2_set_ctx_params(psm2ctx, params);
71 static const EVP_MD *sm2_get_md(PROV_SM2_CTX *psm2ctx)
73 const EVP_MD *md = ossl_prov_digest_md(&psm2ctx->md);
76 md = ossl_prov_digest_fetch(&psm2ctx->md, psm2ctx->libctx, "SM3", NULL);
85 PROV_SM2_CTX *psm2ctx = (PROV_SM2_CTX *)vpsm2ctx;
86 const EVP_MD *md = sm2_get_md(psm2ctx);
92 if (!ossl_sm2_ciphertext_size(psm2ctx->key, md, inlen, outlen)) {
99 return ossl_sm2_encrypt(psm2ctx->key, md, in, inlen, out, outlen);
106 PROV_SM2_CTX *psm2ctx = (PROV_SM2_CTX *)vpsm2ctx;
107 const EVP_MD *md = sm2_get_md(psm2ctx);
118 return ossl_sm2_decrypt(psm2ctx->key, md, in, inlen, out, outlen);
123 PROV_SM2_CTX *psm2ctx = (PROV_SM2_CTX *)vpsm2ctx;
125 EC_KEY_free(psm2ctx->key);
126 ossl_prov_digest_reset(&psm2ctx->md);
128 OPENSSL_free(psm2ctx);
158 PROV_SM2_CTX *psm2ctx = (PROV_SM2_CTX *)vpsm2ctx;
166 const EVP_MD *md = ossl_prov_digest_md(&psm2ctx->md);
189 PROV_SM2_CTX *psm2ctx = (PROV_SM2_CTX *)vpsm2ctx;
191 if (psm2ctx == NULL)
196 if (!ossl_prov_digest_load_from_params(&psm2ctx->md, params,
197 psm2ctx->libctx))