Frage SSL-Listener kann nicht hinzugefügt werden, Serverzertifikat wurde für den Schlüssel nicht gefunden


Ich versuche, SSL auf meinem Load Balancer mit einem Zertifikat einzurichten, das ich von GoDaddy gekauft habe.

Beim Versuch, das Zertifikat in die Konsole hochzuladen, ist ein Fehler aufgetreten

Load Balancer konnte nicht erstellt werden: Serverzertifikat wurde für den Schlüssel nicht gefunden: arn: aws: iam :: ************: server-certificate / mycert

Ich habe diesen Fehler nie zuvor beim Hinzufügen von SSL-Zertifikaten festgestellt. Ich bin mir nicht sicher warum iam wird hier sogar benutzt.

Nach einigem Googeln konnte ich mein Zertifikat hochladen iam mit aws cli (wieder, nicht sicher, warum ich das tun musste).

Beim Ändern der Listener kann ich nun mein hochgeladenes Zertifikat als bestehendes SSL-Zertifikat sehen. Wenn ich versuche, meine Änderungen am Load Balancer zu speichern, erhalte ich den gleichen Fehler. Ich habe überprüft, dass das Zertifikat existiert:

$ 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"
        }
    ]
}

(Ich habe die verschleierte Kontonummer hier gleich wie im Fehler überprüft)

Von hier bin ich fest. Warum kann ich mein Zertifikat nicht auf diesen Lastenausgleich anwenden?


Bearbeiten Do 19. November 11:47:18 PST 2015

Nachdem ich eine Weile gewartet und mich an- und abgemeldet habe, konnte ich die Listener mit meinem SSL-Zertifikat aktualisieren. Es scheint jedoch nicht richtig zu funktionieren. Beim Versuch, meine Domain zu laden HTTPS Die Anfrage läuft ab. Es scheint, dass es das Zertifikat nicht laden kann

$ 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

17
2017-11-19 19:40


Ursprung


Zertifikate werden immer in IAM gespeichert, so dass es sich anhört, als ob Sie eine IAM-Replikationsverzögerung oder einen anderen Fehler gefunden hätten, bei dem das Zertifikat in Ordnung zu speichern schien, aber dann war es nicht da ... was Sie ursprünglich hatten sollte habe gearbeitet. Ist die ELB-Sicherheitsgruppe für HTTPS offen? Wenn ja, dann haben Sie hier eine zweite Anomalie und ich würde vorschlagen, ein neues ELB von Grund auf neu zu erstellen und zu prüfen, ob es sich anders verhält. - Michael - sqlbot


Antworten:


Ich hatte das gleiche Problem, als ich versuchte, den ELB über die Webkonsole zu erstellen. Ich habe versucht, ein neues Zertifikat über die GUI hochzuladen und es scheiterte schließlich mit demselben Fehler. Ich habe es gelöst, indem ich die Zertifikatsdateien über aws cli separat hochgeladen habe. Es wird in diesem Dokument erklärt - http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html#upload-cert

Laden Sie das Zertifikat, den privaten Schlüssel und die Zertifikatskette wie folgt hoch

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

Gehen Sie dann zur Webkonsole und wählen Sie die Option "Ein vorhandenes Zertifikat von AWS Identity and Access Management (IAM) auswählen" und wählen Sie das gerade hochgeladene Zertifikatspaar aus. Es wird danach gut funktionieren.


28
2017-12-11 20:02



Ich hatte das gleiche Problem. Sie haben es so gelöst, wie Sie es beschreiben, indem Sie den aws-Client verwenden, wie von dem Link vorgeschlagen, den Sie teilen. Mit dem IAM Console Web-Formular, um den Schlüssel einzufügen, funktionierten crt und chain nicht für mich. Ich habe den aws-client auf meinem dev-Rechner installiert, mit "aws configuration" eingerichtet, um Zugangsdaten hinzuzufügen und dann den Befehl aws iam uplad-server-certificate ausgeführt ... - wojjas
GUI gab mir Probleme, CLI nicht ... wie üblich. - Spechal
Für ein Update (es ist jetzt 2017), sprach ich nur mit Amazon-Support und dies ist immer noch ein bekanntes Problem. Die CLI ist der einzige Weg, um sicherzustellen, dass dieser Prozess korrekt funktioniert. -_- - Nicholas Kreidberg
Mitte 2017 und das Problem besteht immer noch. - Diogo Melo
Ende Januar 2018 - Still und Problem - Andrew S


Der Fehler ist irreführend. Es lädt das Zertifikat hoch. Sobald Sie diesen Fehler erhalten, gehen Sie zurück, um zu ändern. Wählen Sie das vorhandene IAM-Zertifikat aus und klicken Sie auf das Drop-down-Menü - dort sollten Sie das neue Zertifikat sehen.


16
2017-11-07 20:45



Das ist mir auch passiert. Ich habe den Fehler bekommen, angenommen, dass das Cert nicht hochgeladen wurde, also versuchte ich es erneut ... und bekam einen anderen Fehler, der besagt, dass das Cert schon da war. Das Verlassen der Benutzeroberfläche des "neuen Zertifikats" und das Zurückgehen und Auswählen des Zertifikats, das ich gerade als "existierendes" Zertifikat hochgeladen habe, funktionierten einwandfrei. - CoreDumpError
Vielen Dank! Das ist so durcheinander. Ich kann nicht glauben, dass sie so etwas nicht repariert haben. - naveed
das ist genau richtig - shareef
Dies geschieht weiterhin im Workflow zum Hochladen von ELB-IAM-Zertifikaten, aber sie wurden im Workflow zum Hochladen von ALB-IAM-Zertifikaten behoben. - Josip Rodin


Ich hatte das gleiche Problem, aber glücklicherweise gelang es, es zu lösen, ohne die CLI zu treffen. Ich habe die ELB, um einen HTTPS - Listener hinzuzufügen, indem Sie die Zertifikatskette in dem Zertifikat des öffentlichen Schlüssels Feld, nach dem Zertifikat selbst.

Der Fehler trat nur auf, wenn die Zertifikatskette in die eigene eingefügt wurde Zertifikatskette Eingabefeld in der Konsole (optional gekennzeichnet). Nicht wirklich sicher Warum Das hat einen Unterschied gemacht, aber es hat den HTTPS-Listener auf dem ELB erzeugt und alles war gut.


5
2018-01-28 10:20



Dies funktionierte für mich gerade mit einem Comodo DV-Zertifikat, das über SSLmate gekauft wurde. Separates Problem war, dass ich einen Fehler bekam, direkt nachdem ich auf den letzten "Senden" -Button geklickt hatte, der durch einen erneuten Klick auf den Knopf nach ein paar Sekunden behoben wurde (IAM-Ausbreitungsverzögerung wegen eventueller Konsistenz?) - RichVel


Es war wegen Sonderzeichen im Zertifikatsnamen: (Punkt) in meinem Fall. Alles hat gut funktioniert, nachdem alle Punkte vom Zertifikatsnamen entfernt wurden


3
2018-05-20 03:43



Das Entfernen von Punkten funktionierte für mich. Vielen Dank! - Jayden Meyer
Und entfernen Sie auch "-" Strich - ysrb


Ich habe das auch getroffen. Habe fünf Mal versucht, einen neuen ELB zu erstellen, und es ist jedes Mal fehlgeschlagen. Habe nie versucht, API-Variante, aber ich habe es geschafft, das SSL-Zertifikat zu setzen

  1. Zuerst Erstellen der ELB; dann
  2. Ändern des Zuhörers durch Wechseln von HTTP zu HTTPS und Hochladen meines Zertifikats + Schlüssel + Zwischenprodukte.

2
2018-02-03 22:58





Ich hatte das gleiche Problem. In meinem Fall wurde beim Hochladen eines SSL-Zertifikats der Fehler "Serverzertifikat nicht für den Schlüssel gefunden" angezeigt, aber sie werden schließlich hochgeladen und erscheinen im Drop-down-Menü. Ich bekomme keine Fehler beim Hochladen über CLI. Als ich den AWS-Support kontaktierte, gaben sie mir den folgenden Grund für den Fehler

Der Grund dafür ist eine mögliche Konsistenz. Das   Zertifikate, die hochgeladen werden, werden in IAM gespeichert. Seit IAM hat a   massive Datenbank, muss sich das hochgeladene Zertifikat durchsetzen   alle Datenbanken. Wenn es nicht genug Zeit gibt, um sich zu verbreiten, der ELB   Wenn Sie versuchen, dieses Zertifikat abzurufen, können Sie es nicht finden   der Endpunkt, den es abfragt. Daher wirft "Serverzertifikat nicht   gefunden für den Schlüssel ". Wenn es schließlich propagiert wird, ist es später   kann es als bereits hochgeladenes Zertifikat sehen


1
2018-05-09 02:14





Ich bin damit umgegangen, indem ich zum Zertifikatsmanager in der aws-Konsole gegangen bin und dort zuerst hochgeladen habe. Verwenden Sie dann den Lastenausgleichsassistenten und wählen Sie das hochgeladene Zertifikat aus.


1
2018-06-22 19:51



Überstunden Ich lade SSL zu AWS ich laufen in einem anderen Problem. Dieses Mal wurde es im Zertifikatsmanager eingerichtet und dann nur in EC2 Load Balancer verwendet !! - user566245


Das gleiche Problem hier bei der Verwendung der AWS-Webschnittstelle: Ich habe ein gültiges Zertifikat, den richtigen Schlüssel und die vollständige Kette hochgeladen, aber den oben genannten Fehler erhalten.

Ich habe versucht, das Zertifikat zu einem anderen (Test) -Load-Balancer zu übertragen. Der Upload funktionierte, aber der Listener-Status sagt dann: "Ungültiges Zertifikat".

Als ich den Dialog "Zertifikat auswählen" erneut geöffnet habe, wurde kein Zertifikat ausgewählt. Aber offensichtlich wurde das Zertifikat korrekt hochgeladen, weil ich es in der Zertifikatsliste auswählen konnte.

Also, zurück zu meinem ursprünglichen Load Balancer, ich habe versucht, dieses hochgeladene Zertifikat, seltsame Sache jetzt: Es war nicht in der Liste. Ich habe es erneut versucht und das Zertifikat und seinen Schlüssel hochgeladen, aber die Zertifikatskette weggelassen. Das hat funktioniert, also wusste ich, dass es die Kette sein muss, das ist nicht korrekt (es ist ein Commodo-Zertifikat). Ich habe die Kette erneut von der offiziellen Seite heruntergeladen, das gesamte Paket hochgeladen und es hat funktioniert. Merkwürdiges Ding jetzt: Als ich beide verglichen habe - das korrupte und das neue heruntergeladene, scheinen sie gleich zu sein. Gleiche Daten, gleiche Serie, gleiches. Aber anders.

Lange Rede, kurzer Sinn: Es funktionierte, indem die Zwischenzertifikate erneut heruntergeladen wurden.


0
2018-02-08 10:19





Ich hatte das gleiche Problem und was schließlich behoben wurde, ging in die Sicherheitsgruppe für den Lastenausgleich und stellte sicher, dass Port 443 geöffnet wurde.


0
2018-03-21 18:26