Lines Matching refs:gctx

84 static void *s390x_ecx_keygen25519(struct ecx_gen_ctx *gctx);
85 static void *s390x_ecx_keygen448(struct ecx_gen_ctx *gctx);
86 static void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx);
87 static void *s390x_ecd_keygen448(struct ecx_gen_ctx *gctx);
479 struct ecx_gen_ctx *gctx = NULL;
484 if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
485 gctx->libctx = libctx;
486 gctx->type = type;
487 gctx->selection = selection;
489 if (!ecx_gen_set_params(gctx, params)) {
490 OPENSSL_free(gctx);
491 gctx = NULL;
493 return gctx;
522 struct ecx_gen_ctx *gctx = genctx;
525 if (gctx == NULL)
537 switch (gctx->type) {
559 OPENSSL_free(gctx->propq);
560 gctx->propq = OPENSSL_strdup(p->data);
561 if (gctx->propq == NULL)
579 static void *ecx_gen(struct ecx_gen_ctx *gctx)
584 if (gctx == NULL)
586 if ((key = ossl_ecx_key_new(gctx->libctx, gctx->type, 0,
587 gctx->propq)) == NULL) {
593 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
600 if (RAND_priv_bytes_ex(gctx->libctx, privkey, key->keylen, 0) <= 0)
602 switch (gctx->type) {
615 if (!ossl_ed25519_public_from_private(gctx->libctx, key->pubkey, privkey,
616 gctx->propq))
620 if (!ossl_ed448_public_from_private(gctx->libctx, key->pubkey, privkey,
621 gctx->propq))
634 struct ecx_gen_ctx *gctx = genctx;
641 return s390x_ecx_keygen25519(gctx);
643 return ecx_gen(gctx);
648 struct ecx_gen_ctx *gctx = genctx;
655 return s390x_ecx_keygen448(gctx);
657 return ecx_gen(gctx);
662 struct ecx_gen_ctx *gctx = genctx;
672 return s390x_ecd_keygen25519(gctx);
674 return ecx_gen(gctx);
679 struct ecx_gen_ctx *gctx = genctx;
688 return s390x_ecd_keygen448(gctx);
690 return ecx_gen(gctx);
695 struct ecx_gen_ctx *gctx = genctx;
697 OPENSSL_free(gctx->propq);
698 OPENSSL_free(gctx);
831 static void *s390x_ecx_keygen25519(struct ecx_gen_ctx *gctx)
838 ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_X25519, 1,
839 gctx->propq);
848 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
859 if (RAND_priv_bytes_ex(gctx->libctx, privkey, X25519_KEYLEN, 0) <= 0)
875 static void *s390x_ecx_keygen448(struct ecx_gen_ctx *gctx)
884 ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_X448, 1,
885 gctx->propq);
894 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
905 if (RAND_priv_bytes_ex(gctx->libctx, privkey, X448_KEYLEN, 0) <= 0)
920 static void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx)
933 ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_ED25519, 1,
934 gctx->propq);
946 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
957 if (RAND_priv_bytes_ex(gctx->libctx, privkey, ED25519_KEYLEN, 0) <= 0)
960 sha = EVP_MD_fetch(gctx->libctx, "SHA512", gctx->propq);
984 static void *s390x_ecd_keygen448(struct ecx_gen_ctx *gctx)
1001 ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_ED448, 1,
1002 gctx->propq);
1013 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
1024 shake = EVP_MD_fetch(gctx->libctx, "SHAKE256", gctx->propq);
1027 if (RAND_priv_bytes_ex(gctx->libctx, privkey, ED448_KEYLEN, 0) <= 0)