我正在尝试编写一个使用 S/MIME 签署电子邮件的小程序。
显然我想用只需要的东西做一个小罐子。显然,Java 的做法包括在周围放置一个巨大的神圣签名 Bouncy Castle JCE 罐子。
问题是:在不接触 JCE 并让它抱怨“身份验证”“提供者”的情况下获得 S/MIME 的最简单方法是什么?也许有一个不依赖于 JCE 的 S/MIME 实现?也许可以在不接触 JCE 的情况下使用 Bouncy Castle S/MIME 使用他们的轻量级 API?也许还有其他方法?
对我来说很明显,无论 Sun 是否批准,没有什么可以阻止纯 Java 开源加密算法的工作,所以这不是理论上的可能性问题,而是:哪种方式最不痛苦?
当然,我总是可以通过获取 Bouncy Castle 纯 Java JCE 实现、将其包重命名为 java.security1 并进行任何我想要的更改来尽早变得丑陋 - 但这种方式现在看起来太痛苦了。
更新我目前直接使用 Bouncy Castle 的问题:我尝试从密钥库加载密钥,这涉及使用 SecretKeyFactory,这反过来又拒绝了我的 Bouncy Castle 构建。