如何在Linux上的Swift中生成RSA密钥对?

时间:2019-01-03 21:10:28

标签: swift linux rsa vapor

我知道在iOS或macOS上使用Swift时,可以使用SecKeyGeneratePair,但是Linux上没有安全性库。除了依靠Process来使用OpenSSL CLI界面之外,还有什么方法可以在Swift中生成RSA密钥对。

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

2 个答案:

答案 0 :(得分:1)

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

您可以同时生成RSA和EC密钥。 在Vapor + Ubuntu 16.04上进行了测试

答案 1 :(得分:1)

所以这是很多月后的事,但我认为我至少会为其他任何人进行更新。虽然我在上面研究了安德烈(Andrei)关于使用Themis的建议,但实际上,简单地使用我本来避免使用的Process确实是最简单的。

无论如何我不得不调用一些本地脚本,所以我写了一个死掉的简单的Shell类,包装了Swift的Process。它不是多线程的,因此性能不佳。但这可以满足我的需求。我刚刚调用了OpenSSL的CLI,并获取了输出。

Shell Gist:https://gist.github.com/mattmaddux/9979ec992c2b9744b669bd1728c28c19