Bảo mật BLE

Mô-đun này có các chức năng kiểm soát hoạt động giao tiếp bảo mật BLE (TLS qua BLE).

Tóm tắt

Mô-đun này bao gồm các chức năng triển khai hoạt động giao tiếp TCAT.

Các hàm trong mô-đun này có sẵn khi tính năng BLE Secure API (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE) được bật.

Bạn có thể sử dụng các hàm trong mô-đun này khi bật tính năng TCAT (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE).

Bảng liệt kê

otTcatApplicationProtocol{
  OT_TCAT_APPLICATION_PROTOCOL_NONE = 0,
  OT_TCAT_APPLICATION_PROTOCOL_STATUS = 1,
  OT_TCAT_APPLICATION_PROTOCOL_TCP = 2
}
enum
Đại diện cho giao thức ứng dụng TCAT.
otTcatCommandClass{
  OT_TCAT_COMMAND_CLASS_GENERAL = 0,
  OT_TCAT_COMMAND_CLASS_COMMISSIONING = 1,
  OT_TCAT_COMMAND_CLASS_EXTRACTION = 2,
  OT_TCAT_COMMAND_CLASS_DECOMMISSIONING = 3,
  OT_TCAT_COMMAND_CLASS_APPLICATION = 4
}
enum
Đại diện cho một lớp lệnh TCAT.
otTcatStatusCode{
  OT_TCAT_STATUS_SUCCESS = 0,
  OT_TCAT_STATUS_UNSUPPORTED = 1,
  OT_TCAT_STATUS_PARSE_ERROR = 2,
  OT_TCAT_STATUS_VALUE_ERROR = 3,
  OT_TCAT_STATUS_GENERAL_ERROR = 4,
  OT_TCAT_STATUS_BUSY = 5,
  OT_TCAT_STATUS_UNDEFINED = 6,
  OT_TCAT_STATUS_HASH_ERROR = 7,
  OT_TCAT_STATUS_UNAUTHORIZED = 16
}
enum
Đại diện cho mã trạng thái TCAT.

Typedef

otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) typedef
void(*
Con trỏ để gọi khi trạng thái kết nối bảo mật ble thay đổi.
otHandleBleSecureReceive typedef
Con trỏ để gọi khi nhận dữ liệu qua kết nối TLS bảo mật BLE.
otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext) typedef
void(*
Con trỏ để gọi khi nhận được dữ liệu ứng dụng qua kết nối TLS TCAT.
otHandleTcatJoin)(otError aError, void *aContext) typedef
void(*
Con trỏ để gọi để thông báo về việc hoàn tất hoạt động kết hợp.
otTcatApplicationProtocol typedef
Đại diện cho giao thức ứng dụng TCAT.
otTcatCommandClass typedef
Đại diện cho một lớp lệnh TCAT.
otTcatStatusCode typedef
Đại diện cho mã trạng thái TCAT.
otTcatVendorInfo typedef
Cấu trúc này thể hiện thông tin nhà cung cấp TCAT.

Hàm

otBleSecureConnect(otInstance *aInstance)
Khởi động phiên TLS với một ứng dụng ngang hàng bằng cách sử dụng kết nối BLE đã mở.
otBleSecureDisconnect(otInstance *aInstance)
void
Dừng kết nối BLE và TLS.
otBleSecureFlush(otInstance *aInstance)
Xoá vùng đệm gửi.
otBleSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength)
Trả về base64 của chứng chỉ x509 ngang hàng được mã hoá.
otBleSecureGetPeerSubjectAttributeByOid(otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type)
Trả về giá trị thuộc tính được xác định bằng OID từ đối tượng của chứng chỉ x509 ngang hàng.
otBleSecureGetThreadAttributeFromOwnCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Trả về giá trị thuộc tính cho OID 1.3.6.1.4.1.44970.x từ phần mở rộng v3 của chứng chỉ x509 riêng, trong đó chữ số cuối x được đặt thành aThreadOidDescriptor.
otBleSecureGetThreadAttributeFromPeerCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Trả về giá trị thuộc tính cho OID 1.3.6.1.4.1.44970.x từ phần mở rộng v3 của chứng chỉ x509 ngang hàng, trong đó chữ số cuối x được đặt thành aThreadOidDescriptor.
otBleSecureIsCommandClassAuthorized(otInstance *aInstance, otTcatCommandClass aCommandClass)
bool
Cho biết liệu lớp lệnh TCAT có được cấp phép hay không.
otBleSecureIsConnected(otInstance *aInstance)
bool
Cho biết phiên TLS có được kết nối hay không.
otBleSecureIsConnectionActive(otInstance *aInstance)
bool
Cho biết phiên TLS có đang hoạt động hay không (được kết nối hoặc kết nối).
otBleSecureIsTcatEnabled(otInstance *aInstance)
bool
Cho biết liệu tác nhân TCAT có được bật hay không.
otBleSecureSend(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Gửi gói dữ liệu BLE an toàn.
otBleSecureSendApplicationTlv(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Gửi gói dữ liệu BLE có chứa TLV dữ liệu ứng dụng gửi TCAT.
otBleSecureSendMessage(otInstance *aInstance, otMessage *aMessage)
Gửi tin nhắn BLE bảo mật.
otBleSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Thiết lập CA cấp cao nhất đáng tin cậy.
otBleSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Đặt chứng chỉ X509 của thiết bị cục bộ với khoá riêng tư tương ứng cho phiên TLS có TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
otBleSecureSetPsk(otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Đặt Khoá chia sẻ trước (PSK) và bộ mật mã TLS_PSK_WITH_AES_128_CCM_8.
otBleSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
void
Đặt chế độ xác thực cho kết nối an toàn BLE.
otBleSecureStart(otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext)
Khởi động dịch vụ BLE Secure.
otBleSecureStop(otInstance *aInstance)
void
Dừng máy chủ bảo mật BLE.
otBleSecureTcatStart(otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler)
Bật giao thức TCAT qua BLE Secure.

Cấu trúc

otTcatVendorInfo

Cấu trúc này thể hiện thông tin nhà cung cấp TCAT.

Bảng liệt kê

otTcatApplicationProtocol

 otTcatApplicationProtocol

Đại diện cho giao thức ứng dụng TCAT.

Thuộc tính
OT_TCAT_APPLICATION_PROTOCOL_NONE

Tin nhắn được gửi mà không kích hoạt tác nhân TCAT.

OT_TCAT_APPLICATION_PROTOCOL_STATUS

Tin nhắn gửi đến một dịch vụ UDP.

OT_TCAT_APPLICATION_PROTOCOL_TCP

Tin nhắn được gửi tới một dịch vụ TCP.

otTcatCommandClass

 otTcatCommandClass

Đại diện cho một lớp lệnh TCAT.

Thuộc tính
OT_TCAT_COMMAND_CLASS_APPLICATION

Các lệnh TCAT liên quan đến lớp ứng dụng.

OT_TCAT_COMMAND_CLASS_COMMISSIONING

Các lệnh TCAT liên quan đến việc chạy thử.

OT_TCAT_COMMAND_CLASS_DECOMMISSIONING

Các lệnh TCAT liên quan đến việc ngừng tham gia.

OT_TCAT_COMMAND_CLASS_EXTRACTION

Các lệnh TCAT liên quan đến trích xuất khoá.

OT_TCAT_COMMAND_CLASS_GENERAL

Các lệnh TCAT liên quan đến thao tác chung.

otTcatStatusCode

 otTcatStatusCode

Đại diện cho mã trạng thái TCAT.

Thuộc tính
OT_TCAT_STATUS_BUSY

Không thể thực thi lệnh vì tài nguyên đang bận.

OT_TCAT_STATUS_GENERAL_ERROR

Đã xảy ra lỗi không khớp với bất kỳ danh mục nào khác.

OT_TCAT_STATUS_HASH_ERROR

Giá trị băm mà ủy viên hội viên cung cấp không chính xác.

OT_TCAT_STATUS_PARSE_ERROR

Không thể phân tích cú pháp yêu cầu / lệnh một cách chính xác.

OT_TCAT_STATUS_SUCCESS

Đã xử lý lệnh hoặc yêu cầu thành công.

OT_TCAT_STATUS_UNAUTHORIZED

Người gửi không có đủ quyền đối với lệnh đã cho.

OT_TCAT_STATUS_UNDEFINED

Giá trị, dữ liệu hoặc dịch vụ yêu cầu chưa được xác định (hiện tại) hoặc không có.

OT_TCAT_STATUS_UNSUPPORTED

Không hỗ trợ lệnh đã yêu cầu hoặc TLV đã nhận.

OT_TCAT_STATUS_VALUE_ERROR

Giá trị của TLV được truyền có lỗi.

Typedef

otHandleBleSecureConnect

void(* otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext)

Con trỏ để gọi khi trạng thái kết nối bảo mật ble thay đổi.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aConnected
TRUE, nếu kết nối an toàn đã được thiết lập thì sẽ là FALSE.
[in] aBleConnectionOpen
TRUE nếu kết nối BLE được thiết lập để truyền luồng dữ liệu TLS, nếu không sẽ là FALSE.
[in] aContext
Con trỏ đến thông tin ngữ cảnh tuỳ ý.

otHandleBleSecureReceive

otHandleTcatApplicationDataReceive otHandleBleSecureReceive

Con trỏ để gọi khi nhận dữ liệu qua kết nối TLS bảo mật BLE.

otHandleTcatApplicationDataReceive

void(* otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext)

Con trỏ để gọi khi nhận được dữ liệu ứng dụng qua kết nối TLS TCAT.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aMessage
Con trỏ đến tin nhắn.
[in] aOffset
Vị trí chênh lệch khi bắt đầu dữ liệu ứng dụng.
[in] aTcatApplicationProtocol
Loại giao thức của thông báo đã nhận.
[in] aServiceName
Tên dịch vụ mà thông báo sẽ được chuyển đến.
[in] aContext
Con trỏ đến thông tin ngữ cảnh tuỳ ý.

otHandleTcatJoin

void(* otHandleTcatJoin)(otError aError, void *aContext)

Con trỏ để gọi để thông báo về việc hoàn tất hoạt động kết hợp.

Thông tin chi tiết
Thông số
[in] aError
OT_ERROR_NONE nếu quá trình tham gia thành công. OT_ERROR_SECURE nếu quá trình tham gia không thành công do thông tin đăng nhập bảo mật.
[in] aContext
Con trỏ đến thông tin ngữ cảnh tuỳ ý.

otTcatApplicationProtocol

enum otTcatApplicationProtocol otTcatApplicationProtocol

Đại diện cho giao thức ứng dụng TCAT.

otTcatCommandClass

enum otTcatCommandClass otTcatCommandClass

Đại diện cho một lớp lệnh TCAT.

otTcatStatusCode

enum otTcatStatusCode otTcatStatusCode

Đại diện cho mã trạng thái TCAT.

otTcatVendorInfo

struct otTcatVendorInfo otTcatVendorInfo

Cấu trúc này thể hiện thông tin nhà cung cấp TCAT.

Nội dung của cấu trúc này PHẢI duy trì và không thay đổi trong khi phiên TCAT đang chạy.

Hàm

otBleSecureConnect

otError otBleSecureConnect(
  otInstance *aInstance
)

Khởi động phiên TLS với một ứng dụng ngang hàng bằng cách sử dụng kết nối BLE đã mở.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Giá trị trả về
OT_ERROR_NONE
Đã bắt đầu kết nối TLS thành công.

otBleSecureDisconnect

void otBleSecureDisconnect(
  otInstance *aInstance
)

Dừng kết nối BLE và TLS.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.

otBleSecureFlush

otError otBleSecureFlush(
  otInstance *aInstance
)

Xoá vùng đệm gửi.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Giá trị trả về
OT_ERROR_NONE
Đã xả thành công vùng đệm đầu ra.
OT_ERROR_NO_BUFS
Không phân bổ được bộ nhớ đệm.
OT_ERROR_INVALID_STATE
Kết nối TLS chưa được khởi động.

otBleSecureGetPeerCertificateBase64

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

Trả về base64 của chứng chỉ x509 ngang hàng được mã hoá.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aPeerCert
Con trỏ đến vùng đệm chứng chỉ được mã hoá base64.
[in,out] aCertLength
Khi nhập, kích thước tối đa là aPeerCert. Trên đầu ra, độ dài của chứng chỉ ngang hàng được mã hoá base64.
Giá trị trả về
OT_ERROR_NONE
Nhận thành công chứng chỉ ngang hàng.
OT_ERROR_INVALID_ARGS
aInstance hoặc aCertLength không hợp lệ.
OT_ERROR_INVALID_STATE
Chưa kết nối.
OT_ERROR_NO_BUFS
Không thể phân bổ bộ nhớ cho chứng chỉ.

otBleSecureGetPeerSubjectAttributeByOid

otError otBleSecureGetPeerSubjectAttributeByOid(
  otInstance *aInstance,
  const char *aOid,
  size_t aOidLength,
  uint8_t *aAttributeBuffer,
  size_t *aAttributeLength,
  int *aAsn1Type
)

Trả về giá trị thuộc tính được xác định bằng OID từ đối tượng của chứng chỉ x509 ngang hàng.

OID ngang hàng được cung cấp ở định dạng nhị phân. Độ dài thuộc tính được đặt nếu thuộc tính được đọc thành công hoặc không nếu thuộc tính được đọc không thành công. Loại ASN.1 được thiết lập theo quy định trong tiêu chuẩn ITU-T X.690 nếu thuộc tính được đọc thành công.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aOid
Cần tìm một con trỏ tới OID.
[in] aOidLength
Độ dài của OID.
[out] aAttributeBuffer
Con trỏ đến vùng đệm thuộc tính.
[in,out] aAttributeLength
Khi nhập, kích thước tối đa là aAttributeBuffer. Trên đầu ra, độ dài của thuộc tính được ghi vào vùng đệm.
[out] aAsn1Type
Con trỏ đến loại ASN.1 của thuộc tính được ghi vào vùng đệm.
Giá trị trả về
OT_ERROR_INVALID_STATE
Chưa kết nối.
OT_ERROR_INVALID_ARGS
Độ dài thuộc tính không hợp lệ.
OT_ERROR_NONE
Đã đọc thành công thuộc tính.
OT_ERROR_NO_BUFS
Không đủ bộ nhớ để lưu trữ giá trị thuộc tính.

otBleSecureGetThreadAttributeFromOwnCertificate

otError otBleSecureGetThreadAttributeFromOwnCertificate(
  otInstance *aInstance,
  int aThreadOidDescriptor,
  uint8_t *aAttributeBuffer,
  size_t *aAttributeLength
)

Trả về giá trị thuộc tính cho OID 1.3.6.1.4.1.44970.x từ phần mở rộng v3 của chứng chỉ x509 riêng, trong đó chữ số cuối x được đặt thành aThreadOidDescriptor.

Độ dài thuộc tính được đặt nếu thuộc tính được đọc thành công hoặc không nếu thuộc tính được đọc không thành công. Cần có kết nối để hoạt động.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aThreadOidDescriptor
Chữ số cuối cùng của thuộc tính Thread (OID) thuộc tính Thread.
[out] aAttributeBuffer
Con trỏ đến vùng đệm thuộc tính.
[in,out] aAttributeLength
Khi nhập, kích thước tối đa là aAttributeBuffer. Trên đầu ra, độ dài của thuộc tính được ghi vào vùng đệm.
Giá trị trả về
OT_ERROR_NONE
Đã đọc thành công thuộc tính.
OT_ERROR_INVALID_ARGS
Độ dài thuộc tính không hợp lệ.
OT_NOT_FOUND
Không tìm thấy thuộc tính được yêu cầu.
OT_ERROR_NO_BUFS
Không đủ bộ nhớ để lưu trữ giá trị thuộc tính.
OT_ERROR_INVALID_STATE
Chưa kết nối.
OT_ERROR_NOT_IMPLEMENTED
Giá trị của aThreadOidDescriptor là >127.
OT_ERROR_PARSE
Không thể phân tích cú pháp tiện ích chứng chỉ.

otBleSecureGetThreadAttributeFromPeerCertificate

otError otBleSecureGetThreadAttributeFromPeerCertificate(
  otInstance *aInstance,
  int aThreadOidDescriptor,
  uint8_t *aAttributeBuffer,
  size_t *aAttributeLength
)

Trả về giá trị thuộc tính cho OID 1.3.6.1.4.1.44970.x từ phần mở rộng v3 của chứng chỉ x509 ngang hàng, trong đó chữ số cuối x được đặt thành aThreadOidDescriptor.

Độ dài thuộc tính được đặt nếu thuộc tính được đọc thành công hoặc không nếu thuộc tính được đọc không thành công. Cần có kết nối để hoạt động.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aThreadOidDescriptor
Chữ số cuối cùng của thuộc tính Thread (OID) thuộc tính Thread.
[out] aAttributeBuffer
Con trỏ đến vùng đệm thuộc tính.
[in,out] aAttributeLength
Khi nhập, kích thước tối đa là aAttributeBuffer. Trên đầu ra, độ dài của thuộc tính được ghi vào vùng đệm.
Giá trị trả về
OT_ERROR_NONE
Đã đọc thành công thuộc tính.
OT_ERROR_INVALID_ARGS
Độ dài thuộc tính không hợp lệ.
OT_NOT_FOUND
Không tìm thấy thuộc tính được yêu cầu.
OT_ERROR_NO_BUFS
Không đủ bộ nhớ để lưu trữ giá trị thuộc tính.
OT_ERROR_INVALID_STATE
Chưa kết nối.
OT_ERROR_NOT_IMPLEMENTED
Giá trị của aThreadOidDescriptor là >127.
OT_ERROR_PARSE
Không thể phân tích cú pháp tiện ích chứng chỉ.

otBleSecureIsCommandClassAuthorized

bool otBleSecureIsCommandClassAuthorized(
  otInstance *aInstance,
  otTcatCommandClass aCommandClass
)

Cho biết liệu lớp lệnh TCAT có được cấp phép hay không.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aCommandClass
Một lớp lệnh để kiểm tra.
Giá trị trả về
TRUE
Lớp lệnh đã được uỷ quyền.
FALSE
Lớp lệnh không được uỷ quyền.

otBleSecureIsConnected

bool otBleSecureIsConnected(
  otInstance *aInstance
)

Cho biết phiên TLS có được kết nối hay không.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Giá trị trả về
TRUE
Phiên TLS đã được kết nối.
FALSE
Phiên TLS không được kết nối.

otBleSecureIsConnectionActive

bool otBleSecureIsConnectionActive(
  otInstance *aInstance
)

Cho biết phiên TLS có đang hoạt động hay không (được kết nối hoặc kết nối).

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Giá trị trả về
TRUE
Nếu phiên TLS đang hoạt động.
FALSE
Nếu phiên TLS không hoạt động.

otBleSecureIsTcatEnabled

bool otBleSecureIsTcatEnabled(
  otInstance *aInstance
)

Cho biết liệu tác nhân TCAT có được bật hay không.

Thông tin chi tiết
Giá trị trả về
TRUE
Tác nhân TCAT đang bật.
FALSE
Tác nhân TCAT chưa được bật.

otBleSecureSend

otError otBleSecureSend(
  otInstance *aInstance,
  uint8_t *aBuf,
  uint16_t aLength
)

Gửi gói dữ liệu BLE an toàn.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aBuf
Con trỏ đến dữ liệu cần gửi dưới dạng Giá trị của TLV dữ liệu ứng dụng gửi TCAT.
[in] aLength
Một số cho biết độ dài của vùng đệm dữ liệu.
Giá trị trả về
OT_ERROR_NONE
Đã gửi dữ liệu thành công.
OT_ERROR_NO_BUFS
Không phân bổ được bộ nhớ đệm.
OT_ERROR_INVALID_STATE
Kết nối TLS chưa được khởi động.

otBleSecureSendApplicationTlv

otError otBleSecureSendApplicationTlv(
  otInstance *aInstance,
  uint8_t *aBuf,
  uint16_t aLength
)

Gửi gói dữ liệu BLE có chứa TLV dữ liệu ứng dụng gửi TCAT.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aBuf
Con trỏ đến dữ liệu cần gửi dưới dạng Giá trị của TLV dữ liệu ứng dụng gửi TCAT.
[in] aLength
Một số cho biết độ dài của vùng đệm dữ liệu.
Giá trị trả về
OT_ERROR_NONE
Đã gửi dữ liệu thành công.
OT_ERROR_NO_BUFS
Không phân bổ được bộ nhớ đệm.
OT_ERROR_INVALID_STATE
Kết nối TLS chưa được khởi động.

otBleSecureSendMessage

otError otBleSecureSendMessage(
  otInstance *aInstance,
  otMessage *aMessage
)

Gửi tin nhắn BLE bảo mật.

Nếu giá trị trả về là OT_ERROR_NONE, thì OpenThread sẽ sở hữu aMessage và phương thức gọi không còn tham chiếu đến aMessage nữa. Nếu giá trị trả về không phải là OT_ERROR_NONE, phương thức gọi vẫn giữ quyền sở hữu aMessage, bao gồm cả việc giải phóng aMessage nếu vùng đệm thông báo không còn cần thiết nữa.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aMessage
Con trỏ đến tin nhắn cần gửi.

Thông tin chi tiết
Giá trị trả về
OT_ERROR_NONE
Đã gửi tin nhắn thành công.
OT_ERROR_NO_BUFS
Không phân bổ được bộ nhớ đệm.
OT_ERROR_INVALID_STATE
Kết nối TLS chưa được khởi động.

otBleSecureSetCaCertificateChain

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

Thiết lập CA cấp cao nhất đáng tin cậy.

Cần thiết để xác thực chứng chỉ của ứng dụng ngang hàng.

Chế độ TLS "ECDHE ECDSA với AES 128 CCM 8" để bảo mật BLE.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aX509CaCertificateChain
Con trỏ đến chuỗi CA X509 do PEM định dạng.
[in] aX509CaCertChainLength
Chiều dài của chuỗi.

otBleSecureSetCertificate

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

Đặt chứng chỉ X509 của thiết bị cục bộ với khoá riêng tư tương ứng cho phiên TLS có TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aX509Cert
Con trỏ đến chứng chỉ X509 được định dạng PEM.
[in] aX509Length
Độ dài của chứng chỉ.
[in] aPrivateKey
Con trỏ đến khoá riêng tư có định dạng PEM.
[in] aPrivateKeyLength
Độ dài của khoá riêng tư.

otBleSecureSetPsk

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

Đặt Khoá chia sẻ trước (PSK) và bộ mật mã TLS_PSK_WITH_AES_128_CCM_8.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aPsk
Con trỏ tới PSK.
[in] aPskLength
Độ dài PSK.
[in] aPskIdentity
Tên nhận dạng cho PSK.
[in] aPskIdLength
Độ dài nhận dạng PSK.

otBleSecureSetSslAuthMode

void otBleSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Đặt chế độ xác thực cho kết nối an toàn BLE.

Tắt hoặc bật tính năng xác minh chứng chỉ ngang hàng. Phải được gọi trước khi bắt đầu.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aVerifyPeerCertificate
true, để xác minh chứng chỉ ngang hàng.

otBleSecureStart

otError otBleSecureStart(
  otInstance *aInstance,
  otHandleBleSecureConnect aConnectHandler,
  otHandleBleSecureReceive aReceiveHandler,
  bool aTlvMode,
  void *aContext
)

Khởi động dịch vụ BLE Secure.

Khi chế độ TLV đang hoạt động, hàm aReceiveHandler sẽ được gọi sau khi nhận được một TLV hoàn chỉnh và độ dời thông báo trỏ đến giá trị TLV.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aConnectHandler
Con trỏ đến một hàm sẽ được gọi khi trạng thái kết nối thay đổi.
[in] aReceiveHandler
Con trỏ đến một hàm sẽ được gọi sau khi nhận được dữ liệu qua kết nối TLS.
[in] aTlvMode
Một giá trị boolean cho biết liệu chế độ dòng có được kích hoạt hay không.
[in] aContext
Con trỏ đến thông tin ngữ cảnh tuỳ ý. Có thể là NULL nếu không được sử dụng.
Giá trị trả về
OT_ERROR_NONE
Đã khởi động thành công máy chủ BLE Secure.
OT_ERROR_ALREADY
Dịch vụ này đã được nêu rõ.

otBleSecureStop

void otBleSecureStop(
  otInstance *aInstance
)

Dừng máy chủ bảo mật BLE.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.

otBleSecureTcatStart

otError otBleSecureTcatStart(
  otInstance *aInstance,
  const otTcatVendorInfo *aVendorInfo,
  otHandleTcatJoin aHandler
)

Bật giao thức TCAT qua BLE Secure.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aVendorInfo
Con trỏ đến Thông tin nhà cung cấp (phải vẫn hợp lệ sau lệnh gọi phương thức, có thể là NULL).
[in] aHandler
Con trỏ đến một hàm được gọi khi thao tác kết hợp hoàn tất.
Giá trị trả về
OT_ERROR_NONE
Đã bắt đầu thành công vai trò BLE Secure Joiner.
OT_ERROR_INVALID_ARGS
aElevationPsk hoặc aVendorInfo không hợp lệ.
OT_ERROR_INVALID_STATE
Hàm BLE chưa được bắt đầu hoặc chế độ đường kẻ chưa được chọn.

Macro

OT_TCAT_MAX_SERVICE_NAME_LENGTH

 OT_TCAT_MAX_SERVICE_NAME_LENGTH 15

Độ dài chuỗi tối đa của tên dịch vụ UDP hoặc TCP (không bao gồm ký tự rỗng).

Tài nguyên

Các chủ đề tham khảo API OpenThread bắt nguồn từ mã nguồn, có trên GitHub. Để biết thêm thông tin hoặc để đóng góp cho tài liệu của chúng tôi, hãy tham khảo Tài nguyên.