[h2]content
char** NetStack_Certificates::content
描述
证书的PEM内容。
| 名称 | 描述 |
|---|---|
| net_ssl_c.h | 为SSL/TLS证书链校验模块定义C接口。 引用文件: <network/netstack/net_ssl/net_ssl_c.h> |
| net_ssl_c_type.h | 定义SSL/TLS证书链校验模块的C接口需要的数据结构。 引用文件: <network/netstack/net_ssl/net_ssl_c.h> |
| net_websocket.h | 为websocket客户端模块定义C接口。引用文件: <network/netstack/net_websocket.h> |
| net_websocket_type.h | 定义websocket客户端模块的C接口需要的数据结构。引用文件: <network/net_websocket_type.h> |
| 名称 | 描述 |
|---|---|
| NetStack_CertBlob | 证书数据结构体。 |
| NetStack_CertificatePinning | 证书锁定信息数据结构体。 |
| NetStack_Certificates | 证书信息数据结构体。 |
| WebSocket_CloseResult | websocket客户端来自服务端关闭的参数。 |
| WebSocket_CloseOption | websocket客户端主动关闭的参数。 |
| WebSocket_ErrorResult | websocket客户端来自服务端连接错误的参数。 |
| WebSocket_OpenResult | websocket客户端来自服务端连接成功的参数。 |
| WebSocket_Header | websocket客户端增加header头的链表节点。 |
| WebSocket_RequestOptions | websocket客户端和服务端建立连接的参数。 |
| WebSocket | websocket客户端结构体。 |
| 名称 | 描述 |
|---|---|
| (* WebSocket_OnOpenCallback) (struct WebSocket *client, WebSocket_OpenResult openResult) | websocket客户端接收open消息的回调函数定义。 |
| (* WebSocket_OnMessageCallback) (struct WebSocket *client, char *data, uint32_t length) | websocket客户端接收数据的回调函数定义。每个消息最大长度为4K,超过4K自动分片。 |
| (* WebSocket_OnErrorCallback) (struct WebSocket *client, WebSocket_ErrorResult errorResult) | websocket客户端接收error错误消息的回调函数定义。 |
| (* WebSocket_OnCloseCallback) (struct WebSocket *client, WebSocket_CloseResult closeResult) | websocket客户端接收close消息的回调函数定义。 |
| 名称 | 描述 |
|---|---|
| NetStack_CERT_TYPE_PEM = 0, NetStack_CERT_TYPE_DER = 1, NetStack_CERT_TYPE_INVALID } | 证书类型枚举。 |
| WEBSOCKET_OK = 0, E_BASE = 1000, WEBSOCKET_CLIENT_NULL = (E_BASE + 1), WEBSOCKET_CLIENT_NOT_CREATED = (E_BASE + 2), WEBSOCKET_CONNECTION_ERROR = (E_BASE + 3), WEBSOCKET_CONNECTION_PARSE_URL_ERROR = (E_BASE + 5), WEBSOCKET_CONNECTION_NO_MEMORY = (E_BASE + 6), WEBSOCKET_CONNECTION_CLOSED_BY_PEER = (E_BASE + 7), WEBSOCKET_DESTROYED = (E_BASE + 8), WEBSOCKET_PROTOCOL_ERROR = (E_BASE + 9), WEBSOCKET_SEND_NO_MEMORY = (E_BASE + 10), WEBSOCKET_SEND_DATA_NULL = (E_BASE + 11), WEBSOCKET_DATA_LENGTH_EXCEEDED = (E_BASE + 12), WEBSOCKET_QUEUE_LENGTH_EXCEEDED = (E_BASE + 13), WEBSOCKET_NO_CLIENT_CONTEXT = (E_BASE + 14), WEBSOCKET_NO_HEADER_CONTEXT = (E_BASE + 15), WEBSOCKET_HEADER_EXCEEDED = (E_BASE + 16), WEBSOCKET_NO_CONNECTION = (E_BASE + 17), WEBSOCKET_NO_CONNECTION_CONTEXT = (E_BASE + 18) } | websocket错误码。 |
NetStack_CertificatePinningKind { PUBLIC_KEY, } | 证书锁定类型。 |
| SHA_256, } | 哈希算法类型。 |
| 名称 | 描述 |
|---|---|
| OH_WebSocketClient_Constructor (WebSocket_OnOpenCallback onOpen, WebSocket_OnMessageCallback onMessage, WebSocket_OnErrorCallback onError, WebSocket_OnCloseCallback onclose) | Websocket客户端的构造函数。 |
| OH_WebSocketClient_AddHeader (struct WebSocket *client, struct WebSocket_Header header) | 将header头信息添加到client客户端request中。 |
| OH_WebSocketClient_Connect (struct WebSocket *client, const char *url, struct WebSocket_RequestOptions options) | 客户端连接服务端。 |
| OH_WebSocketClient_Send (struct WebSocket *client, char *data, size_t length) | 客户端向服务端发送数据。 |
| OH_WebSocketClient_Close (struct WebSocket *client, struct WebSocket_CloseOption options) | 客户端主动关闭websocket连接。 |
| OH_WebSocketClient_Destroy (struct WebSocket *client) | 释放websocket连接上下文和资源。 |
| OH_NetStack_GetPinSetForHostName(const char *hostname, NetStack_CertificatePinning *pin) | 获取证书锁定信息。 |
| OH_NetStack_GetCertificatesForHostName(const char *hostname, NetStack_Certificates *certs) | 获取证书信息。 |
| OH_Netstack_DestroyCertificatesContent(NetStack_Certificates *certs) | 释放证书内容。 |
typedef void(* WebSocket_OnCloseCallback) (struct WebSocket *client, WebSocket_CloseResult closeResult)
描述
websocket客户端接收close消息的回调函数定义
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| client | websocket客户端 |
| closeResult | websocket客户端接收关闭消息的内容 |
typedef void(* WebSocket_OnErrorCallback) (struct WebSocket *client, WebSocket_ErrorResult errorResult)
描述
websocket客户端接收error错误消息的回调函数定义
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| client | websocket客户端 |
| errorResult | websocket客户端接收连接错误消息的内容 |
typedef void(* WebSocket_OnMessageCallback) (struct WebSocket *client, char *data, uint32_t length)
描述
websocket客户端接收数据的回调函数定义
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| client | websocket客户端 |
| data | websocket客户端接收的数据 |
| length | websocket客户端接收的数据长度 |
typedef void(* WebSocket_OnOpenCallback) (struct WebSocket *client, WebSocket_OpenResult openResult)
描述
websocket客户端接收open消息的回调函数定义
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| client | websocket客户端 |
| openResult | websocket客户端接收建立连接消息的内容 |
enum NetStack_CertType
描述
证书类型枚举。
起始版本: 11
| 枚举值 | 描述 |
|---|---|
| NetStack_CERT_TYPE_PEM | PEM证书类型。 |
| NetStack_CERT_TYPE_DER | DER证书类型。 |
| NetStack_CERT_TYPE_INVALID | 错误证书类型。 |
enum WebSocket_ErrCode
描述
websocket错误码
起始版本: 11
| 枚举值 | 描述 |
|---|---|
| WEBSOCKET_OK | 执行成功。 |
| E_BASE | 异常错误代码的基础。 |
| WEBSOCKET_CLIENT_NULL | websocket为空。 |
| WEBSOCKET_CLIENT_NOT_CREATED | websocket未创建。 |
| WEBSOCKET_CONNECTION_ERROR | websocket客户端连接错误。 |
| WEBSOCKET_CONNECTION_PARSE_URL_ERROR | websocket客户端连接参数解析错误。 |
| WEBSOCKET_CONNECTION_NO_MEMORY | websocket客户端连接时创建上下文无内存。 |
| WEBSOCKET_CONNECTION_CLOSED_BY_PEER | 初始化时候关闭。 |
| WEBSOCKET_DESTROYED | websocket连接被销毁。 |
| WEBSOCKET_PROTOCOL_ERROR | websocket客户端连接时候协议错误。 |
| WEBSOCKET_SEND_NO_MEMORY | websocket客户端发送数据时候没有足够内存。 |
| WEBSOCKET_SEND_DATA_NULL | websocket客户端发送数据为空。 |
| WEBSOCKET_DATA_LENGTH_EXCEEDED | websocket客户端发送数据长度超限制。 |
| WEBSOCKET_QUEUE_LENGTH_EXCEEDED | websocket客户端发送数据队列长度超限制。 |
| WEBSOCKET_NO_CLIENT_CONTEXT | websocket客户端上下文为空。 |
| WEBSOCKET_NO_HEADER_CONTEXT | websocket客户端header头异常。 |
| WEBSOCKET_HEADER_EXCEEDED | websocket客户端header头超过限制。 |
| WEBSOCKET_NO_CONNECTION | websocket客户端没有连接。 |
| WEBSOCKET_NO_CONNECTION_CONTEXT | websocket客户端没有连接上下文。 |
enum NetStack_CertificatePinningKind
描述
证书锁定类型枚举。
起始版本: 12
| 枚举值 | 描述 |
|---|---|
| PUBLIC_KEY | 公钥锁定类型。 |
uint32_t OH_NetStack_CertVerification(const struct NetStack_CertBlob * cert, const struct NetStack_CertBlob * caCert )
描述
证书链校验接口。
系统能力: SystemCapability.Communication.NetStack
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| cert | 用户传入的待校验证书。 |
| caCert | 用户指定的证书,若为空则以系统预置证书进行校验。 |
返回:
0 - 成功.
2305001 - 未指定的错误.
2305002 - 无法获取颁发者证书.
2305003 - 无法获取证书吊销列表(CRL).
2305004 - 无法解密证书签名.
2305005 - 无法解密CRL签名.
2305006 - 无法解码颁发者公钥.
2305007 - 证书签名失败.
2305008 - CRL签名失败.
2305009 - 证书尚未生效.
2305010 - 证书已过期.
2305011 - CRL尚未有效.
2305012 - CRL已过期.
2305023 - 证书已被吊销.
2305024 - 证书颁发机构(CA)无效.
2305027 - 证书不受信任.
2305069 - 证书验证时发生错误调用或无效的参数.
int32_t OH_NetStack_GetPinSetForHostName (const char * hostname, NetStack_CertificatePinning * pin)
描述
获取证书锁定信息。
系统能力: SystemCapability.Communication.NetStack
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| hostname | 主机名。 |
| pin | 用户接受证书锁定信息的结构体。 |
返回:
0 - 成功.
401- 参数设置错误.
2305999 - 内存错误.
int32_t OH_NetStack_GetCertificatesForHostName(const char * hostname, NetStack_Certificates * certs)
描述
获取证书信息。
系统能力: SystemCapability.Communication.NetStack
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| hostname | 主机名。 |
| certs | 用户接受证书信息的结构体。 |
返回:
0 - 成功.
401- 参数设置错误.
2305999 - 内存错误.
void OH_Netstack_DestroyCertificatesContent(NetStack_Certificates * certs)
描述
释放证书内容(certs->content),当NetStack_Certificates使用结束时调用此方法释放该结构体中证书的内存。
系统能力: SystemCapability.Communication.NetStack
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| certs | 证书信息结构体。 |
int OH_WebSocketClient_AddHeader (struct WebSocket * client, struct WebSocket_Header header )
描述
将header头信息添加到client客户端request中。
系统能力: SystemCapability.Communication.NetStack
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| client | 客户端指针。 |
| header | header头信息。 |
返回:
返回值为0表示执行成功。返回错细信息可以查看OH_Websocket_ErrCode。
int OH_WebSocketClient_Close (struct WebSocket * client, struct WebSocket_CloseOption options )
描述
客户端主动关闭websocket连接。
系统能力: SystemCapability.Communication.NetStack
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| client | 客户端。 |
| url | 客户端要连接到服务端的地址。 |
| options | 发起关闭连接的可选参数。 |
返回:
返回值为0表示执行成功。返回错细信息可以查看OH_Websocket_ErrCode。
Permission:
ohos.permission.INTERNET
int OH_WebSocketClient_Connect (struct WebSocket * client, const char * url, struct WebSocket_RequestOptions options )
描述
客户端连接服务端。
系统能力: SystemCapability.Communication.NetStack
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| client | 客户端指针。 |
| url | 客户端要连接到服务端的地址。 |
| options | 发起连接的可选参数。 |
返回:
返回值为0表示执行成功。返回错细信息可以查看OH_Websocket_ErrCode。
Permission:
ohos.permission.INTERNET
struct WebSocket* OH_WebSocketClient_Constructor (WebSocket_OnOpenCallback onOpen, WebSocket_OnMessageCallback onMessage, WebSocket_OnErrorCallback onError, WebSocket_OnCloseCallback onclose )
描述
Websocket客户端的构造函数。
系统能力: SystemCapability.Communication.NetStack
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| onMessage | 客户端定义的接收消息的回调函数。 |
| onClose | 客户端定义的关闭消息的回调函数。 |
| onError | 客户端定义的错误消息的回调函数。 |
| onOpen | 客户端定义的建立连接消息的回调函数。 |
返回:
成功返回客户端指针,失败返回为NULL。
int OH_WebSocketClient_Destroy (struct WebSocket * client)
描述
释放websocket连接上下文和资源。
系统能力: SystemCapability.Communication.NetStack
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| client | 客户端。 |
返回:
返回值为0表示执行成功。返回错细信息可以查看OH_Websocket_ErrCode。
Permission:
ohos.permission.INTERNET
int OH_WebSocketClient_Send (struct WebSocket * client, char * data, size_t length )
描述
客户端向服务端发送数据。
系统能力: SystemCapability.Communication.NetStack
起始版本: 11
参数:
| 名称 | 描述 |
|---|---|
| client | 客户端。 |
| data | 客户端发送的数据。 |
| length | 客户端发送的数据长度。 |
返回:
0 - 成功.
返回值为0表示执行成功。返回错细信息可以查看OH_Websocket_ErrCode。
Permission:
ohos.permission.INTERNET