-
-
Notifications
You must be signed in to change notification settings - Fork 178
SSL
HTTPS/SSL support is available in Wexflow starting from version 9.2. You can enable it for both .NET 4.8 and .NET 9.0+ versions.
You can find detailed installation instructions here.
You can install Wexflow as a Windows Service (targeting .NET Framework 4.8) using one of the following installers:
- wexflow-x.x-windows-x64.exe (64-bit)
- wexflow-x.x-windows-x86.exe (32-bit)
You can install Wexflow as a cross-platform app/service (targeting .NET 9.0+) on Windows, Linux, or macOS using one of the following packages:
- wexflow-x.x-windows-netcore.zip
- wexflow-x.x-linux-netcore.zip
- wexflow-x.x-macos-netcore.zip
Note:
Many of the operations in this guide — including installing services, managing certificates, and configuring firewalls or port bindings — require Administrator (Windows) or root (Linux/macOS) privileges.
Be sure to run your terminal or PowerShell with elevated permissions where applicable.
To generate a self-signed certificate for development:
You can test with the following endpoint: https://localhost:8000/api/v1/hello
No configuration is required to use the admin panel.
If you plan to host the admin panel on a different web server and use HTTPS for the Wexflow server, make sure the web server hosting the admin panel also uses HTTPS. This is necessary to avoid mixed content issues in modern browsers.
By default, the admin panel is available at: https://localhost:8000/
Generate .pfx
certificate file.
- Install Win64 OpenSSL
- Add
C:\Program Files\OpenSSL-Win64\bin
to yourPATH
environment variable - Open a PowerShell and run the following command to export your certificate to PFX:
$KEY = "C:\Wexflow-netcore\wexflow.key"
$CRT = "C:\Wexflow-netcore\wexflow.crt"
$PFX = "C:\Wexflow-netcore\wexflow.pfx"
$PASSWORD = "wexflow2018"
openssl pkcs12 -export -out $PFX -inkey $KEY -in $CRT -password pass:$PASSWORD
KEY="/opt/wexflow/Wexflow/wexflow.key"
CRT="/opt/wexflow/Wexflow/wexflow.crt"
PFX="/opt/wexflow/Wexflow/wexflow.pfx"
PASSWORD="wexflow2018"
openssl pkcs12 -export -out "$PFX" -inkey "$KEY" -in "$CRT" -password pass:"$PASSWORD"
KEY="/Applications/wexflow/Wexflow/wexflow.key"
CRT="/Applications/wexflow/Wexflow/wexflow.crt"
PFX="/Applications/wexflow/Wexflow/wexflow.pfx"
PASSWORD="wexflow2018"
openssl pkcs12 -export -out "$PFX" -inkey "$KEY" -in "$CRT" -password pass:"$PASSWORD"
-
Self-signed certificate warning:
If you're using a self-signed certificate, browsers will show a security warning unless the certificate is explicitly trusted on your system.
Edit .\Wexflow.Server\appsettings.json
:
{
"HTTPS": true,
"PfxFile": "C:\\Wexflow-netcore\\wexflow.pfx",
"PfxPassword": "wexflow2018"
}
Then restart the server.
Place your PXF in /opt/wexflow/Wexflow/wexflow.pfx
.
Edit /opt/Wexflow/Wexflow.Server/appsettings.json
:
{
"HTTPS": true,
"PfxFile": "/opt/wexflow/Wexflow/wexflow.pfx",
"PfxPassword": "wexflow2018"
}
Open Terminal and run the following command to restart wexflow
service:
sudo systemctl restart wexflow
Place your PFX in /Applications/wexflow/Wexflow/wexflow.pfx
.
Edit /Applications/Wexflow/Wexflow.Server/appsettings.json
:
{
"HTTPS": true,
"PfxFile": "/Applications/wexflow/Wexflow/wexflow.pfx",
"PfxPassword": "wexflow2018"
}
Open Terminal and run:
cd /Applications/wexflow/Wexflow.Server
dotnet Wexflow.Server.dll
-
Set
HTTPS
option totrue
inC:\Program Files\Wexflow\Wexflow.Server.exe.config
-
Restart Wexflow Windows Service
- Open the MMC console (
Win + R
, then typemmc
) - Install
wexflow.crt
in Trusted Root Certification Authorities (Local Computer) - Install
wexflow.pfx
in Personal store (Local Computer) - Locate your SSL certificate, double-click it
- Go to the Details tab, find Thumbprint
- Copy the thumbprint and remove all spaces
$thumb = "81d53a62964240b8d2cc77b40bf7e6c758554afc"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Thumbprint -eq $thumb }
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyPath = "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\$keyName"
$keyPath
Example output:
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\088395182206fa2acc494753b3099972_4ced353e-566d-4394-821c-bc9f487c4b5b
icacls "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\088395182206fa2acc494753b3099972_4ced353e-566d-4394-821c-bc9f487c4b5b" /grant *S-1-5-20:R
icacls "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\088395182206fa2acc494753b3099972_4ced353e-566d-4394-821c-bc9f487c4b5b" /grant *S-1-5-18:R
- Generate a new GUID for appid in PowerShell:
New-Guid
- Run the following command (replace the
certhash
andappid
with your values):
netsh http add sslcert ipport=0.0.0.0:8000 certhash=81d53a62964240b8d2cc77b40bf7e6c758554afc appid="{05e46c28-0ed2-4ac0-9473-e78190a425d4}"
- Verify the binding:
netsh http show sslcert ipport=0.0.0.0:8000
Copyright © Akram El Assas. All rights reserved.
- Install Guide
- HTTPS/SSL
- Screenshots
- Docker
- Configuration Guide
- Persistence Providers
- Getting Started
- Android App
- Local Variables
- Global Variables
- REST Variables
- Functions
- Cron Scheduling
- Command Line Interface (CLI)
- REST API Reference
- Samples
- Logging
- Custom Tasks
-
Built-in Tasks
- File system tasks
- Encryption tasks
- Compression tasks
- Iso tasks
- Speech tasks
- Hashing tasks
- Process tasks
- Network tasks
- XML tasks
- SQL tasks
- WMI tasks
- Image tasks
- Audio and video tasks
- Email tasks
- Workflow tasks
- Social media tasks
- Waitable tasks
- Reporting tasks
- Web tasks
- Script tasks
- JSON and YAML tasks
- Entities tasks
- Flowchart tasks
- Approval tasks
- Notification tasks
- SMS tasks
- Run from Source
- Fork, Customize, and Sync