CoAP Güvenli

Bu modül CoAP Secure (DAP üzerinden CoAP) iletişimini kontrol eden işlevleri içerir.

Özet

Bu modüldeki işlevler, CoAP Secure API özelliği (OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE) etkinleştirildiğinde kullanılabilir.

Typedefs

otHandleCoapSecureClientConnect)(bool aConnected, void *aContext) Typedef
void(*
DTLS bağlantı durumu değiştiğinde işaretçi çağrılır.

İşlevler

otCoapSecureAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
CoAP Secure sunucusuna blok halinde bir kaynak ekler.
otCoapSecureAddResource(otInstance *aInstance, otCoapResource *aResource)
void
CoAP Secure sunucusuna bir kaynak ekler.
otCoapSecureConnect(otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
Bir eşle DTLS oturumu başlatır.
otCoapSecureDisconnect(otInstance *aInstance)
void
DTLS bağlantısını durdurur.
otCoapSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize)
Kodlanmış eş x509 sertifikasını temel alır.
otCoapSecureIsConnected(otInstance *aInstance)
bool
DTLS oturumunun bağlı olup olmadığını belirtir.
otCoapSecureIsConnectionActive(otInstance *aInstance)
bool
DTLS oturumunun etkin olup olmadığını belirtir.
otCoapSecureRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Engelleme amaçlı bir kaynağı CoAP Secure sunucusundan kaldırır.
otCoapSecureRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
Bir kaynağı CoAP Secure sunucusundan kaldırır.
otCoapSecureSendRequest(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
Güvenli DTLS bağlantısı üzerinden CoAP isteği gönderir.
otCoapSecureSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Güvenli DTLS bağlantısı üzerinden blok halinde bir CoAP isteği gönderir.
otCoapSecureSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
CoAP Secure sunucusundan bir CoAP yanıtı gönderir.
otCoapSecureSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
CoAP Secure sunucusundan blok halinde bir CoAP yanıtı gönderir.
otCoapSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Güvenilir üst düzey CA'ları ayarlar.
otCoapSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 ile DTLS oturumu için ilgili özel anahtarı içeren yerel cihazın X509 sertifikasını ayarlar.
otCoapSecureSetClientConnectedCallback(otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
void
Bağlı geri çağırmayı, bir istemci CoAP Secure sunucusuna bağlandığında bunu gösterecek şekilde ayarlar.
otCoapSecureSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
İşlenmemiş CoAP Secure istekleri için varsayılan işleyiciyi ayarlar.
otCoapSecureSetPsk(otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Önceden Paylaşılan Anahtarı (PSK) ve şifre paketi DTLS_PSK_WITH_AES_128_CCM_8'i ayarlar.
otCoapSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
void
coap güvenli bağlantısı için kimlik doğrulama modunu ayarlar.
otCoapSecureStart(otInstance *aInstance, uint16_t aPort)
CoAP Secure hizmetini başlatır.
otCoapSecureStop(otInstance *aInstance)
void
CoAP Secure sunucusunu durdurur.

Typedefs

otHandleCoapSecureClientConnect

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

DTLS bağlantı durumu değiştiğinde işaretçi çağrılır.

Ayrıntılar
Parametreler
[in] aConnected
bir bağlantı kurulduysa doğru, aksi takdirde yanlış değerini alır.
[in] aContext
İsteğe bağlı bağlam bilgilerine işaret eder.

İşlevler

otCoapSecureAddBlockWiseResource

void otCoapSecureAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

CoAP Secure sunucusuna blok halinde bir kaynak ekler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aResource
Kaynağın işaretçisi.

otCoapSecureAddResource

void otCoapSecureAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

CoAP Secure sunucusuna bir kaynak ekler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aResource
Kaynağın işaretçisi.

otCoapSecureConnect

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

Bir eşle DTLS oturumu başlatır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aSockAddr
Uzak soket işaretçisi.
[in] aHandler
DTLS bağlantı durumu değiştiğinde çağrılacak bir işlevin işaretçisi.
[in] aContext
İsteğe bağlı bağlam bilgilerine işaret eder.
Döndürülen Değerler
OT_ERROR_NONE
DTLS bağlantısı başarıyla başlatıldı.

otCoapSecureDisconnect

void otCoapSecureDisconnect(
  otInstance *aInstance
)

DTLS bağlantısını durdurur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.

otCoapSecureGetPeerCertificateBase64

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

Kodlanmış eş x509 sertifikasını temel alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[out] aPeerCert
Base64 kodlu sertifika arabelleğine işaretçi.
[out] aCertLength
Base64 kodlamalı eş sertifikasının uzunluğu.
[in] aCertBufferSize
aPeerCert'in arabellek boyutu.
Döndürülen Değerler
OT_ERROR_INVALID_STATE
Henüz bağlanmadı.
OT_ERROR_NONE
Eş sertifika başarıyla alındı.
OT_ERROR_NO_BUFS
Sertifika için bellek ayrılamıyor.

otCoapSecureIsBağlı

bool otCoapSecureIsConnected(
  otInstance *aInstance
)

DTLS oturumunun bağlı olup olmadığını belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
Döndürülen Değerler
TRUE
DTLS oturumu bağlandı.
FALSE
DTLS oturumu bağlı değil.

otCoapSecureIsConnectionActive

bool otCoapSecureIsConnectionActive(
  otInstance *aInstance
)

DTLS oturumunun etkin olup olmadığını belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
Döndürülen Değerler
TRUE
DTLS oturumu etkinse:
FALSE
DTLS oturumu etkin değilse:

otCoapSecureRemoveBlockWiseResource

void otCoapSecureRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Engelleme amaçlı bir kaynağı CoAP Secure sunucusundan kaldırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aResource
Kaynağın işaretçisi.

otCoapSecureRemoveResource

void otCoapSecureRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Bir kaynağı CoAP Secure sunucusundan kaldırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aResource
Kaynağın işaretçisi.

otCoapSecureSendRequest

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

Güvenli DTLS bağlantısı üzerinden CoAP isteği gönderir.

Bir yanıt bekleniyorsa ilgili işlev ve bağlam bilgileri sağlanmalıdır. Yanıt beklenmiyorsa bu bağımsız değişkenler NULL işaretçiler olmalıdır. Başlıkta İleti Kimliği ayarlanmamışsa (eşittir 0) bu işlev, iletiye benzersiz İleti Kimliği atar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aMessage
Gönderilecek iletinin referansı.
[in] aHandler
Yanıt alındığında veya zaman aşımına uğradığında çağrılacak bir işlev işaretçisi.
[in] aContext
İsteğe bağlı bağlam bilgilerine işaret eder.
Döndürülen Değerler
OT_ERROR_NONE
CoAP mesajı başarıyla gönderildi.
OT_ERROR_NO_BUFS
Yeniden iletim verileri ayrılamadı.
OT_ERROR_INVALID_STATE
DTLS bağlantısı başlatılmadı.

otCoapSecureSendRequestBlockWise

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

Güvenli DTLS bağlantısı üzerinden blok halinde bir CoAP isteği gönderir.

OPENPIN_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE yapılandırması etkinleştirildiğinde kullanılabilir.

Bir yanıt bekleniyorsa ilgili işlev ve bağlam bilgileri sağlanmalıdır. Yanıt beklenmiyorsa bu bağımsız değişkenler NULL işaretçiler olmalıdır. Başlıkta İleti Kimliği ayarlanmamışsa (eşittir 0) bu işlev, iletiye benzersiz İleti Kimliği atar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aMessage
Gönderilecek iletinin referansı.
[in] aHandler
Yanıt alındığında veya zaman aşımına uğradığında çağrılacak bir işlev işaretçisi.
[in] aContext
İsteğe bağlı bağlam bilgilerine işaret eder.
[in] aTransmitHook
Block1 yanıt alımında çağrılan bir işlev işaretçisi.
[in] aReceiveHook
Block2 yanıt alımında çağrılan bir işlev işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
CoAP mesajı başarıyla gönderildi.
OT_ERROR_NO_BUFS
Yeniden iletim verileri ayrılamadı.
OT_ERROR_INVALID_STATE
DTLS bağlantısı başlatılmadı.

otCoapSecureSendResponse

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

CoAP Secure sunucusundan bir CoAP yanıtı gönderir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aMessage
Gönderilecek CoAP yanıtının işaretçisi.
[in] aMessageInfo
aMessage ile ilişkili mesaj bilgilerinin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
CoAP yanıt mesajı başarıyla sıraya alındı.
OT_ERROR_NO_BUFS
CoAP yanıtını göndermek için yeterli arabellek yok.

otCoapSecureSendResponseBlockWise

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

CoAP Secure sunucusundan blok halinde bir CoAP yanıtı gönderir.

OPENPIN_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE yapılandırması etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aMessage
Gönderilecek CoAP yanıtının işaretçisi.
[in] aMessageInfo
aMessage ile ilişkili mesaj bilgilerinin işaretçisi.
[in] aContext
İsteğe bağlı bağlam bilgilerine işaret eder. Kullanılmazsa NULL olabilir.
[in] aTransmitHook
Block1 istek kabulünde çağrılan bir işlev işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
CoAP yanıt mesajı başarıyla sıraya alındı.
OT_ERROR_NO_BUFS
CoAP yanıtını göndermek için yeterli arabellek yok.

otCoapSecureSetCaCertificateChain

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

Güvenilir üst düzey CA'ları ayarlar.

Eş sertifikasının doğrulanması için gereklidir.

Uygulama CoAPS için DTLS modu "ECDHE ECDSA with AES 128 CCM 8".

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aX509CaCertificateChain
PEM biçimli X509 CA zincirine ilişkin bir işaretçi.
[in] aX509CaCertChainLength
Zincirin uzunluğu.

otCoapSecureSetCertificate

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

DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 ile DTLS oturumu için ilgili özel anahtarı içeren yerel cihazın X509 sertifikasını ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aX509Cert
PEM biçimli X509 sertifikasının işaretçisi.
[in] aX509Length
Sertifika uzunluğu.
[in] aPrivateKey
PEM biçimli özel anahtara işaretçi.
[in] aPrivateKeyLength
Özel anahtarın uzunluğu.

otCoapSecureSetClientConnectedCallback

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

Bağlı geri çağırmayı, bir istemci CoAP Secure sunucusuna bağlandığında bunu gösterecek şekilde ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aHandler
DTLS bağlantısı kurulduktan sonra çağrılacak bir işlev işaretçisi.
[in] aContext
İsteğe bağlı bağlam bilgilerine işaret eder. Kullanılmazsa NULL olabilir.

otCoapSecureSetDefaultHandler

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

İşlenmemiş CoAP Secure istekleri için varsayılan işleyiciyi ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aHandler
İşlenmemiş istek geldiğinde çağrılacak bir işlev işaretçisi.
[in] aContext
İsteğe bağlı bağlam bilgilerine işaret eder. Kullanılmazsa NULL olabilir.

otCoapSecureSetPsk

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

Önceden Paylaşılan Anahtarı (PSK) ve şifre paketi DTLS_PSK_WITH_AES_128_CCM_8'i ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aPsk
PSK için bir işaretçi.
[in] aPskLength
PSK uzunluğu.
[in] aPskIdentity
PSK'nin Kimlik Adı.
[in] aPskIdLength
PSK Kimliği Uzunluğu.

otCoapSecureSetSslAuthMode

void otCoapSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

coap güvenli bağlantısı için kimlik doğrulama modunu ayarlar.

Eş sertifikasının devre dışı bırakılması veya etkinleştirilmesi. Başlamadan önce çağrılmalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aVerifyPeerCertificate
true olarak eşlenebilir.

otCoapSecureStart

otError otCoapSecureStart(
  otInstance *aInstance,
  uint16_t aPort
)

CoAP Secure hizmetini başlatır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aPort
Bağlanılacak yerel UDP bağlantı noktası.
Döndürülen Değerler
OT_ERROR_NONE
CoAP Secure sunucusu başarıyla başlatıldı.

otCoapSecureStop

void otCoapSecureStop(
  otInstance *aInstance
)

CoAP Secure sunucusunu durdurur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.

Makrolar

OT_DEFAULT_COAP_SECURE_PORT

 OT_DEFAULT_COAP_SECURE_PORT 5684

RFC 7252'de belirtildiği gibi varsayılan CoAP Güvenli bağlantı noktası.

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar sayfasına göz atın.