Skip to content
Back to skills

Windows平台Openssl Tls客户端开发

ASecurity

针对Windows平台使用OpenSSL 1.1+库编写TLS客户端代码,处理Winsock初始化、API差异及SSL握手错误的详细调试。

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsapi

Works with

  • api

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill 'windows平台openssl-tls客户端开发' --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Windows平台Openssl Tls客户端开发?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Windows平台Openssl Tls客户端开发
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-windows-openssl-tls/badge)](https://www.skillsdirectory.com/skills/david-li0406-windows-openssl-tls)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "8bab404d-6199-4733-a2bf-7dd1ec61d4a2"
name: "Windows平台OpenSSL TLS客户端开发"
description: "针对Windows平台使用OpenSSL 1.1+库编写TLS客户端代码,处理Winsock初始化、API差异及SSL握手错误的详细调试。"
version: "0.1.0"
tags:
  - "C语言"
  - "OpenSSL"
  - "Windows"
  - "TLS客户端"
  - "网络编程"
triggers:
  - "写一个Windows上的TLS客户端"
  - "Windows OpenSSL C代码"
  - "OpenSSL没有SSL_library_init"
  - "SSL_connect握手失败调试"
  - "Windows编译OpenSSL客户端"
---

# 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客户端

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…