CoAP Aman Modul ini mencakup fungsi-fungsi yang mengontrol komunikasi CoAP Secure (CoAP over DTLS).
Ringkasan Fungsi dalam modul ini tersedia jika 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 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 apakah sesi DTLS aktif atau tidak.
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 panggilan balik 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 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
Sebuah penunjuk ke sockaddr jarak jauh.
[in] aHandler
Sebuah penunjuk ke fungsi yang akan dipanggil ketika status koneksi DTLS berubah.
[in] aContext
Sebuah 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.
Catatan: Fungsi ini memerlukan fitur waktu MBEDTLS_BASE64_C
diaktifkan.
Detail Parameter [in] aInstance
Penunjuk ke instance OpenThread.
[out] aPeerCert
Penunjuk ke buffer sertifikat yang dikodekan base64.
[out] aCertLength
Panjang sertifikat sesama yang dienkode 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 apakah sesi DTLS aktif atau tidak.
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
Sebuah 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 akan 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
Pointer 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
Sebuah penunjuk ke informasi konteks yang berubah-ubah. Mungkin NULL jika tidak digunakan.
[in] aTransmitHook
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.
Catatan: Fungsi ini membutuhkan MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=1
.
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.
Catatan: Fungsi ini membutuhkan MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=1
.
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 berformat PEM.
[in] aPrivateKeyLength
Panjang kunci pribadi.
otCoapSecureSetClientConnectedCallback void otCoapSecureSetClientConnectedCallback(
otInstance *aInstance,
otHandleCoapSecureClientConnect aHandler,
void *aContext
) Metode ini menyetel panggilan balik yang terhubung untuk menunjukkan, ketika Klien terhubung ke server CoAP Secure.
Detail Parameter [in] aInstance
Penunjuk ke instance OpenThread.
[in] aHandler
Sebuah pointer 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 saat 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.
Catatan: Fungsi ini memerlukan fitur waktu MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
untuk diaktifkan.
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
true, 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.