hack,....
Can't claim to have a clue, but here is a hack of a workaround,...
You must run the following before you can change files,...
mount -uw /
Create a directory to store your cert,...
mkdir /conf/base/etc/ssl/certs
Next, through vi, create a PEM file to store your private/public key pair. Copy paste the RSA Private/Public key,....
vi /conf/base/etc/ssl/certs/yourcerthere.pem
Next, through vi, modify /conf/base/etc/rc.freenas to point the SSL certificiate to your file by modifying the HTTPDCERT variable...
vi /conf/base/etc/rc.freenas
Modify the HTTPDCERT variable value to point to your certificate...
: ${HTTPDCERT:="/conf/base/etc/ssl/certs/yourcerthere.pem"}
Next, comment out the line in /conf/base/etc/rc.d/ix-ssl that will try to generate the default certificate and overwrite yours on boot...
vi /conf/base/etc/rc.d/ix-ssl
Find the call to generate_certificate, and comment out
#generate_certificate
Finally, reboot and connect via https.,...
shutdown -r now
I wish I had the time to find out the real fix,.....but this worked for me.
FYI,...I'm running FreeBSD 8.2-RELEASE-p3 (FREENAS.amd64)