В итоге решил сделать с помощью ансибла.
Нашёл модули для pFsense https://github.com/bevhost/ansible-module-pfsense
Плэйбук выглядел приблизительно так:
---
- name: Install requirement pythoon libs
local_action: pip name=hvac
- name: Load SSL Certificate
pfsense_cert:
refid: "{{ refid }}"
descr: "{{ cert_descr }}"
crt: "{{ certs['data']['cert'] | b64encode }}"
prv: "{{ certs['data']['key'] | b64encode }}"
- name: Restart the web GUI
shell: /etc/rc.restart_webgui
- name: Restart HAProxy
shell: /usr/local/etc/rc.d/haproxy.sh restart
refid - ID сертификата в конфиге. если мы хотим автоматом заменить старый на новый, то он должен быть таким же как у старого (я использовал: refid: "{{ cert_name | hash('sha1') }}" )
descr - имя сертификата в pFsense
crt - сертификат
prv - ключ