Ich versuche, diesen Powershell-Befehl auszuführen
Invoke-WebRequest -Uri https://apod.nasa.gov/apod/
und ich bekomme diesen Fehler. "Invoke-WebRequest: Die Anforderung wurde abgebrochen: SSL / TLS-sicherer Kanal konnte nicht erstellt werden." https-Anfragen scheinen zu funktionieren (" https://google.com "), aber nicht diese. Wie kann ich dies zum Laufen bringen oder einen anderen Powershell-Befehl verwenden, um den Seiteninhalt zu lesen?
powershell
ssl
Hewstone
quelle
quelle
Antworten:
versuche es mit diesem
quelle
$env:Profile
oder bearbeiten Sie sie noch besser .In einem schamlosen Versuch, einige Stimmen zu stehlen,
SecurityProtocol
ist einEnum
mit dem[Flags]
Attribut. So können Sie Folgendes tun:Da es sich um PowerShell handelt, können Sie eine Zeichenfolge für Sie analysieren lassen:
Dann müssen Sie die TLS-Version technisch nicht kennen.
Ich habe dies aus einem Skript kopiert und eingefügt, das ich nach dem Lesen dieser Antwort erstellt habe, da ich nicht alle verfügbaren Protokolle durchlaufen wollte, um eines zu finden, das funktioniert. Natürlich können Sie das tun, wenn Sie möchten.
Letzte Anmerkung - Ich habe die ursprüngliche Anweisung (minus SO-Änderungen) in meinem PowerShell-Profil, sodass sie in jeder Sitzung, die ich jetzt beginne, enthalten ist. Es ist nicht völlig narrensicher, da es immer noch einige Websites gibt, die einfach versagen, aber ich sehe die fragliche Nachricht sicherlich viel seltener.
quelle
[Net.ServicePointManager]::SecurityProtocol = "Tls12, Tls11, Tls, Ssl3"
. Denken Sie daran, dass SSLv3 und TLSv1.0 aufgrund von POODLE veraltet sind. Die Verwendung erfolgt daher auf eigenes Risiko.Wenn wie ich keines der oben genannten Verfahren ganz funktioniert, kann es sich lohnen, auch nur eine niedrigere TLS-Version auszuprobieren. Ich hatte beide der folgenden Möglichkeiten ausprobiert, schien mein Problem jedoch nicht zu lösen:
Am Ende funktionierte es nur, als ich TLS 1.0 ins Visier nahm (insbesondere 1.1 und 1.2 im Code entfernen):
Der lokale Server (auf dem dies versucht wurde) ist mit TLS 1.2 in Ordnung, obwohl der Remote-Server (der zuvor von einem Drittanbieter als in Ordnung für TLS 1.2 "bestätigt" wurde) nicht in Ordnung zu sein scheint.
Hoffe das hilft jemandem.
quelle
Für mich geht das...
quelle
Stellen Sie sicher, dass Sie zuerst die SHELL wechseln:
quelle
Ich habe den Grund nicht herausgefunden, aber die Neuinstallation des
.pfx
Zertifikats (sowohl auf dem aktuellen Benutzer als auch auf dem lokalen Computer) funktioniert für mich.quelle
Invoke-WebRequest
lokal bin , funktioniert es zuerst, wird aber später fehlschlagen. Es scheint, dass es manchmal das Zertifikat nicht mehr lesen kann (ich kenne den Mechanismus dahinter nicht. Vielleicht ist es eine Einstellung, die von der Firma kontrolliert wird). In diesem Fall funktioniert die Neuinstallation des Zertifikats.