# 数据胶囊封装对环境有哪些要求？
数据胶囊（Data Capsule）是一种对敏感文件进行加密封装的技术方案。用户通过 **Java SDK** 在本地对需要保护的文件进行加密，将原始文件封装为 .dcap 格式的胶囊文件。胶囊内部包含加密数据、数据策略、密钥胶囊和权属信息，支持细粒度的访问控制（操作权限、有效期、IP 白名单等）。
数据胶囊 Java SDK 通过 JNA 调用底层加解密引擎，因此运行环境需满足以下依赖要求。请在部署前确认目标服务器满足以下条件。
#### 支持的架构
| 架构                  | 状态   | 说明                     |
|:---|:---|:---|
| x86_64（Intel/AMD） | 已验证 | ELF 64-bit LSB，完整测试通过 |
| aarch64（ARM）        | 已支持  | 提供 arm64 原生库，适用于鲲鹏服务器  |
   
#### 系统依赖要求
SDK 底层加密引擎依赖 **OpenSSL 3.0.0+**，不兼容 OpenSSL 1.x 系统。如果目标系统默认安装的是 OpenSSL 1.x，需额外安装 OpenSSL 3.x 并确保 libssl.so.3 和 libcrypto.so.3 可以被动态连接器找到。
| 依赖                | 最低版本   | 说明                                                       |
|:---|:---|:---|
| Linux 内核            | 3.10+  | 支持 EulerOS 2.5+、Ubuntu 20.04+、CentOS 7+ 等主流 Linux 发行版。     |
| glibc（C 标准库）       | 2.17+ | SDK 底层依赖 GLIBC_2.17 和 GLIBCXX_3.4.21 符号。                 |
| libstdc++（C++ 标准库） | 6+      | 需提供 GLIBCXX_3.4.21 及 CXXABI_1.3 符号。                     |
| OpenSSL           | 3.0.0+ | SDK 依赖 OPENSSL_3.0.0 符号（EVP/GCM/ECDSA 等），不支持 OpenSSL 1.x。 |
| Java（JDK）         | 17+    | Spring Boot 3.2 要求 Java 17，JNA 5.14+ 兼容。                 |
   
#### 快速检查环境是否符合要求
在目标服务器上执行以下命令验证环境：
```
# 检查架构
uname -m                        # 预期: x86_64 或 aarch64
# 检查 glibc 版本
ldd --version | head -1         # 预期: 2.17 或更高
# 检查 OpenSSL 版本（需 3.0.0+）
openssl version                 # 预期: OpenSSL 3.0.x
# 检查 Java 版本
java -version                   # 预期: 17 或更高
```
#### 相关文档
数据胶囊封装的操作步骤，请参考[数据胶囊](https://support.huaweicloud.com/highsecurity-dsc/dsc_01_6103.html)章节。
