psa.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*!
  2. \ingroup PSA
  3. \brief この関数は、与えられたコンテキストでのPSAサポートを可能にします。
  4. \param ctx PSAサポートを有効にする必要があるWOLFSSL_CTXオブジェクトへのポインタ
  5. \return WOLFSSL_SUCCESS 成功した
  6. _Example_
  7. \code
  8. WOLFSSL_CTX *ctx;
  9. ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method());
  10. if (!ctx)
  11. return NULL;
  12. ret = wolfSSL_CTX_psa_enable(ctx);
  13. if (ret != WOLFSSL_SUCCESS)
  14. printf("can't enable PSA on ctx");
  15. \endcode
  16. \sa wolfSSL_set_psa_ctx
  17. */
  18. int wolfSSL_CTX_psa_enable(WOLFSSL_CTX *ctx);
  19. /*!
  20. \ingroup PSA
  21. \brief 与えられたSSLセッションのPSAコンテキストを設定する機能
  22. \param ssl CTXが有効になるWolfSSLへのポインタ
  23. \param ctx Struct PSA_SSL_CTXへのポインタ(SSLセッションに固有である必要があります)
  24. \return WOLFSSL_SUCCESS 成功した
  25. _Example_
  26. \code
  27. // Create new ssl session
  28. WOLFSSL *ssl;
  29. struct psa_ssl_ctx psa_ctx = { 0 };
  30. ssl = wolfSSL_new(ctx);
  31. if (!ssl)
  32. return NULL;
  33. // setup PSA context
  34. ret = wolfSSL_set_psa_ctx(ssl, ctx);
  35. \endcode
  36. \sa wolfSSL_psa_set_private_key_id
  37. \sa wolfSSL_psa_free_psa_ctx
  38. */
  39. int wolfSSL_set_psa_ctx(WOLFSSL *ssl, struct psa_ssl_ctx *ctx);
  40. /*!
  41. \ingroup PSA
  42. \brief この関数はPSAコンテキストによって使用されるリソースを解放します
  43. \sa wolfSSL_set_psa_ctx
  44. */
  45. void wolfSSL_free_psa_ctx(struct psa_ssl_ctx *ctx);
  46. /*!
  47. \ingroup PSA
  48. \brief この関数は、SSLセッションによって使用される秘密鍵を設定します
  49. \param ctx 構造体PSA_SSL_CTXへのポインタ
  50. _Example_
  51. \code
  52. // Create new ssl session
  53. WOLFSSL *ssl;
  54. struct psa_ssl_ctx psa_ctx = { 0 };
  55. psa_key_id_t key_id;
  56. // key provisioning already done
  57. get_private_key_id(&key_id);
  58. ssl = wolfSSL_new(ctx);
  59. if (!ssl)
  60. return NULL;
  61. wolfSSL_psa_set_private_key_id(&psa_ctx, key_id);
  62. wolfSSL_set_psa_ctx(ssl, ctx);
  63. \endcode
  64. \sa wolfSSL_set_psa_ctx
  65. */
  66. int wolfSSL_psa_set_private_key_id(struct psa_ssl_ctx *ctx,
  67. psa_key_id_t id);