# BSPHP-C-DEMO-CARD

卡模式（`.ic`）C 语言复刻示例，对应 macOS Swift card demo 的核心请求加密逻辑。

## 复刻要点

- 与登录模式同协议：`appsafecode + AES-128-CBC + RSA PKCS1`
- 保留 `parameter={urlencode(enc|rsa)}` 提交格式
- 提供卡模式接口示例：`login.ic`、`getinfo.ic`

## 文件说明

- `bsphp_config.h`: 配置注释与模板
- `bsphp_crypto.c/.h`: 加密工具
- `bsphp_client.c/.h`: 卡模式接口封装
- `main.c`: 启动示例

## 配置备注

在 `bsphp_config.h` 中填写：

- `BSPHP_API_URL`
- `BSPHP_MUTUAL_KEY`
- `BSPHP_SERVER_PRIVATE_KEY_B64`
- `BSPHP_CLIENT_PUBLIC_KEY_B64`
- `BSPHP_SIGNATURE_TAIL`：`"json"` 或 `"XML"`（签名串末尾，与后台一致）

可选：`bsphp_client_set_signature_tail(&client, "XML");`

## 编译示例（Windows + MSYS2/MinGW）

```bash
gcc main.c bsphp_client.c bsphp_crypto.c -o bsphp_card_demo -lcurl -lssl -lcrypto
```

## VS2022 / CMake 构建

- 回到根目录 `BSPHP-C-DEMO`
- 首次建议执行 `vcpkg_init.bat`（自动安装 openssl/curl）
- 运行 `build_vs2022_x64.bat`
- 或在 Visual Studio 中直接打开根目录 `CMakeLists.txt`

