crypto/heimdal/kadmin/rpc.c
1024
if (!gctx.done) {
crypto/heimdal/kadmin/rpc.c
1037
uint32_t seqnum = htonl(gctx.seq_num);
crypto/heimdal/kadmin/rpc.c
1043
maj_stat = gss_get_mic(&min_stat, gctx.ctx, 0, &gin, &gout);
crypto/heimdal/kadmin/rpc.c
1057
if (gctx.inprogress) {
crypto/heimdal/kadmin/rpc.c
1059
gctx.inprogress = 0;
crypto/heimdal/kadmin/rpc.c
1069
maj_stat = gss_wrap(&min_stat, gctx.ctx, 1, 0,
crypto/heimdal/kadmin/rpc.c
756
struct gctx gctx;
crypto/heimdal/kadmin/rpc.c
759
memset(&gctx, 0, sizeof(gctx));
crypto/heimdal/kadmin/rpc.c
862
if (gctx.done) {
crypto/heimdal/kadmin/rpc.c
871
maj_stat = gss_verify_mic(&min_stat, gctx.ctx, &gin, &gout, NULL);
crypto/heimdal/kadmin/rpc.c
884
INSIST(gctx.done);
crypto/heimdal/kadmin/rpc.c
886
INSIST(krb5_data_cmp(&gcred.handle, &gctx.handle) == 0);
crypto/heimdal/kadmin/rpc.c
893
maj_stat = gss_unwrap(&min_stat, gctx.ctx, &gin, &gout,
crypto/heimdal/kadmin/rpc.c
908
INSIST(seq > gctx.seq_num);
crypto/heimdal/kadmin/rpc.c
909
gctx.seq_num = seq;
crypto/heimdal/kadmin/rpc.c
916
CHECK(krb5_store_uint32(dreply, gctx.seq_num));
crypto/heimdal/kadmin/rpc.c
934
INSIST(gctx.inprogress == 0);
crypto/heimdal/kadmin/rpc.c
935
INSIST(gctx.ctx == NULL);
crypto/heimdal/kadmin/rpc.c
937
gctx.inprogress = 1;
crypto/heimdal/kadmin/rpc.c
943
INSIST(gctx.inprogress);
crypto/heimdal/kadmin/rpc.c
953
&gctx.ctx,
crypto/heimdal/kadmin/rpc.c
972
gctx.done = 1;
crypto/heimdal/kadmin/rpc.c
996
INSIST(gctx.ctx != GSS_C_NO_CONTEXT);
crypto/heimdal/kadmin/rpc.c
999
CHECK(store_gss_init_res(dreply, gctx.handle,
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
176
krb5_gss_ctx_id_rec * gctx,
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
193
lctx->initiate = gctx->initiate ? 1 : 0;
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
194
lctx->endtime = gctx->krb_times.endtime;
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
195
lctx->send_seq = gctx->seq_send;
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
196
lctx->recv_seq = gctx->seq_recv;
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
197
lctx->protocol = gctx->proto;
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
200
if (gctx->proto == 0) {
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
201
lctx->rfc1964_kd.sign_alg = gctx->signalg;
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
202
lctx->rfc1964_kd.seal_alg = gctx->sealalg;
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
204
if ((retval = copy_keyblock_to_lucid_key(&gctx->seq->keyblock,
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
208
else if (gctx->proto == 1) {
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
212
if ((retval = copy_keyblock_to_lucid_key(&gctx->subkey->keyblock,
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
215
if (gctx->have_acceptor_subkey) {
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
216
if ((retval = copy_keyblock_to_lucid_key(&gctx->acceptor_subkey->keyblock,
crypto/krb5/src/lib/gssapi/krb5/lucid_context.c
50
krb5_gss_ctx_id_rec * gctx,
crypto/openssl/apps/req.c
1521
EVP_PKEY_CTX *gctx = NULL;
crypto/openssl/apps/req.c
1636
gctx = EVP_PKEY_CTX_new(param, keygen_engine);
crypto/openssl/apps/req.c
1638
gctx = EVP_PKEY_CTX_new_from_pkey(app_get0_libctx(),
crypto/openssl/apps/req.c
1648
gctx = EVP_PKEY_CTX_new_id(pkey_id, keygen_engine);
crypto/openssl/apps/req.c
1650
gctx = EVP_PKEY_CTX_new_from_name(app_get0_libctx(),
crypto/openssl/apps/req.c
1655
if (gctx == NULL) {
crypto/openssl/apps/req.c
1660
if (EVP_PKEY_keygen_init(gctx) <= 0) {
crypto/openssl/apps/req.c
1662
EVP_PKEY_CTX_free(gctx);
crypto/openssl/apps/req.c
1665
if (keylen == -1 && (EVP_PKEY_CTX_is_a(gctx, "RSA") || EVP_PKEY_CTX_is_a(gctx, "RSA-PSS")))
crypto/openssl/apps/req.c
1673
if (EVP_PKEY_CTX_set_params(gctx, params) <= 0) {
crypto/openssl/apps/req.c
1675
EVP_PKEY_CTX_free(gctx);
crypto/openssl/apps/req.c
1680
return gctx;
crypto/openssl/crypto/evp/e_aes.c
139
#define AES_GCM_ASM2(gctx) (gctx->gcm.block == (block128_f)aesni_encrypt && gctx->gcm.ghash == gcm_ghash_avx)
crypto/openssl/crypto/evp/e_aes.c
1446
S390X_AES_GCM_CTX *gctx = EVP_C_DATA(S390X_AES_GCM_CTX, c);
crypto/openssl/crypto/evp/e_aes.c
1455
gctx->key_set = 0;
crypto/openssl/crypto/evp/e_aes.c
1456
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aes.c
1457
gctx->ivlen = ivlen;
crypto/openssl/crypto/evp/e_aes.c
1458
gctx->iv = c->iv;
crypto/openssl/crypto/evp/e_aes.c
1459
gctx->taglen = -1;
crypto/openssl/crypto/evp/e_aes.c
1460
gctx->iv_gen = 0;
crypto/openssl/crypto/evp/e_aes.c
1461
gctx->tls_aad_len = -1;
crypto/openssl/crypto/evp/e_aes.c
1465
*(int *)ptr = gctx->ivlen;
crypto/openssl/crypto/evp/e_aes.c
1476
if (gctx->ivlen == 12 || len > S390X_gcm_ivpadlen(gctx->ivlen)) {
crypto/openssl/crypto/evp/e_aes.c
1477
if (gctx->iv != c->iv)
crypto/openssl/crypto/evp/e_aes.c
1478
OPENSSL_free(gctx->iv);
crypto/openssl/crypto/evp/e_aes.c
1480
if ((gctx->iv = OPENSSL_malloc(len)) == NULL)
crypto/openssl/crypto/evp/e_aes.c
1484
memset(gctx->iv + arg, 0, len - arg - 8);
crypto/openssl/crypto/evp/e_aes.c
1485
*((unsigned long long *)(gctx->iv + len - 8)) = arg << 3;
crypto/openssl/crypto/evp/e_aes.c
1487
gctx->ivlen = arg;
crypto/openssl/crypto/evp/e_aes.c
1497
gctx->taglen = arg;
crypto/openssl/crypto/evp/e_aes.c
1502
if (arg <= 0 || arg > 16 || !enc || gctx->taglen < 0)
crypto/openssl/crypto/evp/e_aes.c
1505
memcpy(ptr, gctx->kma.param.t.b, arg);
crypto/openssl/crypto/evp/e_aes.c
1511
memcpy(gctx->iv, ptr, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
1512
gctx->iv_gen = 1;
crypto/openssl/crypto/evp/e_aes.c
1519
if ((arg < 4) || (gctx->ivlen - arg) < 8)
crypto/openssl/crypto/evp/e_aes.c
1523
memcpy(gctx->iv, ptr, arg);
crypto/openssl/crypto/evp/e_aes.c
1526
if (enc && RAND_bytes(gctx->iv + arg, gctx->ivlen - arg) <= 0)
crypto/openssl/crypto/evp/e_aes.c
1529
gctx->iv_gen = 1;
crypto/openssl/crypto/evp/e_aes.c
1533
if (gctx->iv_gen == 0 || gctx->key_set == 0)
crypto/openssl/crypto/evp/e_aes.c
1536
s390x_aes_gcm_setiv(gctx, gctx->iv);
crypto/openssl/crypto/evp/e_aes.c
1538
if (arg <= 0 || arg > gctx->ivlen)
crypto/openssl/crypto/evp/e_aes.c
1539
arg = gctx->ivlen;
crypto/openssl/crypto/evp/e_aes.c
1541
memcpy(ptr, gctx->iv + gctx->ivlen - arg, arg);
crypto/openssl/crypto/evp/e_aes.c
1546
ctr64_inc(gctx->iv + gctx->ivlen - 8);
crypto/openssl/crypto/evp/e_aes.c
1547
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
1552
if (gctx->iv_gen == 0 || gctx->key_set == 0 || enc)
crypto/openssl/crypto/evp/e_aes.c
1555
memcpy(gctx->iv + gctx->ivlen - arg, ptr, arg);
crypto/openssl/crypto/evp/e_aes.c
1556
s390x_aes_gcm_setiv(gctx, gctx->iv);
crypto/openssl/crypto/evp/e_aes.c
1557
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
1567
gctx->tls_aad_len = arg;
crypto/openssl/crypto/evp/e_aes.c
1568
gctx->tls_enc_records = 0;
crypto/openssl/crypto/evp/e_aes.c
1592
if (gctx->iv == c->iv) {
crypto/openssl/crypto/evp/e_aes.c
1595
len = S390X_gcm_ivpadlen(gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
1600
memcpy(gctx_out->iv, gctx->iv, len);
crypto/openssl/crypto/evp/e_aes.c
1616
S390X_AES_GCM_CTX *gctx = EVP_C_DATA(S390X_AES_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aes.c
1629
memcpy(&gctx->kma.param.k, key, keylen);
crypto/openssl/crypto/evp/e_aes.c
1631
gctx->fc = S390X_AES_FC(keylen);
crypto/openssl/crypto/evp/e_aes.c
1633
gctx->fc |= S390X_DECRYPT;
crypto/openssl/crypto/evp/e_aes.c
1635
if (iv == NULL && gctx->iv_set)
crypto/openssl/crypto/evp/e_aes.c
1636
iv = gctx->iv;
crypto/openssl/crypto/evp/e_aes.c
1639
s390x_aes_gcm_setiv(gctx, iv);
crypto/openssl/crypto/evp/e_aes.c
1640
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
1642
gctx->key_set = 1;
crypto/openssl/crypto/evp/e_aes.c
1644
if (gctx->key_set)
crypto/openssl/crypto/evp/e_aes.c
1645
s390x_aes_gcm_setiv(gctx, iv);
crypto/openssl/crypto/evp/e_aes.c
1647
memcpy(gctx->iv, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
1649
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
1650
gctx->iv_gen = 0;
crypto/openssl/crypto/evp/e_aes.c
1662
S390X_AES_GCM_CTX *gctx = EVP_C_DATA(S390X_AES_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aes.c
1676
if (enc && ++gctx->tls_enc_records == 0) {
crypto/openssl/crypto/evp/e_aes.c
1690
gctx->kma.param.taadl = gctx->tls_aad_len << 3;
crypto/openssl/crypto/evp/e_aes.c
1691
gctx->kma.param.tpcl = len << 3;
crypto/openssl/crypto/evp/e_aes.c
1692
s390x_kma(buf, gctx->tls_aad_len, in, len, out,
crypto/openssl/crypto/evp/e_aes.c
1693
gctx->fc | S390X_KMA_LAAD | S390X_KMA_LPC, &gctx->kma.param);
crypto/openssl/crypto/evp/e_aes.c
1696
memcpy(out + len, gctx->kma.param.t.b, EVP_GCM_TLS_TAG_LEN);
crypto/openssl/crypto/evp/e_aes.c
1699
if (CRYPTO_memcmp(gctx->kma.param.t.b, in + len,
crypto/openssl/crypto/evp/e_aes.c
1707
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aes.c
1708
gctx->tls_aad_len = -1;
crypto/openssl/crypto/evp/e_aes.c
1721
S390X_AES_GCM_CTX *gctx = EVP_C_DATA(S390X_AES_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aes.c
1725
if (!gctx->key_set)
crypto/openssl/crypto/evp/e_aes.c
1728
if (gctx->tls_aad_len >= 0)
crypto/openssl/crypto/evp/e_aes.c
1731
if (!gctx->iv_set)
crypto/openssl/crypto/evp/e_aes.c
1736
if (s390x_aes_gcm_aad(gctx, in, len))
crypto/openssl/crypto/evp/e_aes.c
1739
if (s390x_aes_gcm(gctx, in, out, len))
crypto/openssl/crypto/evp/e_aes.c
1744
gctx->kma.param.taadl <<= 3;
crypto/openssl/crypto/evp/e_aes.c
1745
gctx->kma.param.tpcl <<= 3;
crypto/openssl/crypto/evp/e_aes.c
1746
s390x_kma(gctx->ares, gctx->areslen, gctx->mres, gctx->mreslen, tmp,
crypto/openssl/crypto/evp/e_aes.c
1747
gctx->fc | S390X_KMA_LAAD | S390X_KMA_LPC, &gctx->kma.param);
crypto/openssl/crypto/evp/e_aes.c
1750
OPENSSL_cleanse(tmp, gctx->mreslen);
crypto/openssl/crypto/evp/e_aes.c
1751
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aes.c
1755
gctx->taglen = 16;
crypto/openssl/crypto/evp/e_aes.c
1757
if (gctx->taglen < 0)
crypto/openssl/crypto/evp/e_aes.c
1761
if (CRYPTO_memcmp(buf, gctx->kma.param.t.b, gctx->taglen))
crypto/openssl/crypto/evp/e_aes.c
1770
S390X_AES_GCM_CTX *gctx = EVP_C_DATA(S390X_AES_GCM_CTX, c);
crypto/openssl/crypto/evp/e_aes.c
1772
if (gctx == NULL)
crypto/openssl/crypto/evp/e_aes.c
1775
if (gctx->iv != c->iv)
crypto/openssl/crypto/evp/e_aes.c
1776
OPENSSL_free(gctx->iv);
crypto/openssl/crypto/evp/e_aes.c
1778
OPENSSL_cleanse(gctx, sizeof(*gctx));
crypto/openssl/crypto/evp/e_aes.c
225
EVP_AES_GCM_CTX *gctx = EVP_C_DATA(EVP_AES_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aes.c
237
aesni_set_encrypt_key(key, keylen, &gctx->ks.ks);
crypto/openssl/crypto/evp/e_aes.c
238
CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks, (block128_f)aesni_encrypt);
crypto/openssl/crypto/evp/e_aes.c
239
gctx->ctr = (ctr128_f)aesni_ctr32_encrypt_blocks;
crypto/openssl/crypto/evp/e_aes.c
243
if (iv == NULL && gctx->iv_set)
crypto/openssl/crypto/evp/e_aes.c
244
iv = gctx->iv;
crypto/openssl/crypto/evp/e_aes.c
246
CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
247
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
249
gctx->key_set = 1;
crypto/openssl/crypto/evp/e_aes.c
252
if (gctx->key_set)
crypto/openssl/crypto/evp/e_aes.c
253
CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
255
memcpy(gctx->iv, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
256
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
257
gctx->iv_gen = 0;
crypto/openssl/crypto/evp/e_aes.c
2649
EVP_AES_GCM_CTX *gctx = EVP_C_DATA(EVP_AES_GCM_CTX, c);
crypto/openssl/crypto/evp/e_aes.c
2650
if (gctx == NULL)
crypto/openssl/crypto/evp/e_aes.c
2652
OPENSSL_cleanse(&gctx->gcm, sizeof(gctx->gcm));
crypto/openssl/crypto/evp/e_aes.c
2653
if (gctx->iv != c->iv)
crypto/openssl/crypto/evp/e_aes.c
2654
OPENSSL_free(gctx->iv);
crypto/openssl/crypto/evp/e_aes.c
2660
EVP_AES_GCM_CTX *gctx = EVP_C_DATA(EVP_AES_GCM_CTX, c);
crypto/openssl/crypto/evp/e_aes.c
2663
gctx->key_set = 0;
crypto/openssl/crypto/evp/e_aes.c
2664
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aes.c
2665
gctx->ivlen = EVP_CIPHER_get_iv_length(c->cipher);
crypto/openssl/crypto/evp/e_aes.c
2666
gctx->iv = c->iv;
crypto/openssl/crypto/evp/e_aes.c
2667
gctx->taglen = -1;
crypto/openssl/crypto/evp/e_aes.c
2668
gctx->iv_gen = 0;
crypto/openssl/crypto/evp/e_aes.c
2669
gctx->tls_aad_len = -1;
crypto/openssl/crypto/evp/e_aes.c
2673
*(int *)ptr = gctx->ivlen;
crypto/openssl/crypto/evp/e_aes.c
2680
if ((arg > EVP_MAX_IV_LENGTH) && (arg > gctx->ivlen)) {
crypto/openssl/crypto/evp/e_aes.c
2681
if (gctx->iv != c->iv)
crypto/openssl/crypto/evp/e_aes.c
2682
OPENSSL_free(gctx->iv);
crypto/openssl/crypto/evp/e_aes.c
2683
if ((gctx->iv = OPENSSL_malloc(arg)) == NULL)
crypto/openssl/crypto/evp/e_aes.c
2686
gctx->ivlen = arg;
crypto/openssl/crypto/evp/e_aes.c
2693
gctx->taglen = arg;
crypto/openssl/crypto/evp/e_aes.c
2698
|| gctx->taglen < 0)
crypto/openssl/crypto/evp/e_aes.c
2706
memcpy(gctx->iv, ptr, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
2707
gctx->iv_gen = 1;
crypto/openssl/crypto/evp/e_aes.c
2714
if ((arg < 4) || (gctx->ivlen - arg) < 8)
crypto/openssl/crypto/evp/e_aes.c
2717
memcpy(gctx->iv, ptr, arg);
crypto/openssl/crypto/evp/e_aes.c
2718
if (c->encrypt && RAND_bytes(gctx->iv + arg, gctx->ivlen - arg) <= 0)
crypto/openssl/crypto/evp/e_aes.c
2720
gctx->iv_gen = 1;
crypto/openssl/crypto/evp/e_aes.c
2724
if (gctx->iv_gen == 0 || gctx->key_set == 0)
crypto/openssl/crypto/evp/e_aes.c
2726
CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
2727
if (arg <= 0 || arg > gctx->ivlen)
crypto/openssl/crypto/evp/e_aes.c
2728
arg = gctx->ivlen;
crypto/openssl/crypto/evp/e_aes.c
2729
memcpy(ptr, gctx->iv + gctx->ivlen - arg, arg);
crypto/openssl/crypto/evp/e_aes.c
2734
ctr64_inc(gctx->iv + gctx->ivlen - 8);
crypto/openssl/crypto/evp/e_aes.c
2735
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
2739
if (gctx->iv_gen == 0 || gctx->key_set == 0 || c->encrypt)
crypto/openssl/crypto/evp/e_aes.c
2741
memcpy(gctx->iv + gctx->ivlen - arg, ptr, arg);
crypto/openssl/crypto/evp/e_aes.c
2742
CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
2743
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
2751
gctx->tls_aad_len = arg;
crypto/openssl/crypto/evp/e_aes.c
2752
gctx->tls_enc_records = 0;
crypto/openssl/crypto/evp/e_aes.c
2774
if (gctx->gcm.key) {
crypto/openssl/crypto/evp/e_aes.c
2775
if (gctx->gcm.key != &gctx->ks)
crypto/openssl/crypto/evp/e_aes.c
2779
if (gctx->iv == c->iv)
crypto/openssl/crypto/evp/e_aes.c
2782
if ((gctx_out->iv = OPENSSL_malloc(gctx->ivlen)) == NULL)
crypto/openssl/crypto/evp/e_aes.c
2784
memcpy(gctx_out->iv, gctx->iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
2797
EVP_AES_GCM_CTX *gctx = EVP_C_DATA(EVP_AES_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aes.c
2812
HWAES_set_encrypt_key(key, keylen, &gctx->ks.ks);
crypto/openssl/crypto/evp/e_aes.c
2813
CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks,
crypto/openssl/crypto/evp/e_aes.c
2816
gctx->ctr = (ctr128_f)HWAES_ctr32_encrypt_blocks;
crypto/openssl/crypto/evp/e_aes.c
2818
gctx->ctr = NULL;
crypto/openssl/crypto/evp/e_aes.c
2825
AES_set_encrypt_key(key, keylen, &gctx->ks.ks);
crypto/openssl/crypto/evp/e_aes.c
2826
CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks,
crypto/openssl/crypto/evp/e_aes.c
2828
gctx->ctr = (ctr128_f)ossl_bsaes_ctr32_encrypt_blocks;
crypto/openssl/crypto/evp/e_aes.c
2834
vpaes_set_encrypt_key(key, keylen, &gctx->ks.ks);
crypto/openssl/crypto/evp/e_aes.c
2835
CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks,
crypto/openssl/crypto/evp/e_aes.c
2837
gctx->ctr = NULL;
crypto/openssl/crypto/evp/e_aes.c
2843
AES_set_encrypt_key(key, keylen, &gctx->ks.ks);
crypto/openssl/crypto/evp/e_aes.c
2844
CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks,
crypto/openssl/crypto/evp/e_aes.c
2847
gctx->ctr = (ctr128_f)AES_ctr32_encrypt;
crypto/openssl/crypto/evp/e_aes.c
2849
gctx->ctr = NULL;
crypto/openssl/crypto/evp/e_aes.c
2856
if (iv == NULL && gctx->iv_set)
crypto/openssl/crypto/evp/e_aes.c
2857
iv = gctx->iv;
crypto/openssl/crypto/evp/e_aes.c
2859
CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
2860
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
2862
gctx->key_set = 1;
crypto/openssl/crypto/evp/e_aes.c
2865
if (gctx->key_set)
crypto/openssl/crypto/evp/e_aes.c
2866
CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
2868
memcpy(gctx->iv, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
2869
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
2870
gctx->iv_gen = 0;
crypto/openssl/crypto/evp/e_aes.c
2885
EVP_AES_GCM_CTX *gctx = EVP_C_DATA(EVP_AES_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aes.c
2898
if (EVP_CIPHER_CTX_is_encrypting(ctx) && ++gctx->tls_enc_records == 0) {
crypto/openssl/crypto/evp/e_aes.c
2913
if (CRYPTO_gcm128_aad(&gctx->gcm, EVP_CIPHER_CTX_buf_noconst(ctx),
crypto/openssl/crypto/evp/e_aes.c
2914
gctx->tls_aad_len))
crypto/openssl/crypto/evp/e_aes.c
2922
if (gctx->ctr) {
crypto/openssl/crypto/evp/e_aes.c
2925
if (len >= 32 && AES_GCM_ASM(gctx)) {
crypto/openssl/crypto/evp/e_aes.c
2926
if (CRYPTO_gcm128_encrypt(&gctx->gcm, NULL, NULL, 0))
crypto/openssl/crypto/evp/e_aes.c
2930
gctx->gcm.key,
crypto/openssl/crypto/evp/e_aes.c
2931
gctx->gcm.Yi.c, gctx->gcm.Xi.u);
crypto/openssl/crypto/evp/e_aes.c
2932
gctx->gcm.len.u[1] += bulk;
crypto/openssl/crypto/evp/e_aes.c
2935
if (CRYPTO_gcm128_encrypt_ctr32(&gctx->gcm,
crypto/openssl/crypto/evp/e_aes.c
2938
len - bulk, gctx->ctr))
crypto/openssl/crypto/evp/e_aes.c
2943
if (len >= 32 && AES_GCM_ASM2(gctx)) {
crypto/openssl/crypto/evp/e_aes.c
2944
if (CRYPTO_gcm128_encrypt(&gctx->gcm, NULL, NULL, 0))
crypto/openssl/crypto/evp/e_aes.c
2948
gctx->gcm.key,
crypto/openssl/crypto/evp/e_aes.c
2949
gctx->gcm.Yi.c, gctx->gcm.Xi.u);
crypto/openssl/crypto/evp/e_aes.c
2950
gctx->gcm.len.u[1] += bulk;
crypto/openssl/crypto/evp/e_aes.c
2953
if (CRYPTO_gcm128_encrypt(&gctx->gcm,
crypto/openssl/crypto/evp/e_aes.c
2959
CRYPTO_gcm128_tag(&gctx->gcm, out, EVP_GCM_TLS_TAG_LEN);
crypto/openssl/crypto/evp/e_aes.c
2963
if (gctx->ctr) {
crypto/openssl/crypto/evp/e_aes.c
2966
if (len >= 16 && AES_GCM_ASM(gctx)) {
crypto/openssl/crypto/evp/e_aes.c
2967
if (CRYPTO_gcm128_decrypt(&gctx->gcm, NULL, NULL, 0))
crypto/openssl/crypto/evp/e_aes.c
2971
gctx->gcm.key,
crypto/openssl/crypto/evp/e_aes.c
2972
gctx->gcm.Yi.c, gctx->gcm.Xi.u);
crypto/openssl/crypto/evp/e_aes.c
2973
gctx->gcm.len.u[1] += bulk;
crypto/openssl/crypto/evp/e_aes.c
2976
if (CRYPTO_gcm128_decrypt_ctr32(&gctx->gcm,
crypto/openssl/crypto/evp/e_aes.c
2979
len - bulk, gctx->ctr))
crypto/openssl/crypto/evp/e_aes.c
2984
if (len >= 16 && AES_GCM_ASM2(gctx)) {
crypto/openssl/crypto/evp/e_aes.c
2985
if (CRYPTO_gcm128_decrypt(&gctx->gcm, NULL, NULL, 0))
crypto/openssl/crypto/evp/e_aes.c
2989
gctx->gcm.key,
crypto/openssl/crypto/evp/e_aes.c
2990
gctx->gcm.Yi.c, gctx->gcm.Xi.u);
crypto/openssl/crypto/evp/e_aes.c
2991
gctx->gcm.len.u[1] += bulk;
crypto/openssl/crypto/evp/e_aes.c
2994
if (CRYPTO_gcm128_decrypt(&gctx->gcm,
crypto/openssl/crypto/evp/e_aes.c
2999
CRYPTO_gcm128_tag(&gctx->gcm, EVP_CIPHER_CTX_buf_noconst(ctx),
crypto/openssl/crypto/evp/e_aes.c
3011
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aes.c
3012
gctx->tls_aad_len = -1;
crypto/openssl/crypto/evp/e_aes.c
3025
static int aes_gcm_iv_generate(EVP_AES_GCM_CTX *gctx, int offset)
crypto/openssl/crypto/evp/e_aes.c
3027
int sz = gctx->ivlen - offset;
crypto/openssl/crypto/evp/e_aes.c
3030
if (sz <= 0 || gctx->ivlen < 12)
crypto/openssl/crypto/evp/e_aes.c
3034
if (RAND_bytes(gctx->iv + offset, sz) <= 0)
crypto/openssl/crypto/evp/e_aes.c
3043
EVP_AES_GCM_CTX *gctx = EVP_C_DATA(EVP_AES_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aes.c
3046
if (!gctx->key_set)
crypto/openssl/crypto/evp/e_aes.c
3049
if (gctx->tls_aad_len >= 0)
crypto/openssl/crypto/evp/e_aes.c
3059
if (!gctx->iv_set) {
crypto/openssl/crypto/evp/e_aes.c
3060
if (!EVP_CIPHER_CTX_is_encrypting(ctx) || !aes_gcm_iv_generate(gctx, 0))
crypto/openssl/crypto/evp/e_aes.c
3062
CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
3063
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
3064
gctx->iv_gen_rand = 1;
crypto/openssl/crypto/evp/e_aes.c
3067
if (!gctx->iv_set)
crypto/openssl/crypto/evp/e_aes.c
3073
if (CRYPTO_gcm128_aad(&gctx->gcm, in, len))
crypto/openssl/crypto/evp/e_aes.c
3076
if (gctx->ctr) {
crypto/openssl/crypto/evp/e_aes.c
3079
if (len >= 32 && AES_GCM_ASM(gctx)) {
crypto/openssl/crypto/evp/e_aes.c
3080
size_t res = (16 - gctx->gcm.mres) % 16;
crypto/openssl/crypto/evp/e_aes.c
3082
if (CRYPTO_gcm128_encrypt(&gctx->gcm, in, out, res))
crypto/openssl/crypto/evp/e_aes.c
3087
gctx->gcm.key, gctx->gcm.Yi.c,
crypto/openssl/crypto/evp/e_aes.c
3088
gctx->gcm.Xi.u);
crypto/openssl/crypto/evp/e_aes.c
3089
gctx->gcm.len.u[1] += bulk;
crypto/openssl/crypto/evp/e_aes.c
3093
if (CRYPTO_gcm128_encrypt_ctr32(&gctx->gcm,
crypto/openssl/crypto/evp/e_aes.c
3096
len - bulk, gctx->ctr))
crypto/openssl/crypto/evp/e_aes.c
3101
if (len >= 32 && AES_GCM_ASM2(gctx)) {
crypto/openssl/crypto/evp/e_aes.c
3102
size_t res = (16 - gctx->gcm.mres) % 16;
crypto/openssl/crypto/evp/e_aes.c
3104
if (CRYPTO_gcm128_encrypt(&gctx->gcm, in, out, res))
crypto/openssl/crypto/evp/e_aes.c
3109
gctx->gcm.key, gctx->gcm.Yi.c,
crypto/openssl/crypto/evp/e_aes.c
3110
gctx->gcm.Xi.u);
crypto/openssl/crypto/evp/e_aes.c
3111
gctx->gcm.len.u[1] += bulk;
crypto/openssl/crypto/evp/e_aes.c
3115
if (CRYPTO_gcm128_encrypt(&gctx->gcm,
crypto/openssl/crypto/evp/e_aes.c
3120
if (gctx->ctr) {
crypto/openssl/crypto/evp/e_aes.c
3123
if (len >= 16 && AES_GCM_ASM(gctx)) {
crypto/openssl/crypto/evp/e_aes.c
3124
size_t res = (16 - gctx->gcm.mres) % 16;
crypto/openssl/crypto/evp/e_aes.c
3126
if (CRYPTO_gcm128_decrypt(&gctx->gcm, in, out, res))
crypto/openssl/crypto/evp/e_aes.c
3131
gctx->gcm.key,
crypto/openssl/crypto/evp/e_aes.c
3132
gctx->gcm.Yi.c, gctx->gcm.Xi.u);
crypto/openssl/crypto/evp/e_aes.c
3133
gctx->gcm.len.u[1] += bulk;
crypto/openssl/crypto/evp/e_aes.c
3137
if (CRYPTO_gcm128_decrypt_ctr32(&gctx->gcm,
crypto/openssl/crypto/evp/e_aes.c
3140
len - bulk, gctx->ctr))
crypto/openssl/crypto/evp/e_aes.c
3145
if (len >= 16 && AES_GCM_ASM2(gctx)) {
crypto/openssl/crypto/evp/e_aes.c
3146
size_t res = (16 - gctx->gcm.mres) % 16;
crypto/openssl/crypto/evp/e_aes.c
3148
if (CRYPTO_gcm128_decrypt(&gctx->gcm, in, out, res))
crypto/openssl/crypto/evp/e_aes.c
3153
gctx->gcm.key,
crypto/openssl/crypto/evp/e_aes.c
3154
gctx->gcm.Yi.c, gctx->gcm.Xi.u);
crypto/openssl/crypto/evp/e_aes.c
3155
gctx->gcm.len.u[1] += bulk;
crypto/openssl/crypto/evp/e_aes.c
3159
if (CRYPTO_gcm128_decrypt(&gctx->gcm,
crypto/openssl/crypto/evp/e_aes.c
3167
if (gctx->taglen < 0)
crypto/openssl/crypto/evp/e_aes.c
3169
if (CRYPTO_gcm128_finish(&gctx->gcm,
crypto/openssl/crypto/evp/e_aes.c
3171
gctx->taglen)
crypto/openssl/crypto/evp/e_aes.c
3174
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aes.c
3177
CRYPTO_gcm128_tag(&gctx->gcm, EVP_CIPHER_CTX_buf_noconst(ctx), 16);
crypto/openssl/crypto/evp/e_aes.c
3178
gctx->taglen = 16;
crypto/openssl/crypto/evp/e_aes.c
3180
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aes.c
580
EVP_AES_GCM_CTX *gctx = EVP_C_DATA(EVP_AES_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aes.c
591
aes_t4_set_encrypt_key(key, bits, &gctx->ks.ks);
crypto/openssl/crypto/evp/e_aes.c
592
CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks,
crypto/openssl/crypto/evp/e_aes.c
596
gctx->ctr = (ctr128_f)aes128_t4_ctr32_encrypt;
crypto/openssl/crypto/evp/e_aes.c
599
gctx->ctr = (ctr128_f)aes192_t4_ctr32_encrypt;
crypto/openssl/crypto/evp/e_aes.c
602
gctx->ctr = (ctr128_f)aes256_t4_ctr32_encrypt;
crypto/openssl/crypto/evp/e_aes.c
610
if (iv == NULL && gctx->iv_set)
crypto/openssl/crypto/evp/e_aes.c
611
iv = gctx->iv;
crypto/openssl/crypto/evp/e_aes.c
613
CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
614
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
616
gctx->key_set = 1;
crypto/openssl/crypto/evp/e_aes.c
619
if (gctx->key_set)
crypto/openssl/crypto/evp/e_aes.c
620
CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
622
memcpy(gctx->iv, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aes.c
623
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aes.c
624
gctx->iv_gen = 0;
crypto/openssl/crypto/evp/e_aria.c
222
EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aria.c
229
&gctx->ks.ks);
crypto/openssl/crypto/evp/e_aria.c
230
CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks,
crypto/openssl/crypto/evp/e_aria.c
240
if (iv == NULL && gctx->iv_set)
crypto/openssl/crypto/evp/e_aria.c
241
iv = gctx->iv;
crypto/openssl/crypto/evp/e_aria.c
243
CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aria.c
244
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aria.c
246
gctx->key_set = 1;
crypto/openssl/crypto/evp/e_aria.c
249
if (gctx->key_set)
crypto/openssl/crypto/evp/e_aria.c
250
CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aria.c
252
memcpy(gctx->iv, iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aria.c
253
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aria.c
254
gctx->iv_gen = 0;
crypto/openssl/crypto/evp/e_aria.c
261
EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, c);
crypto/openssl/crypto/evp/e_aria.c
265
gctx->key_set = 0;
crypto/openssl/crypto/evp/e_aria.c
266
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aria.c
267
gctx->ivlen = EVP_CIPHER_get_iv_length(c->cipher);
crypto/openssl/crypto/evp/e_aria.c
268
gctx->iv = c->iv;
crypto/openssl/crypto/evp/e_aria.c
269
gctx->taglen = -1;
crypto/openssl/crypto/evp/e_aria.c
270
gctx->iv_gen = 0;
crypto/openssl/crypto/evp/e_aria.c
271
gctx->tls_aad_len = -1;
crypto/openssl/crypto/evp/e_aria.c
275
*(int *)ptr = gctx->ivlen;
crypto/openssl/crypto/evp/e_aria.c
282
if ((arg > EVP_MAX_IV_LENGTH) && (arg > gctx->ivlen)) {
crypto/openssl/crypto/evp/e_aria.c
283
if (gctx->iv != c->iv)
crypto/openssl/crypto/evp/e_aria.c
284
OPENSSL_free(gctx->iv);
crypto/openssl/crypto/evp/e_aria.c
285
if ((gctx->iv = OPENSSL_malloc(arg)) == NULL)
crypto/openssl/crypto/evp/e_aria.c
288
gctx->ivlen = arg;
crypto/openssl/crypto/evp/e_aria.c
295
gctx->taglen = arg;
crypto/openssl/crypto/evp/e_aria.c
300
|| gctx->taglen < 0)
crypto/openssl/crypto/evp/e_aria.c
308
memcpy(gctx->iv, ptr, gctx->ivlen);
crypto/openssl/crypto/evp/e_aria.c
309
gctx->iv_gen = 1;
crypto/openssl/crypto/evp/e_aria.c
316
if ((arg < 4) || (gctx->ivlen - arg) < 8)
crypto/openssl/crypto/evp/e_aria.c
319
memcpy(gctx->iv, ptr, arg);
crypto/openssl/crypto/evp/e_aria.c
321
&& RAND_bytes(gctx->iv + arg, gctx->ivlen - arg) <= 0)
crypto/openssl/crypto/evp/e_aria.c
323
gctx->iv_gen = 1;
crypto/openssl/crypto/evp/e_aria.c
327
if (gctx->iv_gen == 0 || gctx->key_set == 0)
crypto/openssl/crypto/evp/e_aria.c
329
CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aria.c
330
if (arg <= 0 || arg > gctx->ivlen)
crypto/openssl/crypto/evp/e_aria.c
331
arg = gctx->ivlen;
crypto/openssl/crypto/evp/e_aria.c
332
memcpy(ptr, gctx->iv + gctx->ivlen - arg, arg);
crypto/openssl/crypto/evp/e_aria.c
337
ctr64_inc(gctx->iv + gctx->ivlen - 8);
crypto/openssl/crypto/evp/e_aria.c
338
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aria.c
342
if (gctx->iv_gen == 0 || gctx->key_set == 0
crypto/openssl/crypto/evp/e_aria.c
345
memcpy(gctx->iv + gctx->ivlen - arg, ptr, arg);
crypto/openssl/crypto/evp/e_aria.c
346
CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aria.c
347
gctx->iv_set = 1;
crypto/openssl/crypto/evp/e_aria.c
355
gctx->tls_aad_len = arg;
crypto/openssl/crypto/evp/e_aria.c
378
if (gctx->gcm.key) {
crypto/openssl/crypto/evp/e_aria.c
379
if (gctx->gcm.key != &gctx->ks)
crypto/openssl/crypto/evp/e_aria.c
383
if (gctx->iv == c->iv)
crypto/openssl/crypto/evp/e_aria.c
386
if ((gctx_out->iv = OPENSSL_malloc(gctx->ivlen)) == NULL)
crypto/openssl/crypto/evp/e_aria.c
388
memcpy(gctx_out->iv, gctx->iv, gctx->ivlen);
crypto/openssl/crypto/evp/e_aria.c
401
EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aria.c
417
if (CRYPTO_gcm128_aad(&gctx->gcm, EVP_CIPHER_CTX_buf_noconst(ctx),
crypto/openssl/crypto/evp/e_aria.c
418
gctx->tls_aad_len))
crypto/openssl/crypto/evp/e_aria.c
426
if (CRYPTO_gcm128_encrypt(&gctx->gcm, in, out, len))
crypto/openssl/crypto/evp/e_aria.c
430
CRYPTO_gcm128_tag(&gctx->gcm, out, EVP_GCM_TLS_TAG_LEN);
crypto/openssl/crypto/evp/e_aria.c
434
if (CRYPTO_gcm128_decrypt(&gctx->gcm, in, out, len))
crypto/openssl/crypto/evp/e_aria.c
437
CRYPTO_gcm128_tag(&gctx->gcm, EVP_CIPHER_CTX_buf_noconst(ctx),
crypto/openssl/crypto/evp/e_aria.c
449
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aria.c
450
gctx->tls_aad_len = -1;
crypto/openssl/crypto/evp/e_aria.c
457
EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aria.c
460
if (!gctx->key_set)
crypto/openssl/crypto/evp/e_aria.c
463
if (gctx->tls_aad_len >= 0)
crypto/openssl/crypto/evp/e_aria.c
466
if (!gctx->iv_set)
crypto/openssl/crypto/evp/e_aria.c
470
if (CRYPTO_gcm128_aad(&gctx->gcm, in, len))
crypto/openssl/crypto/evp/e_aria.c
473
if (CRYPTO_gcm128_encrypt(&gctx->gcm, in, out, len))
crypto/openssl/crypto/evp/e_aria.c
476
if (CRYPTO_gcm128_decrypt(&gctx->gcm, in, out, len))
crypto/openssl/crypto/evp/e_aria.c
482
if (gctx->taglen < 0)
crypto/openssl/crypto/evp/e_aria.c
484
if (CRYPTO_gcm128_finish(&gctx->gcm,
crypto/openssl/crypto/evp/e_aria.c
486
gctx->taglen)
crypto/openssl/crypto/evp/e_aria.c
489
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aria.c
492
CRYPTO_gcm128_tag(&gctx->gcm, EVP_CIPHER_CTX_buf_noconst(ctx), 16);
crypto/openssl/crypto/evp/e_aria.c
493
gctx->taglen = 16;
crypto/openssl/crypto/evp/e_aria.c
495
gctx->iv_set = 0;
crypto/openssl/crypto/evp/e_aria.c
501
EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, ctx);
crypto/openssl/crypto/evp/e_aria.c
503
if (gctx->iv != ctx->iv)
crypto/openssl/crypto/evp/e_aria.c
504
OPENSSL_free(gctx->iv);
crypto/openssl/include/crypto/aes_platform.h
126
#define AES_GCM_ASM(gctx) (((gctx)->ctr == aes_v8_ctr32_encrypt_blocks_unroll12_eor3 || (gctx)->ctr == aes_v8_ctr32_encrypt_blocks) && (gctx)->gcm.funcs.ghash == gcm_ghash_v8)
crypto/openssl/include/crypto/aes_platform.h
91
#define AES_GCM_ASM_PPC(gctx) ((gctx)->ctr == aes_p8_ctr32_encrypt_blocks && (gctx)->gcm.funcs.ghash == gcm_ghash_p8)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
451
struct dh_gen_ctx *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
459
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
460
gctx->selection = selection;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
461
gctx->libctx = libctx;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
462
gctx->pbits = 2048;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
463
gctx->qbits = 224;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
464
gctx->mdname = NULL;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
466
gctx->gen_type = (type == DH_FLAG_TYPE_DHX)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
470
gctx->gen_type = (type == DH_FLAG_TYPE_DHX)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
474
gctx->gindex = -1;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
475
gctx->hindex = 0;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
476
gctx->pcounter = -1;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
477
gctx->generator = DH_GENERATOR_2;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
478
gctx->dh_type = type;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
480
if (!dh_gen_set_params(gctx, params)) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
481
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
482
gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
484
return gctx;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
501
struct dh_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
504
if (!ossl_prov_is_running() || gctx == NULL || dh == NULL)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
506
gctx->ffc_params = ossl_dh_get0_params(dh);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
510
static int dh_set_gen_seed(struct dh_gen_ctx *gctx, unsigned char *seed,
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
513
OPENSSL_clear_free(gctx->seed, gctx->seedlen);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
514
gctx->seed = NULL;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
515
gctx->seedlen = 0;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
517
gctx->seed = OPENSSL_memdup(seed, seedlen);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
518
if (gctx->seed == NULL)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
520
gctx->seedlen = seedlen;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
527
struct dh_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
531
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
539
|| ((gen_type = dh_gen_type_name2id_w_default(p->data, gctx->dh_type)) == -1)) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
544
gctx->gen_type = gen_type;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
553
|| ((gctx->group_nid = ossl_ffc_named_group_get_uid(group)) == NID_undef)) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
559
&& !OSSL_PARAM_get_size_t(p, &gctx->pbits))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
562
if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->priv_len))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
603
struct dh_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
611
if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->gindex))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
614
if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->pcounter))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
617
if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->hindex))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
622
|| !dh_set_gen_seed(gctx, p->data, p->data_size)))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
625
&& !OSSL_PARAM_get_size_t(p, &gctx->qbits))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
631
OPENSSL_free(gctx->mdname);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
632
gctx->mdname = OPENSSL_strdup(p->data);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
633
if (gctx->mdname == NULL)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
640
OPENSSL_free(gctx->mdprops);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
641
gctx->mdprops = OPENSSL_strdup(p->data);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
642
if (gctx->mdprops == NULL)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
657
struct dh_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
664
if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->generator))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
685
struct dh_gen_ctx *gctx = BN_GENCB_get_arg(cb);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
691
return gctx->cb(params, gctx->cbarg);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
697
struct dh_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
702
if (!ossl_prov_is_running() || gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
710
if (gctx->group_nid != NID_undef)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
711
gctx->gen_type = DH_PARAMGEN_TYPE_GROUP;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
719
if (!ossl_assert((gctx->gen_type >= DH_PARAMGEN_TYPE_GENERATOR)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
720
&& (gctx->gen_type <= DH_PARAMGEN_TYPE_GROUP))) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
722
"gen_type set to unsupported value %d", gctx->gen_type);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
727
if (gctx->gen_type == DH_PARAMGEN_TYPE_GROUP
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
728
&& gctx->ffc_params == NULL) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
730
if (gctx->group_nid == NID_undef)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
731
gctx->group_nid = ossl_dh_get_named_group_uid_from_size(gctx->pbits);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
732
if (gctx->group_nid == NID_undef)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
734
dh = ossl_dh_new_by_nid_ex(gctx->libctx, gctx->group_nid);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
739
dh = ossl_dh_new_ex(gctx->libctx);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
745
if (gctx->ffc_params != NULL
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
746
&& !ossl_ffc_params_copy(ffc, gctx->ffc_params))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
749
if (!ossl_ffc_params_set_seed(ffc, gctx->seed, gctx->seedlen))
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
751
if (gctx->gindex != -1) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
752
ossl_ffc_params_set_gindex(ffc, gctx->gindex);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
753
if (gctx->pcounter != -1)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
754
ossl_ffc_params_set_pcounter(ffc, gctx->pcounter);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
755
} else if (gctx->hindex != 0) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
756
ossl_ffc_params_set_h(ffc, gctx->hindex);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
758
if (gctx->mdname != NULL)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
759
ossl_ffc_set_digest(ffc, gctx->mdname, gctx->mdprops);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
760
gctx->cb = osslcb;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
761
gctx->cbarg = cbarg;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
766
if ((gctx->selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
772
if (gctx->gen_type == DH_PARAMGEN_TYPE_GENERATOR)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
773
ret = DH_generate_parameters_ex(dh, gctx->pbits,
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
774
gctx->generator, gencb);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
776
ret = ossl_dh_generate_ffc_parameters(dh, gctx->gen_type,
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
777
gctx->pbits, gctx->qbits,
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
784
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) {
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
787
if (gctx->priv_len > 0)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
788
DH_set_length(dh, (long)gctx->priv_len);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
790
gctx->gen_type == DH_PARAMGEN_TYPE_FIPS_186_2);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
804
DH_set_flags(dh, gctx->dh_type);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
818
struct dh_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
820
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
823
OPENSSL_free(gctx->mdname);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
824
OPENSSL_free(gctx->mdprops);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
825
OPENSSL_clear_free(gctx->seed, gctx->seedlen);
crypto/openssl/providers/implementations/keymgmt/dh_kmgmt.c
826
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
410
struct dsa_gen_ctx *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
415
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
416
gctx->selection = selection;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
417
gctx->libctx = libctx;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
418
gctx->pbits = 2048;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
419
gctx->qbits = 224;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
421
gctx->gen_type = DSA_PARAMGEN_TYPE_FIPS_186_4;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
423
gctx->gen_type = DSA_PARAMGEN_TYPE_FIPS_DEFAULT;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
425
gctx->gindex = -1;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
426
gctx->pcounter = -1;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
427
gctx->hindex = 0;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
428
OSSL_FIPS_IND_INIT(gctx)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
430
if (!dsa_gen_set_params(gctx, params)) {
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
431
dsa_gen_cleanup(gctx);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
432
gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
434
return gctx;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
439
struct dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
442
if (!ossl_prov_is_running() || gctx == NULL || dsa == NULL)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
444
gctx->ffc_params = ossl_dsa_get0_params(dsa);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
448
static int dsa_set_gen_seed(struct dsa_gen_ctx *gctx, unsigned char *seed,
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
451
OPENSSL_clear_free(gctx->seed, gctx->seedlen);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
452
gctx->seed = NULL;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
453
gctx->seedlen = 0;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
455
gctx->seed = OPENSSL_memdup(seed, seedlen);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
456
if (gctx->seed == NULL)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
458
gctx->seedlen = seedlen;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
465
struct dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
469
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
474
if (!OSSL_FIPS_IND_SET_CTX_PARAM(gctx, OSSL_FIPS_IND_SETTABLE0, params,
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
492
gctx->gen_type = gen_type;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
496
&& !OSSL_PARAM_get_int(p, &gctx->gindex))
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
500
&& !OSSL_PARAM_get_int(p, &gctx->pcounter))
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
504
&& !OSSL_PARAM_get_int(p, &gctx->hindex))
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
509
|| !dsa_set_gen_seed(gctx, p->data, p->data_size)))
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
512
&& !OSSL_PARAM_get_size_t(p, &gctx->pbits))
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
515
&& !OSSL_PARAM_get_size_t(p, &gctx->qbits))
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
521
OPENSSL_free(gctx->mdname);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
522
gctx->mdname = OPENSSL_strdup(p->data);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
523
if (gctx->mdname == NULL)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
530
OPENSSL_free(gctx->mdprops);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
531
gctx->mdprops = OPENSSL_strdup(p->data);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
532
if (gctx->mdprops == NULL)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
559
struct dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
561
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
565
if (!OSSL_FIPS_IND_GET_CTX_PARAM(gctx, params))
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
583
struct dsa_gen_ctx *gctx = BN_GENCB_get_arg(cb);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
589
return gctx->cb(params, gctx->cbarg);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
594
struct dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
600
if (!ossl_prov_is_running() || gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
608
if (!OSSL_FIPS_IND_ON_UNAPPROVED(gctx, OSSL_FIPS_IND_SETTABLE0,
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
609
gctx->libctx, "DSA", "Keygen",
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
614
dsa = ossl_dsa_new(gctx->libctx);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
618
if (gctx->gen_type == DSA_PARAMGEN_TYPE_FIPS_DEFAULT)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
619
gctx->gen_type = (gctx->pbits >= 2048 ? DSA_PARAMGEN_TYPE_FIPS_186_4 : DSA_PARAMGEN_TYPE_FIPS_186_2);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
627
if (!ossl_assert((gctx->gen_type >= DSA_PARAMGEN_TYPE_FIPS_186_4)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
628
&& (gctx->gen_type <= DSA_PARAMGEN_TYPE_FIPS_DEFAULT))) {
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
630
"gen_type set to unsupported value %d", gctx->gen_type);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
634
gctx->cb = osslcb;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
635
gctx->cbarg = cbarg;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
642
if (gctx->ffc_params != NULL
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
643
&& !ossl_ffc_params_copy(ffc, gctx->ffc_params))
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
646
if (gctx->seed != NULL
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
647
&& !ossl_ffc_params_set_seed(ffc, gctx->seed, gctx->seedlen))
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
649
if (gctx->gindex != -1) {
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
650
ossl_ffc_params_set_gindex(ffc, gctx->gindex);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
651
if (gctx->pcounter != -1)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
652
ossl_ffc_params_set_pcounter(ffc, gctx->pcounter);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
653
} else if (gctx->hindex != 0) {
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
654
ossl_ffc_params_set_h(ffc, gctx->hindex);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
656
if (gctx->mdname != NULL)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
657
ossl_ffc_set_digest(ffc, gctx->mdname, gctx->mdprops);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
659
if ((gctx->selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0) {
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
661
if (ossl_dsa_generate_ffc_parameters(dsa, gctx->gen_type,
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
662
gctx->pbits, gctx->qbits,
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
668
gctx->gen_type == DSA_PARAMGEN_TYPE_FIPS_186_2);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
669
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) {
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
689
struct dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
691
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
694
OPENSSL_free(gctx->mdname);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
695
OPENSSL_free(gctx->mdprops);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
696
OPENSSL_clear_free(gctx->seed, gctx->seedlen);
crypto/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
697
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1000
return gctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1001
if ((gctx->group_name = OPENSSL_strdup("sm2")) != NULL)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1002
return gctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1003
ec_gen_cleanup(gctx);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1012
struct ec_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1020
EC_GROUP_free(gctx->gen_group);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1021
gctx->gen_group = group;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1027
struct ec_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1031
if (!ossl_prov_is_running() || gctx == NULL || ec == NULL)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1035
return ec_gen_set_group(gctx, ec_group);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1078
struct ec_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1081
if (!OSSL_FIPS_IND_SET_CTX_PARAM(gctx, OSSL_FIPS_IND_SETTABLE0, params,
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1085
COPY_INT_PARAM(params, OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, gctx->ecdh_mode);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1087
COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_GROUP_NAME, gctx->group_name);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1088
COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_FIELD_TYPE, gctx->field_type);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1089
COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_ENCODING, gctx->encoding);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1090
COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, gctx->pt_format);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1091
COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, gctx->group_check);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1093
COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_P, gctx->p);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1094
COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_A, gctx->a);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1095
COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_B, gctx->b);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1096
COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_ORDER, gctx->order);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1097
COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_COFACTOR, gctx->cofactor);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1099
COPY_OCTET_PARAM(params, OSSL_PKEY_PARAM_EC_SEED, gctx->seed, gctx->seed_len);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1100
COPY_OCTET_PARAM(params, OSSL_PKEY_PARAM_EC_GENERATOR, gctx->gen,
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1101
gctx->gen_len);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1103
COPY_OCTET_PARAM(params, OSSL_PKEY_PARAM_DHKEM_IKM, gctx->dhkem_ikm,
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1104
gctx->dhkem_ikmlen);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1111
static int ec_gen_set_group_from_params(struct ec_gen_ctx *gctx)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1122
if (gctx->encoding != NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1124
gctx->encoding, 0))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1127
if (gctx->pt_format != NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1130
gctx->pt_format, 0))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1133
if (gctx->group_name != NULL) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1135
gctx->group_name, 0))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1139
} else if (gctx->field_type != NULL) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1141
gctx->field_type, 0))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1146
if (gctx->p == NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1147
|| gctx->a == NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1148
|| gctx->b == NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1149
|| gctx->order == NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1150
|| !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_P, gctx->p)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1151
|| !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_A, gctx->a)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1152
|| !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_B, gctx->b)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1153
|| !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_ORDER, gctx->order))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1156
if (gctx->cofactor != NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1158
gctx->cofactor))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1161
if (gctx->seed != NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1163
gctx->seed, gctx->seed_len))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1166
if (gctx->gen == NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1168
gctx->gen, gctx->gen_len))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1174
group = EC_GROUP_new_from_params(params, gctx->libctx, NULL);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1178
EC_GROUP_free(gctx->gen_group);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1179
gctx->gen_group = group;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1223
struct ec_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1225
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1228
if (!OSSL_FIPS_IND_GET_CTX_PARAM(gctx, params))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1248
struct ec_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1253
|| gctx == NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1254
|| (ec = EC_KEY_new_ex(gctx->libctx, NULL)) == NULL)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1257
if (gctx->gen_group == NULL) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1258
if (!ec_gen_set_group_from_params(gctx))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1261
if (gctx->encoding != NULL) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1262
int flags = ossl_ec_encoding_name2id(gctx->encoding);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1266
EC_GROUP_set_asn1_flag(gctx->gen_group, flags);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1268
if (gctx->pt_format != NULL) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1269
int format = ossl_ec_pt_format_name2id(gctx->pt_format);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1273
EC_GROUP_set_point_conversion_form(gctx->gen_group, format);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1277
if (!ossl_fips_ind_ec_key_check(OSSL_FIPS_IND_GET(gctx),
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1278
OSSL_FIPS_IND_SETTABLE0, gctx->libctx,
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1279
gctx->gen_group, "EC KeyGen", 1))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1284
ret = ec_gen_assign_group(ec, gctx->gen_group);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1287
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1289
if (gctx->dhkem_ikm != NULL && gctx->dhkem_ikmlen != 0)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1290
ret = ret && ossl_ec_generate_key_dhkem(ec, gctx->dhkem_ikm, gctx->dhkem_ikmlen);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1296
if (gctx->ecdh_mode != -1)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1297
ret = ret && ossl_ec_set_ecdh_cofactor_mode(ec, gctx->ecdh_mode);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1299
if (gctx->group_check != NULL)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1300
ret = ret && ossl_ec_set_check_group_type_from_name(ec, gctx->group_check);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1331
struct ec_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1335
if (gctx == NULL
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1336
|| (ec = EC_KEY_new_ex(gctx->libctx, NULL)) == NULL)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1339
if (gctx->gen_group == NULL) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1340
if (!ec_gen_set_group_from_params(gctx))
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1343
if (gctx->encoding) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1344
int flags = ossl_ec_encoding_name2id(gctx->encoding);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1348
EC_GROUP_set_asn1_flag(gctx->gen_group, flags);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1350
if (gctx->pt_format != NULL) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1351
int format = ossl_ec_pt_format_name2id(gctx->pt_format);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1355
EC_GROUP_set_point_conversion_form(gctx->gen_group, format);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1360
ret = ec_gen_assign_group(ec, gctx->gen_group);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1363
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1378
struct ec_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1380
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1383
OPENSSL_clear_free(gctx->dhkem_ikm, gctx->dhkem_ikmlen);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1384
EC_GROUP_free(gctx->gen_group);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1385
BN_free(gctx->p);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1386
BN_free(gctx->a);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1387
BN_free(gctx->b);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1388
BN_free(gctx->order);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1389
BN_free(gctx->cofactor);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1390
OPENSSL_free(gctx->group_name);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1391
OPENSSL_free(gctx->field_type);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1392
OPENSSL_free(gctx->pt_format);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1393
OPENSSL_free(gctx->encoding);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1394
OPENSSL_free(gctx->seed);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1395
OPENSSL_free(gctx->gen);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
1396
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
973
struct ec_gen_ctx *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
978
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
979
gctx->libctx = libctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
980
gctx->selection = selection;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
981
gctx->ecdh_mode = 0;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
982
OSSL_FIPS_IND_INIT(gctx)
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
983
if (!ec_gen_set_params(gctx, params)) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
984
ec_gen_cleanup(gctx);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
985
gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
988
return gctx;
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
996
struct ec_gen_ctx *gctx = ec_gen_init(provctx, selection, params);
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
998
if (gctx != NULL) {
crypto/openssl/providers/implementations/keymgmt/ec_kmgmt.c
999
if (gctx->group_name != NULL)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1044
static void *s390x_ecx_keygen25519(struct ecx_gen_ctx *gctx)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1051
ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_X25519, 1,
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1052
gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1061
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1073
if (gctx->dhkem_ikm != NULL && gctx->dhkem_ikmlen != 0) {
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1074
if (gctx->type != ECX_KEY_TYPE_X25519)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1077
gctx->dhkem_ikm, gctx->dhkem_ikmlen))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1082
if (RAND_priv_bytes_ex(gctx->libctx, privkey, X25519_KEYLEN, 0) <= 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1099
static void *s390x_ecx_keygen448(struct ecx_gen_ctx *gctx)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1108
ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_X448, 1,
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1109
gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1118
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1130
if (gctx->dhkem_ikm != NULL && gctx->dhkem_ikmlen != 0) {
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1131
if (gctx->type != ECX_KEY_TYPE_X448)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1134
gctx->dhkem_ikm, gctx->dhkem_ikmlen))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1139
if (RAND_priv_bytes_ex(gctx->libctx, privkey, X448_KEYLEN, 0) <= 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1155
static void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1197
ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_ED25519, 1,
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1198
gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1210
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1221
if (RAND_priv_bytes_ex(gctx->libctx, privkey, ED25519_KEYLEN, 0) <= 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1224
sha = EVP_MD_fetch(gctx->libctx, "SHA512", gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1249
static void *s390x_ecd_keygen448(struct ecx_gen_ctx *gctx)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1266
ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_ED448, 1,
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1267
gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1278
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1289
shake = EVP_MD_fetch(gctx->libctx, "SHAKE256", gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
1292
if (RAND_priv_bytes_ex(gctx->libctx, privkey, ED448_KEYLEN, 0) <= 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
505
struct ecx_gen_ctx *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
510
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
511
gctx->libctx = libctx;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
512
gctx->type = type;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
513
gctx->selection = selection;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
518
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
525
if (!ecx_gen_set_params(gctx, params)) {
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
526
ecx_gen_cleanup(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
527
gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
529
return gctx;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
558
struct ecx_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
561
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
573
switch (gctx->type) {
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
595
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
596
gctx->propq = OPENSSL_strdup(p->data);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
597
if (gctx->propq == NULL)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
603
OPENSSL_free(gctx->dhkem_ikm);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
604
gctx->dhkem_ikm = NULL;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
605
if (!OSSL_PARAM_get_octet_string(p, (void **)&gctx->dhkem_ikm, 0,
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
606
&gctx->dhkem_ikmlen))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
694
static void *ecx_gen(struct ecx_gen_ctx *gctx)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
699
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
701
if ((key = ossl_ecx_key_new(gctx->libctx, gctx->type, 0,
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
702
gctx->propq))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
709
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
717
if (gctx->dhkem_ikm != NULL && gctx->dhkem_ikmlen != 0) {
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
718
if (ecx_key_type_is_ed(gctx->type))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
721
gctx->dhkem_ikm, gctx->dhkem_ikmlen))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
726
if (RAND_priv_bytes_ex(gctx->libctx, privkey, key->keylen, 0) <= 0)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
730
switch (gctx->type) {
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
743
if (!ossl_ed25519_public_from_private(gctx->libctx, key->pubkey, privkey,
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
744
gctx->propq))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
748
if (!ossl_ed448_public_from_private(gctx->libctx, key->pubkey, privkey,
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
749
gctx->propq))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
762
struct ecx_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
769
return s390x_ecx_keygen25519(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
771
return ecx_gen(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
776
struct ecx_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
783
return s390x_ecx_keygen448(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
785
return ecx_gen(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
791
struct ecx_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
801
key = s390x_ecd_keygen25519(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
805
key = ecx_gen(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
810
if (!key || ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
825
struct ecx_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
834
key = s390x_ecd_keygen448(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
838
key = ecx_gen(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
843
if (!key || ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0))
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
857
struct ecx_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
859
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
862
OPENSSL_clear_free(gctx->dhkem_ikm, gctx->dhkem_ikmlen);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
863
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
864
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
90
static void *s390x_ecx_keygen25519(struct ecx_gen_ctx *gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
91
static void *s390x_ecx_keygen448(struct ecx_gen_ctx *gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
92
static void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx);
crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
93
static void *s390x_ecd_keygen448(struct ecx_gen_ctx *gctx);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
375
struct mac_gen_ctx *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
380
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
381
gctx->libctx = libctx;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
382
gctx->selection = selection;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
384
return gctx;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
390
struct mac_gen_ctx *gctx = mac_gen_init_common(provctx, selection);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
392
if (gctx != NULL && !mac_gen_set_params(gctx, params)) {
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
393
mac_gen_cleanup(gctx);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
394
gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
396
return gctx;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
402
struct mac_gen_ctx *gctx = mac_gen_init_common(provctx, selection);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
404
if (gctx != NULL && !cmac_gen_set_params(gctx, params)) {
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
405
mac_gen_cleanup(gctx);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
406
gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
408
return gctx;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
413
struct mac_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
416
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
425
gctx->priv_key = OPENSSL_secure_malloc(p->data_size);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
426
if (gctx->priv_key == NULL)
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
428
memcpy(gctx->priv_key, p->data, p->data_size);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
429
gctx->priv_key_len = p->data_size;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
437
struct mac_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
442
if (!ossl_prov_cipher_load_from_params(&gctx->cipher, params,
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
443
gctx->libctx)) {
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
474
struct mac_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
477
if (!ossl_prov_is_running() || gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
480
if ((key = ossl_mac_key_new(gctx->libctx, 0)) == NULL) {
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
486
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
489
if (gctx->priv_key == NULL) {
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
501
if (!ossl_prov_cipher_copy(&key->cipher, &gctx->cipher)) {
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
506
ossl_prov_cipher_reset(&gctx->cipher);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
507
key->priv_key = gctx->priv_key;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
508
key->priv_key_len = gctx->priv_key_len;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
509
gctx->priv_key_len = 0;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
510
gctx->priv_key = NULL;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
517
struct mac_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
519
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
522
OPENSSL_secure_clear_free(gctx->priv_key, gctx->priv_key_len);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
523
ossl_prov_cipher_reset(&gctx->cipher);
crypto/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
524
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
452
struct ml_dsa_gen_ctx *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
457
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
458
gctx->provctx = provctx;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
459
if (!ml_dsa_gen_set_params(gctx, params)) {
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
460
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
461
gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
464
return gctx;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
469
struct ml_dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
474
key = ossl_prov_ml_dsa_new(gctx->provctx, gctx->propq, evp_type);
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
477
if (gctx->entropy_len != 0
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
479
gctx->entropy, gctx->entropy_len, NULL, 0))
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
499
struct ml_dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
502
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
507
void *vp = gctx->entropy;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
508
size_t len = sizeof(gctx->entropy);
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
510
if (!OSSL_PARAM_get_octet_string(p, &vp, len, &(gctx->entropy_len))) {
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
511
gctx->entropy_len = 0;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
518
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
519
gctx->propq = NULL;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
520
if (!OSSL_PARAM_get_utf8_string(p, &gctx->propq, 0))
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
539
struct ml_dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
541
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
544
OPENSSL_cleanse(gctx->entropy, gctx->entropy_len);
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
545
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
546
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
682
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
685
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
694
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
695
if ((gctx->propq = OPENSSL_strdup(p->data)) == NULL)
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
703
gctx->seed = gctx->seedbuf;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
704
if (OSSL_PARAM_get_octet_string(p, (void **)&gctx->seed, len, &len)
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
710
gctx->seed = NULL;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
720
PROV_ML_KEM_GEN_CTX *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
728
|| (gctx = OPENSSL_zalloc(sizeof(*gctx))) == NULL)
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
731
gctx->selection = selection;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
732
gctx->evp_type = evp_type;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
733
gctx->provctx = provctx;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
734
if (ml_kem_gen_set_params(gctx, params))
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
735
return gctx;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
737
ml_kem_gen_cleanup(gctx);
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
753
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
759
if (gctx == NULL
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
760
|| (gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == OSSL_KEYMGMT_SELECT_PUBLIC_KEY)
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
762
seed = gctx->seed;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
763
key = ossl_prov_ml_kem_new(gctx->provctx, gctx->propq, gctx->evp_type);
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
767
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
777
gctx->seed = NULL;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
796
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
798
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
801
if (gctx->seed != NULL)
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
802
OPENSSL_cleanse(gctx->seed, ML_KEM_SEED_BYTES);
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
803
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
804
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
629
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
632
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
641
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
642
if ((gctx->propq = OPENSSL_strdup(p->data)) == NULL)
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
651
PROV_ML_KEM_GEN_CTX *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
659
|| (gctx = OPENSSL_zalloc(sizeof(*gctx))) == NULL)
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
662
gctx->evp_type = evp_type;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
663
gctx->libctx = libctx;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
664
gctx->selection = selection;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
665
if (mlx_kem_gen_set_params(gctx, params))
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
666
return gctx;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
668
mlx_kem_gen_cleanup(gctx);
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
685
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
689
if (gctx == NULL
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
690
|| (gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == OSSL_KEYMGMT_SELECT_PUBLIC_KEY)
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
694
propq = gctx->propq;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
695
gctx->propq = NULL;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
696
if ((key = mlx_kem_key_new(gctx->evp_type, gctx->libctx, propq)) == NULL)
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
699
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
719
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
721
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
723
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
724
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
436
struct rsa_gen_ctx *gctx = BN_GENCB_get_arg(cb);
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
441
return gctx->cb(params, gctx->cbarg);
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
448
struct rsa_gen_ctx *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
456
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
457
gctx->libctx = libctx;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
458
if ((gctx->pub_exp = BN_new()) == NULL
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
459
|| !BN_set_word(gctx->pub_exp, RSA_F4)) {
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
462
gctx->nbits = 2048;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
463
gctx->primes = RSA_DEFAULT_PRIME_NUM;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
464
gctx->rsa_type = rsa_type;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
469
if (!rsa_gen_set_params(gctx, params))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
471
return gctx;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
474
if (gctx != NULL)
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
475
BN_free(gctx->pub_exp);
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
476
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
499
struct rsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
506
if (!OSSL_PARAM_get_size_t(p, &gctx->nbits))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
508
if (gctx->nbits < RSA_MIN_MODULUS_BITS) {
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
514
&& !OSSL_PARAM_get_size_t(p, &gctx->primes))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
517
&& !OSSL_PARAM_get_BN(p, &gctx->pub_exp))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
520
if (gctx->rsa_type == RSA_FLAG_TYPE_RSASSAPSS
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
521
&& !pss_params_fromdata(&gctx->pss_params, &gctx->pss_defaults_set, params,
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
522
gctx->rsa_type, gctx->libctx))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
526
if (!ossl_rsa_acvp_test_gen_params_new(&gctx->acvp_test_params, params))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
573
struct rsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
577
if (!ossl_prov_is_running() || gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
580
switch (gctx->rsa_type) {
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
583
if (!ossl_rsa_pss_params_30_is_unrestricted(&gctx->pss_params))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
597
if ((rsa_tmp = ossl_rsa_new_with_ctx(gctx->libctx)) == NULL)
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
600
gctx->cb = osslcb;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
601
gctx->cbarg = cbarg;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
607
if (gctx->acvp_test_params != NULL) {
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
608
if (!ossl_rsa_acvp_test_set_params(rsa_tmp, gctx->acvp_test_params))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
614
(int)gctx->nbits, (int)gctx->primes,
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
615
gctx->pub_exp, gencb))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
619
&gctx->pss_params))
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
623
RSA_set_flags(rsa_tmp, gctx->rsa_type);
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
635
struct rsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
637
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
640
ossl_rsa_acvp_test_gen_params_free(gctx->acvp_test_params);
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
641
gctx->acvp_test_params = NULL;
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
643
BN_clear_free(gctx->pub_exp);
crypto/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
644
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
271
struct slh_dsa_gen_ctx *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
276
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
277
gctx->libctx = libctx;
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
278
if (!slh_dsa_gen_set_params(gctx, params)) {
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
279
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
280
gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
283
return gctx;
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
353
struct slh_dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
359
key = ossl_slh_dsa_key_new(gctx->libctx, gctx->propq, alg);
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
365
if (!ossl_slh_dsa_generate_key(ctx, key, gctx->libctx,
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
366
gctx->entropy, gctx->entropy_len))
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
384
struct slh_dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
387
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
392
void *vp = gctx->entropy;
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
393
size_t len = sizeof(gctx->entropy);
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
395
if (!OSSL_PARAM_get_octet_string(p, &vp, len, &(gctx->entropy_len))) {
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
396
gctx->entropy_len = 0;
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
405
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
406
gctx->propq = OPENSSL_strdup(p->data);
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
407
if (gctx->propq == NULL)
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
426
struct slh_dsa_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
428
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
431
OPENSSL_cleanse(gctx->entropy, gctx->entropy_len);
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
432
OPENSSL_free(gctx->propq);
crypto/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
433
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
323
struct template_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
325
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
328
debug_print("empty gen_set params called for %p\n", gctx);
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
335
struct template_gen_ctx *gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
344
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
345
gctx->provctx = provctx;
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
346
gctx->selection = selection;
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
348
if (!template_gen_set_params(gctx, params)) {
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
349
OPENSSL_free(gctx);
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
350
gctx = NULL;
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
352
debug_print("gen init returns %p\n", gctx);
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
353
return gctx;
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
367
struct template_gen_ctx *gctx = (struct template_gen_ctx *)vctx;
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
370
debug_print("gen called for %p\n", gctx);
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
372
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
387
struct template_gen_ctx *gctx = genctx;
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
389
if (gctx == NULL)
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
392
debug_print("gen cleanup for %p\n", gctx);
crypto/openssl/providers/implementations/keymgmt/template_kmgmt.c
393
OPENSSL_free(gctx);
crypto/openssl/test/evp_extra_test2.c
1600
EVP_PKEY_CTX *gctx = NULL;
crypto/openssl/test/evp_extra_test2.c
1608
ret = TEST_ptr(gctx = EVP_PKEY_CTX_new_from_name(mainctx, "DHX", NULL))
crypto/openssl/test/evp_extra_test2.c
1609
&& TEST_int_gt(EVP_PKEY_keygen_init(gctx), 0)
crypto/openssl/test/evp_extra_test2.c
1610
&& TEST_true(EVP_PKEY_CTX_set_params(gctx, params))
crypto/openssl/test/evp_extra_test2.c
1611
&& TEST_int_gt(EVP_PKEY_generate(gctx, &key), 0)
crypto/openssl/test/evp_extra_test2.c
1619
EVP_PKEY_CTX_free(gctx);
crypto/openssl/test/evp_extra_test2.c
1628
EVP_PKEY_CTX *gctx = NULL;
crypto/openssl/test/evp_extra_test2.c
1636
ret = TEST_ptr(gctx = EVP_PKEY_CTX_new_from_name(mainctx, "DH", NULL))
crypto/openssl/test/evp_extra_test2.c
1637
&& TEST_int_gt(EVP_PKEY_paramgen_init(gctx), 0)
crypto/openssl/test/evp_extra_test2.c
1638
&& TEST_true(EVP_PKEY_CTX_set_params(gctx, params))
crypto/openssl/test/evp_extra_test2.c
1639
&& TEST_true(EVP_PKEY_paramgen(gctx, &pkey))
crypto/openssl/test/evp_extra_test2.c
1642
EVP_PKEY_CTX_free(gctx);
crypto/openssl/test/evp_extra_test2.c
1643
gctx = NULL;
crypto/openssl/test/evp_extra_test2.c
1645
ret = ret && TEST_ptr(gctx = EVP_PKEY_CTX_new_from_pkey(mainctx, pkey, NULL))
crypto/openssl/test/evp_extra_test2.c
1646
&& TEST_int_eq(EVP_PKEY_param_check(gctx), 1)
crypto/openssl/test/evp_extra_test2.c
1647
&& TEST_int_eq(EVP_PKEY_param_check_quick(gctx), 1);
crypto/openssl/test/evp_extra_test2.c
1649
EVP_PKEY_CTX_free(gctx);
crypto/openssl/test/evp_extra_test2.c
3210
EVP_PKEY_CTX *ctx = NULL, *gctx = NULL;
crypto/openssl/test/evp_extra_test2.c
3229
if (!TEST_ptr(gctx = EVP_PKEY_CTX_new_from_pkey(mainctx, pkey, NULL))
crypto/openssl/test/evp_extra_test2.c
3230
|| !TEST_int_eq(EVP_PKEY_paramgen_init(gctx), 1)
crypto/openssl/test/evp_extra_test2.c
3231
|| !TEST_int_eq(EVP_PKEY_paramgen(gctx, &pkey2), expected))
crypto/openssl/test/evp_extra_test2.c
3239
EVP_PKEY_CTX_free(gctx);
crypto/openssl/test/evp_libctx_test.c
893
EVP_PKEY_CTX *gctx = NULL;
crypto/openssl/test/evp_libctx_test.c
900
if (!TEST_ptr(gctx = EVP_PKEY_CTX_new_from_name(libctx, "DH", NULL))
crypto/openssl/test/evp_libctx_test.c
901
|| !TEST_int_gt(EVP_PKEY_keygen_init(gctx), 0)
crypto/openssl/test/evp_libctx_test.c
902
|| !TEST_true(EVP_PKEY_CTX_set_params(gctx, params))
crypto/openssl/test/evp_libctx_test.c
903
|| !TEST_true(EVP_PKEY_keygen(gctx, &pkey)))
crypto/openssl/test/evp_libctx_test.c
906
EVP_PKEY_CTX_free(gctx);
crypto/openssl/test/fake_rsaprov.c
245
unsigned char *gctx = NULL;
crypto/openssl/test/fake_rsaprov.c
247
if (!TEST_ptr(gctx = OPENSSL_malloc(1)))
crypto/openssl/test/fake_rsaprov.c
250
*gctx = 1;
crypto/openssl/test/fake_rsaprov.c
252
return gctx;
crypto/openssl/test/fake_rsaprov.c
257
unsigned char *gctx = genctx;
crypto/openssl/test/fake_rsaprov.c
261
if (!TEST_ptr(gctx)
crypto/openssl/test/fake_rsaprov.c
262
|| !TEST_mem_eq(gctx, sizeof(*gctx), inited, sizeof(inited)))
crypto/openssl/test/radix/terp.c
304
GEN_CTX gctx;
crypto/openssl/test/radix/terp.c
306
if (!TEST_true(GEN_CTX_init(&gctx, script_info)))
crypto/openssl/test/radix/terp.c
309
script_info->gen_func(&gctx);
crypto/openssl/test/radix/terp.c
310
opgen_END(&gctx);
crypto/openssl/test/radix/terp.c
312
if (!TEST_false(gctx.error))
crypto/openssl/test/radix/terp.c
315
if (!TEST_true(GEN_CTX_finish(&gctx, gen_script)))
crypto/openssl/test/radix/terp.c
321
if (gctx.error)
crypto/openssl/test/radix/terp.c
323
gctx.first_error_msg,
crypto/openssl/test/radix/terp.c
324
gctx.first_error_file,
crypto/openssl/test/radix/terp.c
325
gctx.first_error_line);
crypto/openssl/test/radix/terp.c
327
GEN_CTX_cleanup(&gctx);
crypto/openssl/test/slh_dsa_test.c
376
EVP_PKEY_CTX *gctx = NULL, *sctx = NULL, *vctx = NULL;
crypto/openssl/test/slh_dsa_test.c
385
if (!TEST_ptr(gctx = EVP_PKEY_CTX_new_from_name(lib_ctx, "SLH-DSA-SHA2-128s", NULL))
crypto/openssl/test/slh_dsa_test.c
386
|| !TEST_int_eq(EVP_PKEY_keygen_init(gctx), 1)
crypto/openssl/test/slh_dsa_test.c
387
|| !TEST_int_eq(EVP_PKEY_keygen(gctx, &gkey), 1))
crypto/openssl/test/slh_dsa_test.c
431
EVP_PKEY_CTX_free(gctx);
crypto/openssl/test/slh_dsa_test.c
446
EVP_PKEY_CTX *gctx = NULL, *sctx = NULL, *vctx = NULL, *dupctx = NULL;
crypto/openssl/test/slh_dsa_test.c
520
EVP_PKEY_CTX_free(gctx);
crypto/openssl/test/tls-provider.c
925
struct xor_gen_ctx *gctx = NULL;
crypto/openssl/test/tls-provider.c
930
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) == NULL)
crypto/openssl/test/tls-provider.c
933
gctx->selection = selection;
crypto/openssl/test/tls-provider.c
934
gctx->libctx = PROV_XOR_LIBCTX_OF(provctx);
crypto/openssl/test/tls-provider.c
936
if (!xor_gen_set_params(gctx, params)) {
crypto/openssl/test/tls-provider.c
937
OPENSSL_free(gctx);
crypto/openssl/test/tls-provider.c
940
return gctx;
crypto/openssl/test/tls-provider.c
945
struct xor_gen_ctx *gctx = genctx;
crypto/openssl/test/tls-provider.c
948
if (gctx == NULL)
crypto/openssl/test/tls-provider.c
974
struct xor_gen_ctx *gctx = genctx;
crypto/openssl/test/tls-provider.c
981
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) {
crypto/openssl/test/tls-provider.c
982
if (RAND_bytes_ex(gctx->libctx, key->privkey, XOR_KEY_SIZE, 0) <= 0) {
sys/amd64/vmm/amd/svm.c
2068
svm_dr_enter_guest(struct svm_regctx *gctx)
sys/amd64/vmm/amd/svm.c
2072
gctx->host_dr7 = rdr7();
sys/amd64/vmm/amd/svm.c
2073
gctx->host_debugctl = rdmsr(MSR_DEBUGCTLMSR);
sys/amd64/vmm/amd/svm.c
2085
gctx->host_dr0 = rdr0();
sys/amd64/vmm/amd/svm.c
2086
gctx->host_dr1 = rdr1();
sys/amd64/vmm/amd/svm.c
2087
gctx->host_dr2 = rdr2();
sys/amd64/vmm/amd/svm.c
2088
gctx->host_dr3 = rdr3();
sys/amd64/vmm/amd/svm.c
2089
gctx->host_dr6 = rdr6();
sys/amd64/vmm/amd/svm.c
2092
load_dr0(gctx->sctx_dr0);
sys/amd64/vmm/amd/svm.c
2093
load_dr1(gctx->sctx_dr1);
sys/amd64/vmm/amd/svm.c
2094
load_dr2(gctx->sctx_dr2);
sys/amd64/vmm/amd/svm.c
2095
load_dr3(gctx->sctx_dr3);
sys/amd64/vmm/amd/svm.c
2099
svm_dr_leave_guest(struct svm_regctx *gctx)
sys/amd64/vmm/amd/svm.c
2103
gctx->sctx_dr0 = rdr0();
sys/amd64/vmm/amd/svm.c
2104
gctx->sctx_dr1 = rdr1();
sys/amd64/vmm/amd/svm.c
2105
gctx->sctx_dr2 = rdr2();
sys/amd64/vmm/amd/svm.c
2106
gctx->sctx_dr3 = rdr3();
sys/amd64/vmm/amd/svm.c
2112
load_dr0(gctx->host_dr0);
sys/amd64/vmm/amd/svm.c
2113
load_dr1(gctx->host_dr1);
sys/amd64/vmm/amd/svm.c
2114
load_dr2(gctx->host_dr2);
sys/amd64/vmm/amd/svm.c
2115
load_dr3(gctx->host_dr3);
sys/amd64/vmm/amd/svm.c
2116
load_dr6(gctx->host_dr6);
sys/amd64/vmm/amd/svm.c
2117
wrmsr(MSR_DEBUGCTLMSR, gctx->host_debugctl);
sys/amd64/vmm/amd/svm.c
2118
load_dr7(gctx->host_dr7);
sys/amd64/vmm/amd/svm.c
2127
struct svm_regctx *gctx;
sys/amd64/vmm/amd/svm.c
2145
gctx = svm_get_guest_regctx(vcpu);
sys/amd64/vmm/amd/svm.c
2242
svm_dr_enter_guest(gctx);
sys/amd64/vmm/amd/svm.c
2243
svm_launch(vmcb_pa, gctx, get_pcpu());
sys/amd64/vmm/amd/svm.c
2244
svm_dr_leave_guest(gctx);
sys/amd64/vmm/amd/svm.h
68
void svm_launch(uint64_t pa, struct svm_regctx *gctx, struct pcpu *pcpu);
sys/nfs/bootp_subr.c
1329
struct bootpc_globalcontext *gctx)
sys/nfs/bootp_subr.c
1354
(void) bootpc_tag(&gctx->tmptag,
sys/nfs/bootp_subr.c
1357
if ((gctx->tmptag.overload & OVERLOAD_SNAME) == 0)
sys/nfs/bootp_subr.c
1360
if ((gctx->tmptag.overload & OVERLOAD_FILE) == 0)
sys/nfs/bootp_subr.c
1366
p = bootpc_tag(&gctx->tag, &ifctx->reply, ifctx->replylen,
sys/nfs/bootp_subr.c
1369
if (gctx->tag.taglen != 4)
sys/nfs/bootp_subr.c
1371
gctx->tag.taglen);
sys/nfs/bootp_subr.c
1379
p = bootpc_tag(&gctx->tag, &ifctx->reply, ifctx->replylen,
sys/nfs/bootp_subr.c
1383
if (gctx->tag.taglen % 4)
sys/nfs/bootp_subr.c
1384
panic("bootpc: Router Len is %d", gctx->tag.taglen);
sys/nfs/bootp_subr.c
1385
if (gctx->tag.taglen > 0) {
sys/nfs/bootp_subr.c
1391
gctx->gotgw = 1;
sys/nfs/bootp_subr.c
1410
p = bootpc_tag(&gctx->tag, &ifctx->reply, ifctx->replylen,
sys/nfs/bootp_subr.c
1422
if (gctx->setrootfs != NULL) {
sys/nfs/bootp_subr.c
1432
gctx->gotrootpath = 1;
sys/nfs/bootp_subr.c
1433
gctx->setrootfs = ifctx;
sys/nfs/bootp_subr.c
1435
p = bootpc_tag(&gctx->tag, &ifctx->reply,
sys/nfs/bootp_subr.c
1446
p = bootpc_tag(&gctx->tag, &ifctx->reply, ifctx->replylen,
sys/nfs/bootp_subr.c
1449
if (gctx->tag.taglen >= MAXHOSTNAMELEN)
sys/nfs/bootp_subr.c
1452
if (gctx->sethostname != NULL) {
sys/nfs/bootp_subr.c
1460
gctx->sethostname = ifctx;
sys/nfs/bootp_subr.c
1463
p = bootpc_tag(&gctx->tag, &ifctx->reply, ifctx->replylen,
sys/nfs/bootp_subr.c
1472
p = bootpc_tag(&gctx->tag, &ifctx->reply, ifctx->replylen,
sys/nfs/bootp_subr.c
1516
struct bootpc_globalcontext *gctx; /* Global BOOTP context */
sys/nfs/bootp_subr.c
1557
gctx = malloc(sizeof(*gctx), M_TEMP, M_WAITOK | M_ZERO);
sys/nfs/bootp_subr.c
1558
STAILQ_INIT(&gctx->interfaces);
sys/nfs/bootp_subr.c
1559
gctx->xid = ~0xFFFF;
sys/nfs/bootp_subr.c
1560
gctx->starttime = time_second;
sys/nfs/bootp_subr.c
1568
gctx->any_root_overrides = 1;
sys/nfs/bootp_subr.c
1570
gctx->any_root_overrides = testenv("vfs.root.mountfrom");
sys/nfs/bootp_subr.c
1580
allocifctx(gctx);
sys/nfs/bootp_subr.c
1602
allocifctx(gctx);
sys/nfs/bootp_subr.c
1606
ifctx = STAILQ_FIRST(&gctx->interfaces);
sys/nfs/bootp_subr.c
1644
if (STAILQ_EMPTY(&gctx->interfaces) ||
sys/nfs/bootp_subr.c
1645
STAILQ_FIRST(&gctx->interfaces)->ifp == NULL) {
sys/nfs/bootp_subr.c
1664
STAILQ_FOREACH(ifctx, &gctx->interfaces, next)
sys/nfs/bootp_subr.c
1667
STAILQ_FOREACH(ifctx, &gctx->interfaces, next)
sys/nfs/bootp_subr.c
1670
error = bootpc_call(gctx, td);
sys/nfs/bootp_subr.c
1677
STAILQ_FOREACH(ifctx, &gctx->interfaces, next)
sys/nfs/bootp_subr.c
1679
bootpc_decode_reply(nd, ifctx, gctx);
sys/nfs/bootp_subr.c
1682
if (gctx->gotrootpath == 0 && gctx->any_root_overrides == 0)
sys/nfs/bootp_subr.c
1686
STAILQ_FOREACH(ifctx, &gctx->interfaces, next)
sys/nfs/bootp_subr.c
1687
bootpc_adjust_interface(ifctx, gctx, td);
sys/nfs/bootp_subr.c
1691
STAILQ_FOREACH(ifctx, &gctx->interfaces, next)
sys/nfs/bootp_subr.c
1695
STAILQ_FOREACH(ifctx, &gctx->interfaces, next)
sys/nfs/bootp_subr.c
1702
if (gctx->gotrootpath != 0) {
sys/nfs/bootp_subr.c
1717
if (gctx->any_root_overrides == 0)
sys/nfs/bootp_subr.c
1736
while((ifctx = STAILQ_FIRST(&gctx->interfaces)) != NULL) {
sys/nfs/bootp_subr.c
1737
STAILQ_REMOVE_HEAD(&gctx->interfaces, next);
sys/nfs/bootp_subr.c
1740
free(gctx, M_TEMP);
sys/nfs/bootp_subr.c
255
static void allocifctx(struct bootpc_globalcontext *gctx);
sys/nfs/bootp_subr.c
267
static int bootpc_call(struct bootpc_globalcontext *gctx,
sys/nfs/bootp_subr.c
274
struct bootpc_globalcontext *gctx, struct thread *td);
sys/nfs/bootp_subr.c
278
struct bootpc_globalcontext *gctx);
sys/nfs/bootp_subr.c
280
static int bootpc_received(struct bootpc_globalcontext *gctx,
sys/nfs/bootp_subr.c
339
allocifctx(struct bootpc_globalcontext *gctx)
sys/nfs/bootp_subr.c
344
ifctx->xid = gctx->xid;
sys/nfs/bootp_subr.c
350
gctx->xid += 0x100;
sys/nfs/bootp_subr.c
351
STAILQ_INSERT_TAIL(&gctx->interfaces, ifctx, next);
sys/nfs/bootp_subr.c
385
bootpc_received(struct bootpc_globalcontext *gctx,
sys/nfs/bootp_subr.c
397
(void) bootpc_tag(&gctx->tmptag, &gctx->reply,
sys/nfs/bootp_subr.c
398
gctx->replylen,
sys/nfs/bootp_subr.c
402
if (gctx->tmptag.badopt != 0)
sys/nfs/bootp_subr.c
405
p = bootpc_tag(&gctx->tmptag, &gctx->reply,
sys/nfs/bootp_subr.c
406
gctx->replylen, TAG_DHCP_MSGTYPE);
sys/nfs/bootp_subr.c
434
(bootpc_tag(&gctx->tmptag, &ifctx->reply,
sys/nfs/bootp_subr.c
437
bootpc_tag(&gctx->tmptag, &gctx->reply,
sys/nfs/bootp_subr.c
438
gctx->replylen,
sys/nfs/bootp_subr.c
442
bcopy(&gctx->reply, &ifctx->reply, gctx->replylen);
sys/nfs/bootp_subr.c
443
ifctx->replylen = gctx->replylen;
sys/nfs/bootp_subr.c
460
p = bootpc_tag(&gctx->tmptag, &ifctx->reply,
sys/nfs/bootp_subr.c
462
if (p != NULL && gctx->tmptag.taglen == 4) {
sys/nfs/bootp_subr.c
470
ifctx->gotrootpath = (bootpc_tag(&gctx->tmptag, &ifctx->reply,
sys/nfs/bootp_subr.c
473
ifctx->gotgw = (bootpc_tag(&gctx->tmptag, &ifctx->reply,
sys/nfs/bootp_subr.c
476
ifctx->gotnetmask = (bootpc_tag(&gctx->tmptag, &ifctx->reply,
sys/nfs/bootp_subr.c
483
bootpc_call(struct bootpc_globalcontext *gctx, struct thread *td)
sys/nfs/bootp_subr.c
568
STAILQ_FOREACH(ifctx, &gctx->interfaces, next) {
sys/nfs/bootp_subr.c
570
bootpc_tag(&gctx->tmptag, &ifctx->reply,
sys/nfs/bootp_subr.c
576
STAILQ_FOREACH(ifctx, &gctx->interfaces, next) {
sys/nfs/bootp_subr.c
682
aio.iov_base = (caddr_t) &gctx->reply;
sys/nfs/bootp_subr.c
683
aio.iov_len = sizeof(gctx->reply);
sys/nfs/bootp_subr.c
690
auio.uio_resid = sizeof(gctx->reply);
sys/nfs/bootp_subr.c
696
gctx->secs = time_second - gctx->starttime;
sys/nfs/bootp_subr.c
697
STAILQ_FOREACH(ifctx, &gctx->interfaces, next) {
sys/nfs/bootp_subr.c
702
ifctx->call.secs = htons(gctx->secs);
sys/nfs/bootp_subr.c
708
len = sizeof(gctx->reply) - auio.uio_resid;
sys/nfs/bootp_subr.c
713
gctx->replylen = len;
sys/nfs/bootp_subr.c
716
if (gctx->reply.op != BOOTP_REPLY)
sys/nfs/bootp_subr.c
720
STAILQ_FOREACH(ifctx, &gctx->interfaces, next) {
sys/nfs/bootp_subr.c
721
if (gctx->reply.xid != ifctx->call.xid)
sys/nfs/bootp_subr.c
725
if (gctx->reply.hlen != ifctx->call.hlen)
sys/nfs/bootp_subr.c
729
if (bcmp(gctx->reply.chaddr,
sys/nfs/bootp_subr.c
738
s = bootpc_tag(&gctx->tmptag,
sys/nfs/bootp_subr.c
739
&gctx->reply,
sys/nfs/bootp_subr.c
740
gctx->replylen,
sys/nfs/bootp_subr.c
761
print_in_addr(gctx->reply.siaddr);
sys/nfs/bootp_subr.c
762
if (gctx->reply.giaddr.s_addr !=
sys/nfs/bootp_subr.c
765
print_in_addr(gctx->reply.giaddr);
sys/nfs/bootp_subr.c
767
if (bootpc_received(gctx, ifctx) != 0) {
sys/nfs/bootp_subr.c
780
gctx->any_root_overrides) {
sys/nfs/bootp_subr.c
791
if (gctx->secs > BOOTP_TIMEOUT && BOOTP_TIMEOUT > 0)
sys/nfs/bootp_subr.c
796
STAILQ_FOREACH(ifctx, &gctx->interfaces, next)
sys/nfs/bootp_subr.c
808
gctx->gotrootpath = gotrootpath;
sys/nfs/bootp_subr.c
819
STAILQ_FOREACH(ifctx, &gctx->interfaces, next)
sys/nfs/bootp_subr.c
827
if (gctx->gotrootpath != 0) {
sys/nfs/bootp_subr.c
835
STAILQ_FOREACH(ifctx, &gctx->interfaces, next)
sys/nfs/bootp_subr.c
917
struct bootpc_globalcontext *gctx, struct thread *td)