CoAP 보안
이 모듈에는 CoAP Secure (DTLS를 통한 CoAP) 통신을 제어하는 함수가 포함되어 있습니다.
요약
이 모듈의 함수는 CoAP Secure API 기능 (OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE
)이 사용 설정된 경우에 사용할 수 있습니다.
Typedef |
|
---|---|
otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)
|
typedefvoid(*
포인터는 DTLS 연결 상태가 변경되면 호출됩니다. |
함수 |
|
---|---|
otCoapSecureAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
|
void
CoAP Secure 서버에 블록별 리소스를 추가합니다.
|
otCoapSecureAddResource(otInstance *aInstance, otCoapResource *aResource)
|
void
CoAP Secure 서버에 리소스를 추가합니다.
|
otCoapSecureConnect(otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
|
피어와 DTLS 세션을 초기화합니다.
|
otCoapSecureDisconnect(otInstance *aInstance)
|
void
DTLS 연결을 중지합니다.
|
otCoapSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize)
|
base64로 인코딩된 피어 x509 인증서를 반환합니다.
|
otCoapSecureIsConnected(otInstance *aInstance)
|
bool
DTLS 세션이 연결되었는지 여부를 나타냅니다.
|
otCoapSecureIsConnectionActive(otInstance *aInstance)
|
bool
DTLS 세션이 활성 상태인지 여부를 나타냅니다.
|
otCoapSecureRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
|
void
CoAP Secure 서버에서 블록별 리소스를 삭제합니다.
|
otCoapSecureRemoveResource(otInstance *aInstance, otCoapResource *aResource)
|
void
CoAP Secure 서버에서 리소스를 삭제합니다.
|
otCoapSecureSendRequest(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
|
보안 DTLS 연결을 통해 CoAP 요청을 전송합니다.
|
otCoapSecureSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
|
보안 DTLS 연결을 통해 CoAP 요청을 블록별로 전송합니다.
|
otCoapSecureSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
|
CoAP Secure 서버에서 CoAP 응답을 전송합니다.
|
otCoapSecureSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
|
CoAP 보안 서버에서 CoAP 응답을 블록 단위로 전송합니다.
|
otCoapSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
|
void
신뢰할 수 있는 최상위 CA를 설정합니다.
|
otCoapSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
|
void
DTLS 세션용 DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8로 비공개 기기의 X509 인증서를 설정합니다.
|
otCoapSecureSetClientConnectedCallback(otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
|
void
클라이언트가 CoAP Secure 서버에 연결될 때 이를 표시하도록 연결된 콜백을 설정합니다.
|
otCoapSecureSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
|
void
처리되지 않은 CoAP 보안 요청에 대한 기본 핸들러를 설정합니다.
|
otCoapSecureSetPsk(otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
|
void
사전 공유 키 (PSK) 및 암호화 DTLS_PSK_WITH_AES_128_CCM_8을 설정합니다.
|
otCoapSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
|
void
coap 보안 연결의 인증 모드를 설정합니다.
|
otCoapSecureStart(otInstance *aInstance, uint16_t aPort)
|
CoAP Secure 서비스를 시작합니다.
|
otCoapSecureStop(otInstance *aInstance)
|
void
CoAP Secure 서버를 중지합니다.
|
Typedef
otHandleCoapSecureClientConnect
void(* otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)
포인터는 DTLS 연결 상태가 변경되면 호출됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
함수
otCoapSecureAddBlockWiseResource
void otCoapSecureAddBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
CoAP Secure 서버에 블록별 리소스를 추가합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otCoapSecureAddResource
void otCoapSecureAddResource( otInstance *aInstance, otCoapResource *aResource )
CoAP Secure 서버에 리소스를 추가합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otCoapSecureConnect
otError otCoapSecureConnect( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext )
피어와 DTLS 세션을 초기화합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
otCoapSecureDisconnect
void otCoapSecureDisconnect( otInstance *aInstance )
DTLS 연결을 중지합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
otCoapSecureGetPeerCertificateBase64
otError otCoapSecureGetPeerCertificateBase64( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize )
base64로 인코딩된 피어 x509 인증서를 반환합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
otCoapSecureIsConnected
bool otCoapSecureIsConnected( otInstance *aInstance )
DTLS 세션이 연결되었는지 여부를 나타냅니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otCoapSecureIsConnectionActive
bool otCoapSecureIsConnectionActive( otInstance *aInstance )
DTLS 세션이 활성 상태인지 여부를 나타냅니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otCoapSecureRemoveBlockWiseResource
void otCoapSecureRemoveBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
CoAP Secure 서버에서 블록별 리소스를 삭제합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otCoapSecureRemoveResource
void otCoapSecureRemoveResource( otInstance *aInstance, otCoapResource *aResource )
CoAP Secure 서버에서 리소스를 삭제합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otCoapSecureSendRequest
otError otCoapSecureSendRequest( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext )
보안 DTLS 연결을 통해 CoAP 요청을 전송합니다.
요청에 대한 응답이 예상되는 경우 해당 함수 및 컨텍스트 정보를 제공해야 합니다. 응답이 예상되지 않는 경우 이러한 인수는 NULL 포인터여야 합니다. 헤더에 메시지 ID가 설정되지 않은 경우 (0과 동일) 이 함수는 메시지에 고유한 메시지 ID를 할당합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
otCoapSecureSendRequestBlockWise
otError otCoapSecureSendRequestBlockWise( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook )
보안 DTLS 연결을 통해 CoAP 요청을 블록별로 전송합니다.
OPENSpanner_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 구성이 사용 설정된 경우 사용할 수 있습니다.
요청에 대한 응답이 예상되는 경우 해당 함수 및 컨텍스트 정보를 제공해야 합니다. 응답이 예상되지 않는 경우 이러한 인수는 NULL 포인터여야 합니다. 헤더에 메시지 ID가 설정되지 않은 경우 (0과 동일) 이 함수는 메시지에 고유한 메시지 ID를 할당합니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||
반환 값 |
|
otCoapSecureSendResponse
otError otCoapSecureSendResponse( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo )
CoAP Secure 서버에서 CoAP 응답을 전송합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otCoapSecureSendResponseBlockWise
otError otCoapSecureSendResponseBlockWise( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook )
CoAP 보안 서버에서 CoAP 응답을 블록 단위로 전송합니다.
OPENSpanner_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 구성이 사용 설정된 경우 사용할 수 있습니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
otCoapSecureSetCaCertificateChain
void otCoapSecureSetCaCertificateChain( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength )
신뢰할 수 있는 최상위 CA를 설정합니다.
이는 피어의 인증서를 검사하는 데 필요합니다.
Application CoAPS의 DTLS 모드 'ECDHE ECDSA with AES 128 CCM 8'
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
otCoapSecureSetCertificate
void otCoapSecureSetCertificate( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength )
DTLS 세션용 DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8로 비공개 기기의 X509 인증서를 설정합니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
otCoapSecureSetClientConnectedCallback
void otCoapSecureSetClientConnectedCallback( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext )
클라이언트가 CoAP Secure 서버에 연결될 때 이를 표시하도록 연결된 콜백을 설정합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
otCoapSecureSetDefaultHandler 클래스의 생성자
void otCoapSecureSetDefaultHandler( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext )
처리되지 않은 CoAP 보안 요청에 대한 기본 핸들러를 설정합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
otCoapSecureSetPsk
void otCoapSecureSetPsk( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength )
사전 공유 키 (PSK) 및 암호화 DTLS_PSK_WITH_AES_128_CCM_8을 설정합니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
otCoapSecureSetSslAuthMode
void otCoapSecureSetSslAuthMode( otInstance *aInstance, bool aVerifyPeerCertificate )
coap 보안 연결의 인증 모드를 설정합니다.
피어 인증서 확인을 사용 중지하거나 사용 설정합니다. 시작 전에 호출해야 합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otCoapSecureStart
otError otCoapSecureStart( otInstance *aInstance, uint16_t aPort )
CoAP Secure 서비스를 시작합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otCoapSecureStop
void otCoapSecureStop( otInstance *aInstance )
CoAP Secure 서버를 중지합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
매크로
OT_DEFAULT_COAP_SECURE_PORT
OT_DEFAULT_COAP_SECURE_PORT 5684
기본 CoAP 보안 포트로, RFC 7252에 지정되어 있습니다.
자료
OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 보거나 문서에 참여하려면 리소스를 참고하세요.