Files
2025-12-03 13:39:09 +09:00

95 lines
2.8 KiB
C

/*!
\ingroup PSA
\brief この関数は、指定されたコンテキストでPSAサポートを有効にします。
\param ctx PSAサポートを有効にする必要があるWOLFSSL_CTXオブジェクトへのポインタ
\return WOLFSSL_SUCCESS 成功時
\return BAD_FUNC_ARG ctx == NULLの場合
_Example_
\code
WOLFSSL_CTX *ctx;
ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method());
if (!ctx)
return NULL;
ret = wolfSSL_CTX_psa_enable(ctx);
if (ret != WOLFSSL_SUCCESS)
printf("can't enable PSA on ctx");
\endcode
\sa wolfSSL_set_psa_ctx
*/
int wolfSSL_CTX_psa_enable(WOLFSSL_CTX *ctx);
/*!
\ingroup PSA
\brief この関数は、指定されたSSLセッションのPSAコンテキストをセットアップします
\param ssl ctxを有効にするWOLFSSLへのポインタ
\param ctx struct psa_ssl_ctxへのポインタ(SSLセッションごとに一意である必要があります)
\return WOLFSSL_SUCCESS 成功時
\return BAD_FUNC_ARG sslまたはctxがNULLの場合
この関数は、指定されたSSLセッションへのTLSコールバック用のPSAコンテキストをセットアップします。セッションの終了時に、コンテキストによって使用されたリソースは、wolfSSL_free_psa_ctx()を使用して解放する必要があります。
_Example_
\code
// 新しいSSLセッションを作成
WOLFSSL *ssl;
struct psa_ssl_ctx psa_ctx = { 0 };
ssl = wolfSSL_new(ctx);
if (!ssl)
return NULL;
// PSAコンテキストをセットアップ
ret = wolfSSL_set_psa_ctx(ssl, ctx);
\endcode
\sa wolfSSL_psa_set_private_key_id
\sa wolfSSL_psa_free_psa_ctx
*/
int wolfSSL_set_psa_ctx(WOLFSSL *ssl, struct psa_ssl_ctx *ctx);
/*!
\ingroup PSA
\brief この関数は、PSAコンテキストによって使用されるリソースを解放します
\param ctx struct psa_ssl_ctxへのポインタ
\sa wolfSSL_set_psa_ctx
*/
void wolfSSL_free_psa_ctx(struct psa_ssl_ctx *ctx);
/*!
\ingroup PSA
\brief この関数は、SSLセッションで使用される秘密鍵を設定します
\param ctx struct psa_ssl_ctxへのポインタ
\param id 秘密鍵として使用されるキーのPSA ID
_Example_
\code
// 新しいSSLセッションを作成
WOLFSSL *ssl;
struct psa_ssl_ctx psa_ctx = { 0 };
psa_key_id_t key_id;
// キープロビジョニングは既に完了
get_private_key_id(&key_id);
ssl = wolfSSL_new(ctx);
if (!ssl)
return NULL;
wolfSSL_psa_set_private_key_id(&psa_ctx, key_id);
wolfSSL_set_psa_ctx(ssl, ctx);
\endcode
\sa wolfSSL_set_psa_ctx
*/
int wolfSSL_psa_set_private_key_id(struct psa_ssl_ctx *ctx,
psa_key_id_t id);