OpenSSL - Genera certificati autofirmati con diversi pacchetti di crittografia

2

Voglio generare un certificato di origine e un certificato SSL (autofirmato) per la comunicazione tra un dispositivo incorporato e i nostri server di back-end (IIS 8.0).

Ho usato OpenSSL per generare un certificato con i seguenti passaggi:

Ecco come ho creato il certificato di origine:

openssl genrsa -out ca.key 2048
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -days 7305 -in ca.csr -out ca.crt -signkey ca.key

Poi ho creato il certificato SSL in questo modo:

openssl genrsa -out mydomain.com.key 2048
openssl req -new -key mydomain.com.key -out mydomain.com.csr
openssl x509 -req -days 7305 -in mydomain.com.csr -CA ./ca.crt -CAkey ./ca.key -CAcreateserial -out mydomain.com.crt

Tutto ha funzionato bene.

Dopo l'importazione in IIS, ottengo le seguenti suite di crittografia supportate:

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

Il mio dispositivo incorporato può gestire solo:

TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256

So che la limitazione non è nella nostra configurazione di Windows o nel nostro IIS, perché i siti ospitati sullo stesso server web (con il nostro certificato GoDaddy) supportano tutte e 4 queste suite.

Quindi immagino di dover generare il certificato in un altro modo. Non so come ...

    
posta H. Lowette 17.11.2015 - 17:22
fonte

2 risposte

3

Il certificato creato manca l'estensione "Utilizzo chiave certificato" con la proprietà "Codifica chiave" abilitata.

Pertanto non è consentito che il server utilizzi la chiave RSA nel certificato per lo scambio di chiavi e di conseguenza il server offre solo suite di crittografia con chiavi effimere.

    
risposta data 17.11.2015 - 23:53
fonte
1

Aggiornamento 2015-11-18Wed: controlla la risposta di Jaeckel.

Jaeckel solleva un punto valido che ho dimenticato. Il CERT potrebbe NON andare bene dopo tutto. Controlla la sezione X509v3 Key Usage .

Post originale conservato sotto la linea.

Il certificato va bene.

Non c'è solo sovrapposizione di ciphersuite. Vale a dire: il tuo IIS parla solo cifrari in forward-Secure e il tuo dispositivo incorporato parla solo cifrari in forward-secure.

Prova a eseguire IISCrypto e usarlo per consentire al tuo IIS di parlare almeno uno dei pacchetti di crittografia integrati dispositivo parla.

Potresti andare con TLS_RSA_WITH_AES_128_CBC_SHA è Obbligatorio per implementare ciphersuite per TLS1.2, quindi tutto ciò che richiede la compatibilità con TLS1.2 deve essere in grado di parlarlo)

ordinali in modo che siano meno preferiti. Ciò garantisce che i clienti che parlano sia suite FS che suite non-FS finiscano con una suite compatibile con FS.

Se, tuttavia, insisti a utilizzare un diverso tipo di certificato, allora la tua unica scelta pratica oltre a "RSA" è "ECDSA". Ma le quattro suite integrate che hai elencato sono solo per i tipi di certificato RSA.

    
risposta data 17.11.2015 - 17:59
fonte

Leggi altre domande sui tag