I've been trying to run the following command on PowerShell:
netsh http add sslcert ipport=0.0.0.0:443 certhash=<some certhash> appid={<random guid>}
The problem is, it returns "The parameter is incorrect"
every time. I've check the cert hash number, and the generated guid and they all alright. In fact, I ran the same command in cmd.exe
and it worked perfectly, which adds to the frustration.
I want to pass variables as the certhash
and appid
, which is why I'm using PowerShell.
If anyone can help me understand why it isn't working or if there is something missing for it to work on PowerShell.
I finally learned what the problem was: although in PowerShell you can execute cmd
commands natively, the parsing of the command slightly changes, and in this case it disrupted the interpretation of the appid
parameter (those curly brackets!).
To solve it, I just enclosed the brackets ({}
) and <random guid>
in single quotes, as such,
netsh http add sslcert ipport=0.0.0.0:443 certhash=<certhash> appid='{<random guid>}'
as opposed to (notice the missing 'quotes'),
netsh http add sslcert ipport=0.0.0.0:443 certhash=<certhash> appid={<random guid>}
and the command worked perfectly.
For more info on PowerShell parsing, Understanding PowerShell Parsing Modes.