On most Linux distros it is possible to generate the htpasswd file entries simply using the htpasswd command line util.
On FreeBSD the easiest way to accomplish the same task is using OpenSSL itself
openssl passwd -apr1 >> /path/to/htpasswd.file
Enter the password twice and the hash will be printed into the file
Then open the file and add the username followed with a : before the hash
It will look like username:password_hash
Install and configure wireguard I use the Wireguard install script to create the config we import into the wireguard. That is located HERE
Generate your first wireguard config. After running the script above it will ask you for a client name, I would name it something relating to opnsense
Install Wireguard on OPNSense | System -> Firmware -> Plug-ins -> select and install ‘os-wireguard’
Get to wireguard config | Refresh the page, then go to VPN -> Wireguard