Certificati autofirmati e richieste CURL interne

0

Sto utilizzando un'API interna per alcuni software commerciali che abbiamo acquistato e si consiglia di utilizzare SSL quando si utilizza l'API; usa cURL per ottenere ciò e quindi l'utente, pass e chiave saranno tutti passati alla richiesta cURL .

Al momento non utilizziamo SSL sul sito per nulla, quindi non volevamo acquistarne uno solo per questo, ma mi è stato detto che potresti utilizzare self-signed cert senza problemi.

Tuttavia, facendo ricerche su di loro, ho scoperto che fare questo crea problemi agli utenti a volte, come ad esempio ottenere un avviso nel browser come:

La mia domanda però è, questo tipo di errore / avvertimento si verifica solo quando l'utente accede effettivamente alla pagina stessa tramite https:// o causerà problemi anche se la richiesta SSL avviene dietro le quinte; Immagino che non sarebbe come se il web server stesso fosse il responsabile della richiesta?

La mia prossima domanda su questo è - se questo ricade sul server stesso, causerà problemi al server stesso o causerà un arresto a causa del certificato autofirmato o le cose funzioneranno senza problemi?

    
posta Brett 29.09.2014 - 17:49
fonte

2 risposte

1

Questo errore si verifica quando un browser rileva un certificato di cui non si fida. Con ciò intendo che il certificato del server non è installato come certificato radice affidabile. Questi vengono gestiti in modo diverso da browser a browser, ma generalmente il messaggio di errore che vedi consente all'utente di aggiungere il certificato non affidabile al suo archivio di certificati attendibili, se lo desidera.

Questo errore si verifica solo quando l'utente tenta di accedere alla pagina tramite https:// o se reindirizza la tua pagina http:// alla pagina web abilitata a SSL / TLS. Il server è responsabile della gestione della richiesta HTTPS e dell'invio del certificato per la convalida. Quando il browser riceve il certificato, dovrebbero essere eseguiti i seguenti controlli:

  1. Il browser riconosce il certificato come certificato attendibile?
  2. Il certificato è scaduto o revocato?
  3. Se la risposta è no a entrambi, verrà visualizzato questo messaggio.
  4. Ora all'utente viene data l'opzione di continuare sul sito web e / o installare il certificato nel suo negozio di fiducia.

Questo non fermerà le cose sul lato server, e funzionerà senza errori. La reazione a un certificato non affidabile dipende dal browser che sta accedendo alla pagina web. Indipendentemente da ciò, la maggior parte delle implementazioni del protocollo SSL / TLS consentirà una certa quantità di tempo per il client di rispondere a questo messaggio. Se l'utente accetta il certificato come valido all'interno della finestra di timeout, la connessione procederà normalmente. Se aspettano troppo a lungo, l'utente riceverà un errore di "sessione scaduta" e dovranno riconnettersi al sito web.

Curl verifica automaticamente i certificati del server. Se desideri disattivarlo, puoi farlo con -k o --insecure . Oppure puoi aggiungere il tuo certificato server all'archivio fidato.

Aggiungi certificato autofirmato a cURL Trusted Store

Il link qui sopra ti guiderà attraverso i passaggi per determinare dove sul tuo sistema Linux sono memorizzati i certificati attendibili e come puoi aggiungere il certificato del tuo server per essere considerato attendibile.

Modifica Dal momento che il software commerciale sta trasmettendo argomenti a cURL, mi aspetterei che se cURL non si fida del certificato che fallirebbe. L'utente non sarà in grado di accedere alla pagina. È anche possibile che il software abbia meccanismi per gestire questo errore. Potrebbe richiedere all'utente di installare il certificato e continuare la connessione. Senza conoscere il software è difficile dire quale sarà la sua esatta reazione.

    
risposta data 29.09.2014 - 18:53
fonte
0

Solitamente ricevi questo avviso solo se accedi direttamente al sito https. Se provi ad accedere a https dietro le quinte, ovvero eseguendo un XMLHTTPRequest, incorporando un'immagine ecc non lo chiederà all'utente, ma semplicemente fallirà (e di solito registrerà qualcosa su console).

    
risposta data 29.09.2014 - 18:31
fonte

Leggi altre domande sui tag