Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

CoAP Aman

Modul ini mencakup fungsi-fungsi yang mengontrol komunikasi CoAP Secure (CoAP over DTLS).

Ringkasan

Fungsi dalam modul ini tersedia ketika fitur CoAP Secure API ( OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE ) diaktifkan.

Typedefs

otHandleCoapSecureClientConnect )(bool aConnected, void *aContext) typedef
void(*
Penunjuk fungsi ini dipanggil ketika status koneksi DTLS berubah.

Fungsi

otCoapSecureAddBlockWiseResource ( otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Fungsi ini menambahkan sumber daya dengan blokir ke server CoAP Secure.
otCoapSecureAddResource ( otInstance *aInstance, otCoapResource *aResource)
void
Fungsi ini menambahkan sumber daya ke server CoAP Secure.
otCoapSecureConnect ( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
Metode ini menginisialisasi sesi DTLS dengan rekan.
otCoapSecureDisconnect ( otInstance *aInstance)
void
Metode ini menghentikan koneksi DTLS.
otCoapSecureGetPeerCertificateBase64 ( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize)
Metode ini mengembalikan sertifikat peer x509 base64 yang dienkode.
otCoapSecureIsConnected ( otInstance *aInstance)
bool
Metode ini menunjukkan apakah sesi DTLS terhubung atau tidak.
otCoapSecureIsConnectionActive ( otInstance *aInstance)
bool
Metode ini menunjukkan aktif atau tidaknya sesi DTLS.
otCoapSecureRemoveBlockWiseResource ( otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Fungsi ini menghapus sumber daya blokir dari server CoAP Secure.
otCoapSecureRemoveResource ( otInstance *aInstance, otCoapResource *aResource)
void
Fungsi ini menghapus sumber daya dari server CoAP Secure.
otCoapSecureSendRequest ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
Metode ini mengirimkan permintaan CoAP melalui koneksi DTLS yang aman.
otCoapSecureSendRequestBlockWise ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Metode ini mengirimkan permintaan CoAP secara blok melalui koneksi DTLS yang aman.
otCoapSecureSendResponse ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Fungsi ini mengirimkan tanggapan CoAP dari server CoAP Secure.
otCoapSecureSendResponseBlockWise ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Fungsi ini mengirimkan respons CoAP secara blokir dari server CoAP Secure.
otCoapSecureSetCaCertificateChain ( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Metode ini menetapkan CA tingkat atas tepercaya.
otCoapSecureSetCertificate ( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Metode ini menyetel sertifikat X509 perangkat lokal dengan kunci pribadi yang sesuai untuk sesi DTLS dengan DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
otCoapSecureSetClientConnectedCallback ( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
void
Metode ini menyetel callback yang terhubung untuk menunjukkan, ketika Klien terhubung ke server CoAP Secure.
otCoapSecureSetDefaultHandler ( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Fungsi ini menyetel penangan default untuk permintaan CoAP Secure yang tidak tertangani.
otCoapSecureSetPsk ( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Metode ini menetapkan Pre-Shared Key (PSK) dan cipher suite DTLS_PSK_WITH_AES_128_CCM_8.
otCoapSecureSetSslAuthMode ( otInstance *aInstance, bool aVerifyPeerCertificate)
void
Metode ini menetapkan mode otentikasi untuk koneksi aman coap.
otCoapSecureStart ( otInstance *aInstance, uint16_t aPort)
Fungsi ini memulai layanan CoAP Secure.
otCoapSecureStop ( otInstance *aInstance)
void
Fungsi ini menghentikan server CoAP Secure.

Typedefs

otHandleCoapSecureClientConnect

void(* otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)

Penunjuk fungsi ini dipanggil ketika status koneksi DTLS berubah.

Detail
Parameter
[in] aConnected
benar, jika koneksi dibuat, salah jika tidak.
[in] aContext
Sebuah penunjuk ke informasi konteks yang berubah-ubah.

Fungsi

otCoapSecureAddBlockWiseResource

void otCoapSecureAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Fungsi ini menambahkan sumber daya dengan blokir ke server CoAP Secure.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aResource
Penunjuk ke sumber daya.

otCoapSecureAddResource

void otCoapSecureAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Fungsi ini menambahkan sumber daya ke server CoAP Secure.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aResource
Penunjuk ke sumber daya.

otCoapSecureConnect

otError otCoapSecureConnect(
  otInstance *aInstance,
  const otSockAddr *aSockAddr,
  otHandleCoapSecureClientConnect aHandler,
  void *aContext
)

Metode ini menginisialisasi sesi DTLS dengan rekan.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aSockAddr
Penunjuk ke alamat soket jarak jauh.
[in] aHandler
Penunjuk ke fungsi yang akan dipanggil saat status koneksi DTLS berubah.
[in] aContext
Penunjuk ke informasi konteks yang berubah-ubah.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil memulai koneksi DTLS.

otCoapSecureDisconnect

void otCoapSecureDisconnect(
  otInstance *aInstance
)

Metode ini menghentikan koneksi DTLS.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.

otCoapSecureGetPeerCertificateBase64

otError otCoapSecureGetPeerCertificateBase64(
  otInstance *aInstance,
  unsigned char *aPeerCert,
  size_t *aCertLength,
  size_t aCertBufferSize
)

Metode ini mengembalikan sertifikat peer x509 base64 yang dienkode.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[out] aPeerCert
Penunjuk ke buffer sertifikat yang dikodekan base64.
[out] aCertLength
Panjang sertifikat rekan berenkode base64.
[in] aCertBufferSize
Ukuran buffer aPeerCert.
Kembalikan Nilai
OT_ERROR_INVALID_STATE
Belum terhubung.
OT_ERROR_NONE
Berhasil mendapatkan sertifikat sesama.
OT_ERROR_NO_BUFS
Tidak dapat mengalokasikan memori untuk sertifikat.

otCoapSecureIsConnected

bool otCoapSecureIsConnected(
  otInstance *aInstance
)

Metode ini menunjukkan apakah sesi DTLS terhubung atau tidak.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
Kembalikan Nilai
TRUE
Sesi DTLS terhubung.
FALSE
Sesi DTLS tidak terhubung.

otCoapSecureIsConnectionActive

bool otCoapSecureIsConnectionActive(
  otInstance *aInstance
)

Metode ini menunjukkan aktif atau tidaknya sesi DTLS.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
Kembalikan Nilai
TRUE
Jika sesi DTLS aktif.
FALSE
Jika sesi DTLS tidak aktif.

otCoapSecureRemoveBlockWiseResource

void otCoapSecureRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Fungsi ini menghapus sumber daya blokir dari server CoAP Secure.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aResource
Penunjuk ke sumber daya.

otCoapSecureRemoveResource

void otCoapSecureRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Fungsi ini menghapus sumber daya dari server CoAP Secure.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aResource
Penunjuk ke sumber daya.

otCoapSecureSendRequest

otError otCoapSecureSendRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  otCoapResponseHandler aHandler,
  void *aContext
)

Metode ini mengirimkan permintaan CoAP melalui koneksi DTLS yang aman.

Jika respons untuk permintaan diharapkan, fungsi dan konteks informasi masing-masing harus disediakan. Jika tidak ada respons yang diharapkan, argumen ini harus berupa pointer NULL. Jika ID Pesan tidak diatur di header (sama dengan 0), fungsi ini akan menetapkan ID Pesan unik ke pesan tersebut.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aMessage
Referensi ke pesan yang akan dikirim.
[in] aHandler
Sebuah penunjuk fungsi yang harus dipanggil pada penerimaan tanggapan atau waktu habis.
[in] aContext
Penunjuk ke informasi konteks yang berubah-ubah.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil mengirim pesan CoAP.
OT_ERROR_NO_BUFS
Gagal mengalokasikan data transmisi ulang.
OT_ERROR_INVALID_STATE
Koneksi DTLS tidak diinisialisasi.

otCoapSecureSendRequestBlockWise

otError otCoapSecureSendRequestBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  otCoapResponseHandler aHandler,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

Metode ini mengirimkan permintaan CoAP secara blok melalui koneksi DTLS yang aman.

Fungsi ini tersedia saat konfigurasi OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE diaktifkan.

Jika respons untuk permintaan diharapkan, fungsi dan konteks informasi masing-masing harus disediakan. Jika tidak ada respons yang diharapkan, argumen ini harus berupa pointer NULL. Jika ID Pesan tidak diatur di header (sama dengan 0), fungsi ini akan menetapkan ID Pesan unik ke pesan tersebut.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aMessage
Referensi ke pesan yang akan dikirim.
[in] aHandler
Sebuah penunjuk fungsi yang harus dipanggil pada penerimaan tanggapan atau waktu habis.
[in] aContext
Sebuah penunjuk ke informasi konteks yang berubah-ubah.
[in] aTransmitHook
Penunjuk fungsi yang dipanggil pada penerimaan respons Block1.
[in] aReceiveHook
Penunjuk fungsi yang dipanggil pada penerimaan respons Block2.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil mengirim pesan CoAP.
OT_ERROR_NO_BUFS
Gagal mengalokasikan data transmisi ulang.
OT_ERROR_INVALID_STATE
Koneksi DTLS tidak diinisialisasi.

otCoapSecureSendResponse

otError otCoapSecureSendResponse(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

Fungsi ini mengirimkan tanggapan CoAP dari server CoAP Secure.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aMessage
Sebuah pointer ke respon CoAP untuk dikirim.
[in] aMessageInfo
aMessage ke info pesan yang terkait dengan aMessage .
Kembalikan Nilai
OT_ERROR_NONE
Berhasil mengantrekan pesan tanggapan CoAP.
OT_ERROR_NO_BUFS
Buffer yang tersedia tidak mencukupi untuk mengirim tanggapan CoAP.

otCoapSecureSendResponseBlockWise

otError otCoapSecureSendResponseBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

Fungsi ini mengirimkan respons CoAP secara blokir dari server CoAP Secure.

Fungsi ini tersedia saat konfigurasi OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE diaktifkan.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aMessage
Sebuah pointer ke respon CoAP untuk dikirim.
[in] aMessageInfo
aMessage ke info pesan yang terkait dengan aMessage .
[in] aContext
Penunjuk ke informasi konteks yang berubah-ubah. Mungkin NULL jika tidak digunakan.
[in] aTransmitHook
Sebuah penunjuk fungsi yang dipanggil pada penerimaan permintaan Block1.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil mengantrekan pesan tanggapan CoAP.
OT_ERROR_NO_BUFS
Buffer yang tersedia tidak mencukupi untuk mengirim tanggapan CoAP.

otCoapSecureSetCaCertificateChain

void otCoapSecureSetCaCertificateChain(
  otInstance *aInstance,
  const uint8_t *aX509CaCertificateChain,
  uint32_t aX509CaCertChainLength
)

Metode ini menetapkan CA tingkat atas tepercaya.

Ini diperlukan untuk memvalidasi sertifikat peer.

Mode DTLS "ECDHE ECDSA dengan AES 128 CCM 8" untuk Aplikasi CoAPS.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aX509CaCertificateChain
Penunjuk ke rantai CA X509 yang diformat PEM.
[in] aX509CaCertChainLength
Panjang rantai.

otCoapSecureSetCertificate

void otCoapSecureSetCertificate(
  otInstance *aInstance,
  const uint8_t *aX509Cert,
  uint32_t aX509Length,
  const uint8_t *aPrivateKey,
  uint32_t aPrivateKeyLength
)

Metode ini menyetel sertifikat X509 perangkat lokal dengan kunci pribadi yang sesuai untuk sesi DTLS dengan DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aX509Cert
Penunjuk ke sertifikat X509 yang diformat PEM.
[in] aX509Length
Panjang sertifikat.
[in] aPrivateKey
Penunjuk ke kunci pribadi yang diformat PEM.
[in] aPrivateKeyLength
Panjang kunci privat.

otCoapSecureSetClientConnectedCallback

void otCoapSecureSetClientConnectedCallback(
  otInstance *aInstance,
  otHandleCoapSecureClientConnect aHandler,
  void *aContext
)

Metode ini menyetel callback yang terhubung untuk menunjukkan, ketika Klien terhubung ke server CoAP Secure.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aHandler
Penunjuk ke fungsi yang akan dipanggil setelah koneksi DTLS dibuat.
[in] aContext
Sebuah penunjuk ke informasi konteks yang berubah-ubah. Mungkin NULL jika tidak digunakan.

otCoapSecureSetDefaultHandler

void otCoapSecureSetDefaultHandler(
  otInstance *aInstance,
  otCoapRequestHandler aHandler,
  void *aContext
)

Fungsi ini menyetel penangan default untuk permintaan CoAP Secure yang tidak tertangani.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aHandler
Sebuah penunjuk fungsi yang akan dipanggil ketika permintaan yang tidak tertangani tiba.
[in] aContext
Sebuah penunjuk ke informasi konteks yang berubah-ubah. Mungkin NULL jika tidak digunakan.

otCoapSecureSetPsk

void otCoapSecureSetPsk(
  otInstance *aInstance,
  const uint8_t *aPsk,
  uint16_t aPskLength,
  const uint8_t *aPskIdentity,
  uint16_t aPskIdLength
)

Metode ini menetapkan Pre-Shared Key (PSK) dan cipher suite DTLS_PSK_WITH_AES_128_CCM_8.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aPsk
Penunjuk ke PSK.
[in] aPskLength
Panjang PSK.
[in] aPskIdentity
Nama Identitas PSK.
[in] aPskIdLength
Panjang Identitas PSK.

otCoapSecureSetSslAuthMode

void otCoapSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Metode ini menetapkan mode otentikasi untuk koneksi aman coap.

Nonaktifkan atau aktifkan verifikasi sertifikat sesama. Harus dipanggil sebelum memulai.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aVerifyPeerCertificate
benar, untuk memverifikasi sertifikat sesama.

otCoapSecureStart

otError otCoapSecureStart(
  otInstance *aInstance,
  uint16_t aPort
)

Fungsi ini memulai layanan CoAP Secure.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aPort
Porta UDP lokal yang akan diikat.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil memulai server CoAP Secure.

otCoapSecureStop

void otCoapSecureStop(
  otInstance *aInstance
)

Fungsi ini menghentikan server CoAP Secure.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.

Makro

OT_DEFAULT_COAP_SECURE_PORT

 OT_DEFAULT_COAP_SECURE_PORT 5684

Porta Aman CoAP default, sebagaimana ditentukan dalam RFC 7252.