Ottenere un certificato SSL per un'applicazione Web locale

0

Ho un'applicazione web che comunica con l'API Alexa di Amazon ed è ospitata localmente su un computer. L'applicazione deve utilizzare https per la comunicazione e vi si accede utilizzando l'indirizzo IP. Il problema è che ogni volta che accedo all'applicazione ottengo il messaggio "La connessione non è privata".

Ho cercato di ottenere un certificato da posti come LetsEncrypt, ma richiedono che sia presente un dominio, che nel mio caso ho solo un indirizzo IP locale.

C'è un modo per ottenere un certificato per questa applicazione in modo che non ci siano errori? Dovrò anche distribuire questa applicazione ai clienti, quindi il certificato deve essere portatile o facilmente rinnovabile.

    
posta alexibbb 25.04.2017 - 14:31
fonte

2 risposte

2

Is there a way to obtain a certificate for this application so that there's no error?

Da una CA pubblica è possibile ottenere solo certificati che sono per siti pubblici, ovvero né domini interni né indirizzi IP interni. E di solito non ottieni certificati anche per indirizzi IP pubblici.

I will also have to distribute this application to clients, so the certificate must be either portable or easily renewable.

Quello che stai cercando di fare è una pessima idea poiché ciò significa che tutte le installazioni condividono lo stesso certificato e la chiave privata . Un utente malintenzionato che ha accesso a un'installazione può quindi impersonare e silenziosamente l'uomo in mezzo ad altre installazioni.

Non ho idea del tuo caso d'uso esatto. Tuttavia, alcuni casi di utilizzo di un sistema abilitato per https ai clienti è l'utilizzo di certificati autofirmati (ogni sistema ne ha uno diverso) in cui l'utente deve aggiungere un'eccezione al browser e / o la possibilità per il cliente di caricare il proprio certificati.

    
risposta data 25.04.2017 - 14:45
fonte
2

Se si intende accedere alla propria applicazione solo tramite l'indirizzo IP del server, non sarà possibile utilizzare una CA pubblica. Beh forse potresti, ma IMHO, non ha molto senso.

Dovresti utilizzare un certificato autofirmato per il tuo server o creare una CA privata. OpenSSL è sufficiente per entrambi e dovresti riuscire a trovare tutorial o front-end ovunque.

Un frontend un po 'datato, ma ancora disponibile su molte distribuzioni BSD o Linux e ragionevolmente facile da usare è TinyCA , con per esempio un tuto inglese qui . xca è un altro frontend più recente con una buona reputazione. La parte migliore quando si utilizza una CA privata è quella di fornire il proprio certificato di root (senza la chiave, ovviamente!) Ai client, che lo installano nel sertificate store del proprio browser preferito e tutto funziona correttamente. Ma devi dichiarare la catena di convalida del certificato nel tuo server.

In ogni caso, una buona lettura è l'eccellente libro di cucina OpenSSL disponibile gratuitamente da FeistyDuck

    
risposta data 25.04.2017 - 15:36
fonte

Leggi altre domande sui tag