定义在连接时套接字将使用的文件。共有四个文件可以连接到套接字:
这些文件是客户端和服务器套接字中的文件:
客户端
- 私钥、证书 – 如果客户端必须由服务器进行身份验证,则私钥和证书都是必不可少的。使用两个 setsockopt 命令来配置每个文件。
- 根 CA – 这是颁发服务器证书的根证书颁发机构,用于验证服务器是否真实。此文件不是必需的。如果未验证服务器,则虽然会进行连接,但连接命令会返回错误 SL_ESECSNOVERIFY。可以忽略此错误,因为它只是针对未经身份验证的连接提出的警告。
- DH 文件 – 不在客户端中使用
服务器
- 私钥、证书 – 对于服务器而言是必不可少的。
- 根 CA – 颁发给客户端的证书。设置文件后,它要求客户端发送证书以进行客户端身份验证。
- DH 文件 – 用于支持 DH 密码套件 – TLS_DHE_RSA_WITH_AES_256_CBC_SHA。
若要将文件绑定到套接字,请将文件编程到器件。然后,使用 setsockopt 输入文件名。所有受保护的文件必须为 DER 格式。
受保护的文件的 Setsockopt 选项:
- SL_SO_SECURE_FILES_PRIVATE_KEY_FILE_NAME
- SL_SO_SECURE_FILES_CERTIFICATE_FILE_NAME
- SL_SO_SECURE_FILES_CA_FILE_NAME
- SL_SO_SECURE_FILES_DH_KEY_FILE_NAME
例如,使用器件中的文件 rootCA.der:
Sl_SetSockOpt(sockID, SL_SOL_SOCKET, SL_SO_SECURE_FILES_CA_FILE_NAME,”rootCA.der”, strlen(“rootCA.der”));
注意 setsockopt 中的 strlen,而不是 sizeof。