I have already tried all the methods, but I still cannot enable support for
SSL in my project. Below I will describe all the configuration steps that I do, maybe I am doing something wrong:
1. I have a domain, let's say it's broker.com, there is a
WildСard certificate
*.broker.com.
IIS is running on the server where several sites are running:
https://crm.broker.com,
https://webtrader.broker.com,
https://tradersroom.broker.com they all support
SSL on port
443.
2. Now I would like to start my service on the same server at:
https://broker.ru/payments/
3. I am using Intraweb version
15.1.22 in the
http.sys mode ( TIWStartHSys.Execute( False ) ).
4. I am setting the settings in the
IWServerControllerBaseConfig event (
Perhaps the settings need to be set in another event ? ):
Code:
Port := 8888; //80
URLBase := '/payments/';
Do I need to specify the path to certificates for nttp.sys? I've tried specifying and leaving the field blank.
Code:
SSLOptions.Certificate.CertFileName := 'cert.pem';
SSLOptions.Certificate.KeyFileName := 'key.pem';
SSLOptions.Certificate.RootCertFileName := 'root.pem';
SSLOptions.Certificate.Password := 'pass';
SSLOptions.Certificate.Path := 'C:\certificates\';
Can I specify the
SSL port
443 if it is already in use by the
IIS ? I've tried
443 and
8444.
Code:
SSLOptions.Port := 8444; //443
5.Further in PowerShell, I get the certificate fingerprint with the command:
Code:
dir cert:\localmachine\my
6. Then I execute the command:
Code:
netsh http add sslcert ipport=0.0.0.0:443 certhash=C30A5559BEA881A555215592F55598F85DDDC55D appid="{8555E71B-5558-4CF1-5554-743F55562F71}" certstore=my
and I get a message something like:
Certificate added successfully.
I also tried to specify the
hostnameport=payments.broker.com:443 domain instead of the
IP address, while in the settings of the
IWServerController, I added:
Code:
HttpSysOptions.VirtualHostNames := 'payments.broker.com';
I also tried executing the command:
Code:
netsh http add urlacl url=https://0.0.0.0:443/ user=Users
7. I also put the libraries in the folder with the
exe file:
libeay32.dll and
libmysql.dll,
But as I understand it, these libraries are not needed when working with
http.sys ?
After all these actions, the
HTTP works fine, but when trying to access through
HTTPS, the browser says that it:
"Cannot load the page".
I do not know what action to take yet and I really look forward to help from this forum...