I'm using MSXML2.ServerXMLHTTP in JScript / VBA and want to set the client certificate path. In WinHTTP.WinHTTPRequest I could use the option '.setClientCertificate', but this seems absent in MSXML2.ServerXMLHTTP.
Is there any argument I can use for this to get the same effect? I need to use MSXML2.ServerXMLHTTP as I'm using it a-synchronously and WinHTTP doesn't support that.
Example code JScript/VBA:
var H = new ActiveXObject('MSXML2.ServerXMLHTTP.6.0')
H.open('GET', 'https://stackoverflow.com/', true)
H.setRequestHeader('Cookie', 'yesplease')
H.setClientCertificate('CURRENT_USER\MY\USERNAME') <-- this line doesn't work
H.send
So the above errors on the setClientCertificate line. However, the below would work (but as mentioned I can't use WinHTTP)
var H = new ActiveXObject('WinHTTP.WinHTTPRequest.5.1')
H.open('GET', 'https://stackoverflow.com/', true)
H.setRequestHeader('Cookie', 'yesplease')
H.setClientCertificate('CURRENT_USER\MY\USERNAME') <-- this line DOES work
H.send
Is there a way I can use the setClientCertificate with the MSXML2.ServerHTTP object?
You want
.setOption 3, "\value\......."
It is detailed here:
https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms763811(v%3Dvs.85) under `SXH_OPTION_SELECT_CLIENT_SSL_CERT`
Syntax
oServerXMLHTTPRequest.setOption option, value
As per your code
H.setOption 3, "CURRENT_USER\\MY\\USERNAME"
For the constant
SXH_OPTION_SELECT_CLIENT_SSL_CERT = 3 '&H3