Sé que cuando usa Swift en iOS o macOS puede usar SecKeyGeneratePair, pero la biblioteca de seguridad no está disponible en Linux. Aparte de recurrir a Process para usar la interfaz CLI de OpenSSL, ¿hay alguna forma de generar un par de claves RSA en Swift?
Para su información, estoy usando Vapor 3 para construir una API web.
Puede usar la biblioteca multiplataforma Themis (Apache 2) + ejemplo de contenedores Swift . Lo bueno es que puede usar la misma API independientemente del lenguaje de programación o la ubicación (parte posterior/frontal).
Puede generar claves RSA y EC. Probado en Vapor + Ubuntu 16.04
Así que esto es muchos meses después, pero pensé que al menos actualizaría para cualquier otro. Si bien analicé la sugerencia anterior de Andrei para usar Themis, al final realmente fue más simple simplemente usar el Proceso que estaba evitando originalmente.
De todos modos, tuve que llamar a algunos scripts locales, así que escribí una clase de Shell muy simple que envolvía el proceso de Swift. No es multiproceso, por lo que no es excelente para el rendimiento. Pero sirve para lo que necesito. Acabo de llamar a la CLI de OpenSSL y tomé la salida.
Resumen de la carcasa: https://gist.github.com/mattmaddux/9979ec992c2b9744b669bd1728c28c19