invoke-restmethod in powershell

Tomski

Well-known member
Crowdfunder FE
Efkes ventileren en hopen dat er hier een slimmere zit dan ik :laugh:

in Postman kan ik dus perfect connecteren op deze url met de bearer token

Maar als ik hetzelfde wil bereiken in powershell met de code

$headers = @{
"Authorization" = "Bearer $token"
"Accept" = "application/json"
}

$response = Invoke-RestMethod -Uri $url -Headers $headers -Method Get

heb zelfde al geprobeerd met
$response = (Invoke-WebRequest -Uri $Url -Method Get -Headers $headers -UseBasicParsing -ContentType "application/json").Content | ConvertFrom-Json | ConvertTo-Json

continue dezelfde error:

Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel

Certificaat is geinstalleerd in mijn trusted root certificate store
de klotevraag is: waarom kan Postman wel connecteren zonder SSL issues en mijn invoke-restmethod niet????
 
Je moet het certificaat ook opgeven met je invoke-restmethod commando, die weet namelijk anders niet wat te gebruiken voor authenticatie. Parameter Certificate of CertificateThumbprint gebruiken. Wel zien dat je shell draait onder dezelfde gebruiker als waar het certificaat geïnstalleerd.

Moest het dan nog niet lukken kan je onderstaand commando eens erin zwieren en opnieuw proberen
[System.Net.ServicePointManager]s ecurityProtocol = 'TLS12'
 
Je moet het certificaat ook opgeven met je invoke-restmethod commando, die weet namelijk anders niet wat te gebruiken voor authenticatie. Parameter Certificate of CertificateThumbprint gebruiken. Wel zien dat je shell draait onder dezelfde gebruiker als waar het certificaat geïnstalleerd.

Moest het dan nog niet lukken kan je onderstaand commando eens erin zwieren en opnieuw proberen
Helaas, net de code gechecked en die lijn stond er ook al in.

Had ook chatgpt even raad gevraagd en hij zegt dat het aan IT van de webserviceprovider ligt :laugh:

Wat het certificaat betreft, hoe kan het dat een app als Postman er wel direct kan op connecteren met 2 stukjes info, de url en de bearer token.
 
En je krijgt steeds hetzelfde bericht? Kan je exacte request en response geven?
Welke cipher suites gebruik je? Volgens deze Reddit thread werken enkel deze:

ANSWER: It turns out that learn.microsoft.com only supports the following cipher suites with TLS 1.2:
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

En wss werkt Postman omdat het een meer gecontroleerde omgeving is dan Powershell. Postman is een dedicate client terwijl Powershell deel uitmaakt van Windows.
 
Laatst bewerkt:
Resultaat als ik de CipherAlgorithm opvraag van de sslstream is Aes128

edit: ook wel een raar fenomeen want als ik het certificaat in een browser bekijk is het PKCS #1 SHA-256 With RSA Encryption
 
Laatst bewerkt:
Je moet het certificaat ook opgeven met je invoke-restmethod commando, die weet namelijk anders niet wat te gebruiken voor authenticatie. Parameter Certificate of CertificateThumbprint gebruiken. Wel zien dat je shell draait onder dezelfde gebruiker als waar het certificaat geïnstalleerd.

Moest het dan nog niet lukken kan je onderstaand commando eens erin zwieren en opnieuw proberen

heb de $certificateThumbprint met de ID van het certificaat toegevoegd aan de header maar dan krijg ik

The underlying connection was closed: An unexpected error occurred on a send.


ter info: Die mannen van die fhir webservice hebben een testomgeving ook en daar kan ik dus perfect op connecteren.
 
ja kut

testomgeving: TLS1.2
productie::
TLS Protocol
TLSv1.3
Cipher Name
TLS_AES_256_GCM_SHA384

nondegodverkustnamijnkloten. Zit hier natuurlijk met een windows 10 21H2, en het script moet finaal draaien op een Server 2019 datacenter, beide supporteren 1.3 ni :(
 
ja kut

testomgeving: TLS1.2
productie::
TLS Protocol
TLSv1.3
Cipher Name
TLS_AES_256_GCM_SHA384

nondegodverkustnamijnkloten. Zit hier natuurlijk met een windows 10 21H2, en het script moet finaal draaien op een Server 2019 datacenter, beide supporteren 1.3 ni :(
Zet nen nieuwe 2022 op?
 
Zet nen nieuwe 2022 op?

Is mijn server ni. Is van een klant waar een applicatie op draait die max 2019 mag hebben. Ik kan eventueel een andere virtuele server vragen enkel voor die webservice transfer. Ze gaan es lachen :(
 
net mijn code op mijn windows 11 laten lopen en works like a charm...
es horen of we daar een virtuele win11 domainclient kunnen krijgen, is mss makkelijker te krijgen dan een fullblown vm server?
 
Vind dit wel grappig, ik ben namelijk bij een klant ook bezig met security issues rond TLS, hier zitten er nog veel op 1.1 en aanvaarden ze zelfs nog 1.0.
 
Terug
Bovenaan