fritzbox_upload_certificate
fritzbox_upload_certificate copied to clipboard
Script to upload certificate to FRITZ!Box
Script to upload certificate to FRITZ!Box
This scripts allows to upload a certificate and a private key to a FRITZ!Box via curl. It can be used after a new certificate was obtained via Let's Encrypt for example.
The idea was taken from https://gist.github.com/wikrie/f1d5747a714e0a34d0582981f7cb4cfb
Usage
You have to provide a baseurl for your FRITZ!Box, a username, a password, and a certpath to contain fullchain.pem
and privkey.pem
. This can be done using environment variables or command line options. Command line options have a higher precedence.
Parameter | Environment | Command line option |
---|---|---|
baseurl | FRITZBOX_BASEURL |
-b |
username | FRITZBOX_USERNAME |
-u |
password | FRITZBOX_PASSWORD |
-p |
certpath | FRITZBOX_CERTPATH |
-c |
debug | FRITZBOX_DEBUG |
-d |
For debugging set the environment variable FRITZBOX_DEBUG
to any non-empty string or use the command line option -d
. The HTTP requests and responses will be written to /tmp/fritzbox.debug
then.
Limitations
Only RSA keys are supported by FRITZ!OS.
Examples
Using command line options:
./fritzbox_upload_certificate.sh -b http://fritz.box -u admin -p secret -c ./certificates/fritz.box
Using environment variables:
export FRITZBOX_BASEURL=http://fritz.box
export FRITZBOX_USERNAME=admin
export FRITZBOX_PASSWORD=secret
export FRITZBOX_CERTPATH=./certificates/fritz.box
./fritzbox_upload_certificate.sh
Tested with
Device | FRITZ!OS | works? |
---|---|---|
FRITZ!Box 6490 Cable | 7.20 | ✓ |
FRITZ!Box 6660 Cable | 7.57 | ✓ |
FRITZ!Box 7360 | 6.86 | ✓ |
FRITZ!Box 7490 | 7.12 | ✓ |
FRITZ!Box 7490 | 7.57 | ✓ |
FRITZ!Box 7530 AX | 7.57 | ✓ |
FRITZ!Box 7580 | 7.30 | ✓ |
FRITZ!Box 7590 | 7.29 | ✓ |
FRITZ!Repeater 1200 AX | 7.57 | ✕ |
FRITZ!WLAN Repeater DVB-C | 7.01 | ✓ |
Let me know what your results are.