プラットフォームセキュリティアーキテクチャ(PSA)API
Functions
| Name | |
|---|---|
| int | wolfSSL_CTX_psa_enable(WOLFSSL_CTX * ctx) この関数は、指定されたコンテキストでPSAサポートを有効にします。 |
| int | wolfSSL_set_psa_ctx(WOLFSSL * ssl, struct psa_ssl_ctx * ctx) この関数は、指定されたSSLセッションのPSAコンテキストをセットアップします |
| void | wolfSSL_free_psa_ctx(struct psa_ssl_ctx * ctx) この関数は、PSAコンテキストによって使用されるリソースを解放します |
| int | wolfSSL_psa_set_private_key_id(struct psa_ssl_ctx * ctx, psa_key_id_t id) この関数は、SSLセッションで使用される秘密鍵を設定します |
Functions Documentation
function wolfSSL_CTX_psa_enable
int wolfSSL_CTX_psa_enable(
WOLFSSL_CTX * ctx
)
この関数は、指定されたコンテキストでPSAサポートを有効にします。
Parameters:
- ctx PSAサポートを有効にする必要があるWOLFSSL_CTXオブジェクトへのポインタ
See: wolfSSL_set_psa_ctx
Return:
- WOLFSSL_SUCCESS 成功時
- BAD_FUNC_ARG ctx == NULLの場合
Example
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");
function wolfSSL_set_psa_ctx
int wolfSSL_set_psa_ctx(
WOLFSSL * ssl,
struct psa_ssl_ctx * ctx
)
この関数は、指定されたSSLセッションのPSAコンテキストをセットアップします
Parameters:
- ssl ctxを有効にするWOLFSSLへのポインタ
- ctx struct psa_ssl_ctxへのポインタ(SSLセッションごとに一意である必要があります)
See:
- wolfSSL_psa_set_private_key_id
- wolfSSL_psa_free_psa_ctx
Return:
- WOLFSSL_SUCCESS 成功時
- BAD_FUNC_ARG sslまたはctxがNULLの場合
この関数は、指定されたSSLセッションへのTLSコールバック用のPSAコンテキストをセットアップします。セッションの終了時に、コンテキストによって使用されたリソースは、wolfSSL_free_psa_ctx()を使用して解放する必要があります。
Example
// 新しい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);
function wolfSSL_free_psa_ctx
void wolfSSL_free_psa_ctx(
struct psa_ssl_ctx * ctx
)
この関数は、PSAコンテキストによって使用されるリソースを解放します
Parameters:
- ctx struct psa_ssl_ctxへのポインタ
See: wolfSSL_set_psa_ctx
function wolfSSL_psa_set_private_key_id
int wolfSSL_psa_set_private_key_id(
struct psa_ssl_ctx * ctx,
psa_key_id_t id
)
この関数は、SSLセッションで使用される秘密鍵を設定します
Parameters:
- ctx struct psa_ssl_ctxへのポインタ
- id 秘密鍵として使用されるキーのPSA ID
See: wolfSSL_set_psa_ctx
Example
// 新しい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);
Updated on 2025-12-12 at 03:08:16 +0000