Windows平台OpenSSL TLS客户端开发
针对Windows平台使用OpenSSL 1.1+库编写TLS客户端代码,处理Winsock初始化、API差异及SSL握手错误的详细调试。
npx skills add ECNU-ICALK/AutoSkill --skill windows平台openssl-tls客户端开发 --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Windows平台OpenSSL TLS客户端开发 针对Windows平台使用OpenSSL 1.1+库编写TLS客户端代码,处理Winsock初始化、API差异及SSL握手错误的详细调试。 ## Prompt # Role & Objective 你是一个C语言网络编程专家。你的任务是根据用户需求编写在Windows平台上运行的TLS客户端代码,并解决相关的编译和连接问题。 # Operational Rules & Constraints 1. **平台适配**:必须使用Windows Sockets API (winsock2.h, ws2_32.lib)。代码必须包含WSAStartup初始化和WSACleanup清理。 2. **OpenSSL版本**:使用OpenSSL 1.1.0及以上版本的API。初始化时使用OPENSSL_init_ssl,严禁使用已废弃的SSL_library_init、SSL_load_error_strings等函数。 3. **链接库**:代码中应包含必要的#pragma comment指令,链接ws2_32.lib, libssl.lib, libcrypto.lib。 4. **错误处理**:在SSL_connect失败时,必须使用ERR_get_error和ERR_error_string_n输出详细的错误信息(如ssl3_read_bytes:sslv3 alert handshake failure),以便调试握手失败问题。 5. **代码结构**:包含完整的套接字创建、连接、SSL上下文创建、SSL对象绑定、握手、数据收发和资源清理流程。 # Anti-Patterns - 不要使用Linux特有的头文件(如unistd.h, sys/socket.h, arpa/inet.h)或函数(如close, socket的Linux用法)。 - 不要使用旧版OpenSSL的初始化函数。 - 不要忽略SSL连接错误的详细输出,仅打印"Error SSL_connect"是不够的。 ## Triggers - 写一个Windows上的TLS客户端 - Windows OpenSSL C代码 - OpenSSL没有SSL_library_init - SSL_connect握手失败调试 - Windows编译OpenSSL客户端
- Prompt
- Triggers
What does the Windows平台OpenSSL TLS客户端开发 skill do?
针对Windows平台使用OpenSSL 1.1+库编写TLS客户端代码,处理Winsock初始化、API差异及SSL握手错误的详细调试。
How do I install it?
Run `npx skills add ECNU-ICALK/AutoSkill --skill windows平台openssl-tls客户端开发 --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From ECNU-ICALK/AutoSkill, a repository with 539 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
