Quanto "ufficiale" è il supporto di libressl in High Sierra?

1

Sto provando a portare un programma C basato su OpenSSL da Linux a macOS, e vorrei usare una libreria per TLS che è ufficialmente supportata dal sistema operativo, perché il sistema operativo mantiene questa libreria aggiornata e sicuro senza alcun lavoro extra per me o per l'utente della mia applicazione.

Ho pensato che LibreSSL fosse ufficialmente supportato in macOS e che il mio programma abbia già portato un backend LibreSSL, ma non sono sicuro dello stato di LibreSSL in macOS. C'è qualche documentazione ufficiale che si rivolge a se gli sviluppatori dovrebbero considerare la libreria LibreSSL come deprivata o no?

PS: ho cercato sul sito degli sviluppatori di Apple, ma la documentazione ufficiale di Apple sulla crittografia della comunicazione di rete non fa ASSOLUTAMENTE menzione di LibreSSL (che non è la stessa di OpenSSL).

    
posta rexroni 02.05.2018 - 20:33
fonte

3 risposte

3

Per rispondere alla domanda posta:

How “official” is libreSSL support in High Sierra?

Non esiste un supporto ufficiale. Apple rende disponibile tutto il codice Open Source che utilizza in macOS / OS X. Dall'ultima versione di High Sierra (10.13.3) fino a Lion 10.7.0, non si fa menzione di libreSSL.

Questo è non per dire che non funzionerà se scegli di installare le librerie. È che non usano ufficialmente il codice in macOS. Se riesci a farlo funzionare e qualcosa si rompe quando aggiorni MacOS, dovrai risolverlo.

Apple ha deprecato * OpenSSL e utilizza invece Crypto comune , qualcosa che Apple sviluppa.

* Obsoleto come non più sviluppato ma non rimosso. OpenSSL è ancora incluso per compatibilità con le versioni precedenti, ma agli sviluppatori viene comunicato che non vi sono ulteriori sviluppi e che dovrebbero iniziare a passare alla tecnologia più recente.

    
risposta data 27.08.2018 - 20:36
fonte
4

MacOS ha fornito openssl-0.9.8 (quando il mondo utilizzava 1.0.2 e contemplava 1.1 e 1.1.1) fino al rilascio di High Sierra. Ora in MacOS 10.13.5 è libressl-2.2.7, mentre l'attuale libressl è 2.7.4.

Sembra che LibreSSL fornito da MacOS non sia dotato di alcun motore, e non è chiaro se sia possibile aggiungervi un motore. Ciò significa che non è consentito l'uso di chiavi su token hardware accessibili tramite PKCS # 11, nessun RNG hardware accessibile tramite PKCS # 11 o RDRAND, ecc. AGGIORNAMENTO: Inoltre, non sembra che siano necessari i file di inclusione per compilare le tue applicazioni. Quindi sembra che tu non possa costruire il tuo software contro MacOS LibreSSL anche se lo volessi (beh, potresti essere in grado di scaricare LibreSSL-2.2.7 da solo, ecc. - ma sono sicuro che non ne vale la pena ).

Dato che non voglio scrivere codice che esegue solo su Mac, non posso permettermi di rimanere bloccato con Apple Secure Transport o simili.

Quindi la mia raccomandazione personale sarebbe quella di installare e lavorare con un "vero" openssl, installandolo tramite Macports (come ho fatto per la "produzione" nei miei sistemi) o Brew. In tal caso, i manutentori del pacchetto terranno traccia degli aggiornamenti e delle correzioni per la sicurezza, ma manterrai la compatibilità con il tuo codice Linux con il minimo sforzo.

    
risposta data 25.06.2018 - 02:05
fonte
3

La libreria TLS ufficiale supportata su macOS è Apple Secure Transport :

Secure Transport

Secure network communication using standardized transport layer security mechanisms.

The Security.SecureTransport API gives you access to Apple's implementation of Secure Sockets Layer version 3.0 (SSLv3), Transport Layer Security (TLS) versions 1.0 through 1.2, and Datagram Transport Layer Security (DTLS) version 1.0.

    
risposta data 03.05.2018 - 09:52
fonte

Leggi altre domande sui tag