"Der Parameter ist falsch." Fehler mit Netsh http add sslcert
Folgen Sie den Anweisungen auf "gewusst Wie: Konfigurieren Sie einen Port mit einem SSL-Zertifikat" in diesem link: http://msdn.microsoft.com/en-us/library/ms733791.aspxtrat ich mit diesem Befehl auf der Kommandozeile (duh):
> netsh http add sslcert ipport:10.141.146.227:7001 certhash=5d48e604007b867ae8a69260a4ad318d2c05d8ff appid={EDE3C891-306C-40fe-BAD4-895B236A1CC8}
The parameter is incorrect.
Meine certhash
Fingerabdruck genommen wurde, das Zertifikat im Zertifikate(Lokaler Computer) - >Personal>Ordner Zertifikate.
Den appid
GUID erzeugt wurde.
Was anderes falsch ist, dass ich ein Problem lösen müssen, um diese zu arbeiten?
InformationsquelleAutor der Frage Derrick | 2009-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der PowerShell geben Sie einfach wie folgt vor. das erste mal mit netsh http-Modus und dann add sslcert. Es ist für mich gearbeitet.
InformationsquelleAutor der Antwort Abdul Hakim
Eine weitere mögliche Ursache für dieses problem ist, verborgene Zeichen, die kopiert werden, von der Zertifikat-Manager-Seite. Wenn Sie kopieren den Fingerabdruck von das details-Fenster in Zertifikate, überprüfen Sie für die versteckten Zeichen an den start (verwenden Sie Ihre Pfeil-Tasten!!!). Dies war der Grund für mich von "Die Parameter ist ungültig" Fehlermeldung.
InformationsquelleAutor der Antwort Richard
Die PowerShell-Befehlszeile und PowerShell-Skripts in ps1-Dateien wird denken, curley-Klammern {...} sind PowerShell-Richtlinien. So zitieren Sie Sie. Ansonsten, wie Sie gesehen haben, wird PowerShell verwechselt werden.
Also eher als diese (die Sie gefunden fehlschlägt):
Tun (beachten Sie die Anführungszeichen):
Hier finden Sie einige Informationen zu PowerShell-syntax mit curley Klammern:
http://danv74.wordpress.com/2012/07/12/powershell-and-the-hidden-art-of-curly-braces-and-other-braces/
InformationsquelleAutor der Antwort codingoutloud
Blick auf die syntax für den Befehl netsh, sah ich dieses Beispiel:
Durch die Blicke von ihm, Ihr problem ist, dass du tust
im Gegensatz zu
InformationsquelleAutor der Antwort cmptrgeekken
InformationsquelleAutor der Antwort tcb
Kopieren den Fingerabdruck des Zertifikats aus dem Zertifikat\Details\Fingerabdruck würde voranstellen der Fingerabdruck-Wert mit dem die bytes '3f38' die, wenn Sie in ANSI konvertiert wurden, dargestellt als '?'. Diese verborgenen Wert verursacht das Problem für mich.
Klebte ich den Wert in notepad++, entschied sich, 'Encoding' > 'Umwandeln in ANSI', dann habe ich manuell entfernt die vorangestellte '? ' - Zeichen. Ich würde dann eine sauber Fingerabdruck-Wert zu verwenden.
InformationsquelleAutor der Antwort Andreas Presthammer
Ich wurde immer diese Fehlermeldung, wenn ich gerade erst angefangen mit http.sys. Nachdem ich ran:
dann die
netsh http add sslcert
Befehle gestartet, der sich richtig verhält.InformationsquelleAutor der Antwort Tim Danner
In meinem Fall das problem ist, dass ich nach dem microsoft inscructions ich kopiert den Fingerabdruck von der SSL-Fenster. die Sache ist, dass dabei Kopien von nicht-druckbaren Zeichen am Anfang der hash.
Versuchen, fügen Sie den Fingerabdruck in den Editor, und drücken Sie dann home und pres löschen zweimal (bis der erste char von der Fingerabdruck wird gelöscht) und das erneute hinzufügen der char. Sie können sehen, der char wenn Sie kopieren den Fingerabdruck und fügen Sie ihn in cmd:
InformationsquelleAutor der Antwort SimSimY
Lief ich über diese Frage bei der Suche nach einer Lösung für das problem. Schließlich fand ich eine, die für mich gearbeitet.
Meine
certhash
parameter war nicht vollständig 20 bytes lang. Ich hatte pad mit null-Werten vor, um es zu arbeiten.So, statt
certhash=112233445566778899aabbccddeeff00
Ich hatte, dies zu tun:certhash=00000000112233445566778899aabbccddeeff00
.Hoffe, das hilft.
InformationsquelleAutor der Antwort Christopher Broome
Sir, Sie haben ipport: anstatt ipport= die ist einfach zu tun, da Sie Folgen, dass mit ip:port
Auch, watch out für die { versus < oder (, das hat auch mich geärgert in der Vergangenheit.
InformationsquelleAutor der Antwort GMLewisII
Mit der Seriennummer anstelle der Fingerabdruck für die certhash parameter wird dieser Fehler verursacht, weil der Unterschied in der Anzahl der Zeichen. Auffüllen mit 0EN ändern sich die Fehler auf SSL-Zertifikat hinzufügen ist fehlgeschlagen, Fehler: 1312
InformationsquelleAutor der Antwort Daniel N
Watch out, wenn Sie einen DNS-Namen als Bindung verwenden hostnameport statt ipport
Musste ich löschen ADFS-Proxy-Bindungen für Office 365 Single Sign-On.
InformationsquelleAutor der Antwort joelschmid
Stand ich vor diesem problem mehrere Male und jedes mal hatte es eine andere Ursache haben, also habe ich beschlossen, schreiben die Ursachen und den genauen Befehl, der für mich gearbeitet.
Hier sind einige Ursachen:
1 - Kopieren und einfügen-Zertifikat Fingerabdruck von windows-dialog fügt einen versteckten Charakter zu Ihrem hash. Es ist nicht sichtbar in text-Editoren, aber Sie müssen entfernen, das Zeichen zu machen, damit es funktioniert.
2 - SSL-Fingerabdruck sollte in Personal -> Zertifikate für die Arbeit mit localhost.
3-Es sollte " ipport=' nicht', ipport:'
4 - SSL-Zertifikat muss einen privaten Schlüssel haben. Wenn Sie mit Zertifikats-management-Konsole, stellen Sie sicher, es hat einen kleinen Schlüssel-Symbol auf dem Zertifikat anzuzeigen.
5 - GUID definiert werden sollte, in full-format: {a10b0420-a21f-45de-a1f8-818b5001145a}, und es sollte ein Zitat in der powershell: '{a10b0420-a21f-45de-a1f8-818b5001145a}: "Also, PowerShell-format unterscheidet sich von der Kommandozeile aus.
6 - SSL-Cert mit kompletten Zeichen mit Polsterung '0' s und ohne Leerzeichen. Sie können kopieren Fingerabdruck (vorsichtig sein, um entfernen spezielle versteckte Zeichen) und Leerzeichen entfernen, oder benutzen Sie "netsh http show sslcert", um den Wert, wenn das Zertifikat bereits angemeldet ist, wird für eine andere Adresse.
Was für mich gearbeitet:
Hier ist der genaue Befehl, der arbeitete für mich in der powershell:
Und hier ist die Befehlszeile-Anweisung:
Mehr Befehle, um Ihnen zu helfen, Probleme:
Verwenden Sie den folgenden Befehl ein, um zu sehen, aktuell registrierten Zertifikats. Sie können finden und wiederverwenden certhash oder Ihre appid:
Wenn das Zertifikat bereits registriert mit ähnlicher ip und port, die Sie brauchen, um es zu entfernen. Ich fand es Ursache problem mit localhost, 127.0.0.1 und 0.0.0.0. Sie müssen nur 0.0.0.0 registriert in Ihrer Testumgebung. Verwenden Sie den folgenden Befehl, um potenzielle beschädigte Zertifikate:
InformationsquelleAutor der Antwort mohghaderi
gab es ein paar Dinge, die ich Tat, dass ich dachte, es funktionierte nach den gleichen "Die parameter ist falsch." Fehler.
1) Maschine neu gestartet und es wieder getan. es funktionierte beim ersten mal.
2) wurde ich in c:\ und setzen Sie den Befehl erneut nach dem Neustart hat nicht funktioniert
ich konnte nicht erklären warum, aber ich denke, dass vielleicht beide Male, es war etwas anderes falsch. da das Dritte mal geschah dies zu mir,
3) ich ging durch den Fingerabdruck von meinem CA (nicht die ausgestellten server-cert) kopiert und es wieder von der MMC aus und es funktionierte.
nachdem dies geschehen war, löschte ich es wieder (netsh http delete sslcert ipport=0.0.0.0:) und wiederholt den Vorgang mit dem Fingerabdruck des server-Zertifikats. Das verdammte Ding funktionierte wieder.
Kommt, weiß ich nicht, nur versuchen Sie, gehen durch die gleiche Sache, die ich Tat. vielleicht einer von diesen funktionieren würde. Am Ende, vermute ich, dass ich in einen falschen Raum oder Zeichen im certhash.
InformationsquelleAutor der Antwort Derrick
Diese arbeiten werden von der PowerShell commadline:
Wichtigen details sind zu entkommen, jede { } mit einem backtick (`) und nicht weglassen certstorename. Ansonsten netsh wirft einen Fehler 87.
Die Variablen sind nur für die Bequemlichkeit.
InformationsquelleAutor der Antwort PeterXX
Den "- " - s sind NICHT unerheblich.
Wenn deine guid nicht genau so Aussehen, bekommen Sie die falschen parameter Fehler:
{EDE3C891-306C-40fe-BAD4-895B236A1CC8}
vs.
EDE3C891306C40feBAD4895B236A1CC8 -> FALSCH
{EDE3C891306C40feBAD4895B236A1CC8} -> FALSCH
Auch Im mit der guid für die Anwendungs-id für den IIS, nicht eine zufällige.
InformationsquelleAutor der Antwort Martin Clemens Bloch
Muss ich landete mangeln die Beziehung zwischen VS und IIS Express durch das löschen der localhost-Zertifikat. Ich war wirklich stecken. Die app ließ sich nicht starten und nichts, was ich tun konnte, schien dies zu korrigieren, trennen (was wollen, brachte mich zu diesem thread zu beginnen).
War ich endlich in der Lage zu bekommen über das Problem durch ändern der zugewiesenen port auf die nicht-SSL-URL (
launchSettings.json
.NET Core apps) und das deaktivieren der Aktivieren Sie die SSL - Kontrollkästchen in der Projekt-Einstellungen und nehmen Sie einen frischen start. Dann konnte ich meine neu erstellte cert mit diesem Befehl:netsh http add sslcert ipport=0.0.0.0:44392 appid={214124cd-d05b-4309-9af9-9caa44b2b74b} certhash=A0ADC1A1002F288CCFA96261F9F352D28C675A90
.Beachten Sie auch, dass die
appid
variable ist nicht ein Spiegelbild von Ihr VS-Projekt Anwendungs-id (oder es zumindest nicht sein). Es ist nur eine beliebige GUID, nach Scott Hanselmann:Das war mir nicht klar, und machte sich mit der parameter ist falsch Fehler, dass Sie viel mehr undurchsichtig.
Wenn Sie erleben ähnliche Probleme, zum Glück. Ich glaube an Sie. Ping mich, wenn Sie das Gefühl verloren und allein. Vielleicht kann ich mich an etwas erinnern, bis dann! 😀
InformationsquelleAutor der Antwort Vinney Kelly
Könnte es nützlich sein, um meine Lösung in diesem thread :
Ich habe versucht, fügen Sie eine ippport mit der hostnameport parameter, so dass ich diese parameter error.
netsh http add sslcert hostnameport="10.0.0.120:443"
Statt :
netsh http add sslcert ipport="10.0.0.120:443"
Cya !
InformationsquelleAutor der Antwort Nicolas Leucci