【问题标题】:How can I generate an RSA key pair in Swift on Linux?如何在 Linux 上的 Swift 中生成 RSA 密钥对?
【发布时间】:2019-01-03 21:10:28
【问题描述】:

我知道在 iOS 或 macOS 上使用 Swift 时,您可以使用 SecKeyGeneratePair,但安全库在 Linux 上不可用。没有依靠 Process 来使用 OpenSSL CLI 接口,有没有办法在 Swift 中生成 RSA 密钥对。

仅供参考,我正在使用 Vapor 3 构建 Web API。

【问题讨论】:

标签: swift linux rsa vapor


【解决方案1】:

您可以使用跨平台库Themis (Apache 2) + 示例Swift wrappers。好处是无论编程语言或位置(后/前)如何,您都可以使用相同的 API。

您可以生成 RSA 和 EC 密钥。 在 Vapor + Ubuntu 16.04 上测试

【讨论】:

    【解决方案2】:

    所以这是几个月后的事了,但我想我至少会为其他任何人更新。虽然我在上面查看了 Andrei 使用 Themis 的建议,但最终还是简单地使用我最初避免的 Process 确实是最简单的。

    无论如何我不得不调用一些本地脚本,所以我编写了一个简单的 Shell 类来包装 Swift 的进程。它不是多线程的,因此对性能来说不是很好。但它适用于我需要的东西。我刚刚调用了 OpenSSL 的 CLI 并获取了输出。

    壳牌要点:https://gist.github.com/mattmaddux/9979ec992c2b9744b669bd1728c28c19

    【讨论】: