Impossibile aggiungere listener SSL, certificato server non trovato per la chiave


19

Sto cercando di configurare SSL sul mio bilanciamento del carico con un certificato acquistato da GoDaddy.

Durante il tentativo di caricare il certificato nella console ho ricevuto un errore

Impossibile creare il bilanciamento del carico: certificato del server non trovato per la chiave: arn: aws: iam :: ************: server-certificate / mycert

Non ho mai riscontrato questo errore prima di aggiungere certificati SSL. Non sono sicuro del perché iamvenga utilizzato anche qui.

Dopo alcuni googling, sono stato in grado di caricare il mio certificato iamusando aws cli (di nuovo, non sono sicuro del perché ho dovuto farlo).

Ora quando modifico i listener posso vedere il mio certificato caricato come un certificato SSL esistente. Quando provo a salvare le mie modifiche nel bilanciamento del carico, tuttavia, ottengo lo stesso errore. Ho verificato l'esistenza del certificato:

$ aws iam list-server-certificates
{
    "ServerCertificateMetadataList": [
        {
            "ServerCertificateId": "*********************", 
            "ServerCertificateName": "mycert", 
            "Expiration": "2018-11-19T18:47:38Z", 
            "Path": "/", 
            "Arn": "arn:aws:iam::************:server-certificate/mycert", 
            "UploadDate": "2015-11-19T19:23:32Z"
        }
    ]
}

(Ho verificato che il numero di conto offuscato qui sia lo stesso dell'errore)

Da qui sono bloccato. Perché non riesco ad applicare il mio certificato a questo bilanciamento del carico?


Modifica gio 19 nov 11:47:18 PST 2015

Dopo aver atteso qualche istante e aver effettuato il logout e l'accesso, sono stato in grado di aggiornare i listener con il mio certificato SSL. Tuttavia, non sembra funzionare correttamente. Quando provo a caricare il mio dominio oltre HTTPSla richiesta scade. Sembra che non sia in grado di caricare il certificato

$ echo | openssl s_client -connect www.example.com:443 2>/dev/null | openssl x509 -noout -subject
unable to load certificate
69457:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-52.30.1/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE

1
I certificati sono sempre archiviati in IAM, quindi sembra che tu abbia colpito un ritardo di replica IAM o un altro errore in cui il certificato sembrava essere memorizzato bene, ma poi non c'era ... quello che avresti dovuto originariamente funzionare. Il gruppo di sicurezza ELB è aperto al mondo per HTTPS? Se è così, allora hai una seconda anomalia qui e suggerirei di creare un nuovo ELB da zero e vedere se si comporta diversamente.
Michael - sqlbot,

Risposte:


30

Ho riscontrato lo stesso problema durante il tentativo di creare ELB dalla console Web. Stavo cercando di creare un caricamento di un nuovo certificato lì tramite la GUI e alla fine falliva con lo stesso errore. L'ho risolto caricando i file del certificato separatamente tramite aws cli. È spiegato in questo documento: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html#upload-cert

Carica il certificato, la chiave privata e la catena di certificati in questo modo

aws iam upload-server-certificate --server-certificate-name my-server-cert \
  --certificate-body file://my-certificate.pem --private-key file://my-private-key.pem \
  --certificate-chain file://my-certificate-chain.pem

Quindi vai alla console web e scegli l'opzione "Scegli un certificato esistente da AWS Identity and Access Management (IAM)" e scegli la coppia di certificati appena caricata. Funzionerà bene dopo.


1
Ho avuto lo stesso problema. Risolto il modo in cui lo descrivi, usando il client aws come suggerito dal link che condividi. L'uso del modulo web della console IAM per incollare la chiave, crt e chain NON ha funzionato per me. Ho installato il client aws sul mio dev-machine, impostato con "configurazione aws" per aggiungere credenziali e quindi ho eseguito il comando aws iam uplad-server-certificate ...
wojjas

La GUI mi ha dato problemi, la CLI non ... come al solito.
Spechal,

1
Per un aggiornamento (ora è il 2017), ho appena parlato con il supporto di Amazon e questo è ANCORA un problema noto. L'interfaccia della riga di comando è l'unico modo per garantire che questo processo funzioni correttamente. -_-
Nicholas Kreidberg,

2
Metà 2017 e il problema esiste ancora.
Diogo Melo,

2
Fine gennaio 2018 - ancora ed emissione
Andrew S

17

L'errore è fuorviante. Carica il certificato. Una volta ricevuto quell'errore, esci e torna indietro per cambiare. Scegli il certificato IAM esistente e fai clic sul menu a discesa: dovresti vedere il nuovo certificato lì.


Questo è quello che è successo anche a me. Ho ricevuto l'errore, supponevo che il cert non fosse caricato, quindi ho provato di nuovo ... e ho avuto un altro errore, affermando che il cert era già lì. Uscire dall'interfaccia utente "nuovo certificato" e tornare indietro e scegliere il certificato che ho appena caricato come certificato "esistente" ha funzionato bene.
coredumperror

1
Grazie! Questo è così incasinato. Non riesco a credere che non abbiano risolto qualcosa del genere.
Navata il

è esattamente corretto
shareef,

Ciò continua a verificarsi nel flusso di lavoro di caricamento del certificato IAM ELB, ma è stato risolto nel flusso di lavoro di caricamento del certificato IAM ALB.
Josip Rodin,

5

Ho avuto lo stesso problema, ma per fortuna sono riuscito a risolverlo senza dover toccare la CLI. Ho ottenuto l'ELB per aggiungere un listener HTTPS incollando la catena di certificati nel campo certificato chiave pubblica , dopo il certificato stesso.

L'errore si è manifestato solo quando la catena di certificati è stata incollata nella propria casella di input della catena di certificati nella console (contrassegnata come facoltativa). Non so davvero perché questo abbia fatto la differenza, ma ha creato il listener HTTPS sull'ELB e tutto è andato bene.


Questo ha funzionato per me proprio ora con un certificato Comodo DV acquistato tramite SSLmate. Il problema a parte era che ho ricevuto un errore subito dopo aver fatto clic sul pulsante "invia" finale, che è stato risolto facendo nuovamente clic sul pulsante dopo alcuni secondi (ritardo di propagazione IAM a causa di un'eventuale coerenza?)
RichVel

3

Era dovuto al carattere speciale in Nome certificato:. (Punto) nel mio caso. Tutto ha funzionato bene dopo aver rimosso tutti i punti dal nome del certificato


1
E rimuovi anche "-" trattino
ysrb il

2

Ho appena colpito anche questo. Ho provato cinque volte per creare un nuovo ELB e ogni volta è fallito. Non ho mai provato la variante API, ma sono riuscito a impostare il certificato SSL da

  1. Prima creando l'ELB; poi
  2. modificando il listener passando da HTTP a HTTPS e caricando il mio certificato + chiave + intermedi.

1

Ho affrontato lo stesso problema. Nel mio caso ho ricevuto l'errore "Certificato server non trovato per la chiave" durante il caricamento di un certificato SSL ma alla fine vengono caricati e visualizzati nel menu a discesa. Non ricevo errori durante il caricamento tramite CLI. Quando ho contattato l'assistenza AWS, mi hanno indicato il motivo dell'errore

Il motivo per cui ciò accade è l'eventuale coerenza. I certificati caricati sono archiviati in IAM. Poiché IAM ha un enorme database, il certificato caricato deve propagarsi attraverso tutti i database. Se non c'è abbastanza tempo per propagarsi, l'ELB che sta tentando di recuperare questo certificato non sarà in grado di trovarlo nell'endpoint che sta interrogando. Quindi genera "Certificato server non trovato per la chiave". Quando alla fine viene propagato, in seguito è in grado di vederlo come un certificato già caricato


1

Ho risolto il problema andando al gestore dei certificati nella console di aws e caricando prima lì. Quindi utilizzando la procedura guidata di bilanciamento del carico e selezionando il certificato che avevo caricato.


lavoro straordinario carico SSL su AWS mi imbatto in un problema diverso. Questa volta, ha funzionato configurandolo in Certificate Manager e poi semplicemente usandolo in EC2 Load Balancer !!
user566245

0

Stesso problema qui quando si utilizza l'interfaccia Web AWS: ho caricato un certificato valido, la chiave corretta e la catena completa ma ho riscontrato l'errore sopra menzionato.

Ho provato a scaricare il certificato su un altro bilanciamento del carico (di prova). Il caricamento ha funzionato, ma lo stato del listener dice quindi: "Certificato non valido".

Quando ho aperto nuovamente la finestra di dialogo "Seleziona certificato", non è stato selezionato alcun certificato. Ma ovviamente il certificato è stato caricato correttamente, perché potevo selezionarlo nell'elenco dei certificati.

Quindi, tornando al mio bilanciamento del carico originale, ho provato ad assegnare questo certificato caricato, cosa strana ora: non era nell'elenco. Ci ho provato di nuovo e ho caricato il certificato e la sua chiave, ma ho lasciato fuori la catena di certificati. Questo ha funzionato, quindi sapevo che doveva essere la catena, che non è corretta (è un commodo-certificato). Ho scaricato di nuovo la catena dalla pagina ufficiale, ho caricato l'intero pacchetto e ha funzionato. Cosa strana ora: quando li ho confrontati entrambi, quelli corrotti e quelli nuovi scaricati, sembrano uguali. Stesse date, stesso seriale, stesso identico. Ma diverso.

Per farla breve: ha funzionato scaricando nuovamente i certificati intermedi.


0

Ho avuto lo stesso problema e quello che alla fine è stato risolto è andato nel Security Group per il bilanciamento del carico e assicurandomi che la porta 443 fosse aperta.


0

Prima di creare il bilanciamento del carico classico, è necessario creare un AMI (Immagine dell'istanza in produzione). Con questo andare alle impostazioni di creazione del bilanciamento del carico e ripetere il processo, dopodiché i certificati forniti e tutto procede bene nel mio caso.



0

Ho avuto lo stesso problema se stavo caricando direttamente un certificato.

Se avessi usato il Certificate Manager (AWS Certificate Manager - ACM) avrei potuto caricare il certificato. Dopodiché ho potuto semplicemente selezionare il certificato in un elenco a discesa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.