我的任务是在桌面应用程序和移动设备之间传输小的二进制消息(1 或 2 kb 长)。消息应该非对称加密(例如 RSA)。据我所知,应该使用混合密码系统来完成此类任务:
- 生成随机对称密钥
- 使用对称密钥加密纯文本(例如使用 AES)
- 用公钥加密对称密钥
- 传输密文和加密的对称密钥
我不想发明一种自己的格式来存储密文和加密的对称密钥。所以我偶然发现了 CMS 标准(加密消息语法)。乍一看,它看起来完全符合我的需要。如果我正确理解标准,它会嵌入密文和加密的对称密钥以及有关所用算法的信息。
谁能说是否应该使用 CMS 标准来完成概述的任务?OpenSSL 的 CMS 支持是否足以满足我的需求?
干杯,基督徒