コンテンツにスキップ

プラットフォームセキュリティアーキテクチャ(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:

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