This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| custom_ssl_cert_local_cert_authority [2025/11/12 23:20] – [Creating an Intermediate Certificate Request to Root] hogwild | custom_ssl_cert_local_cert_authority [2025/11/13 01:57] (current) – [Prerequisites] -Formatting hogwild | ||
|---|---|---|---|
| Line 18: | Line 18: | ||
| ===== Prerequisites ===== | ===== Prerequisites ===== | ||
| | | ||
| - | - A FreshTomato router with approximately 2.5 kB of free NVRAM. \\ (Check "Used / Total NVRAM" in the Overview menu) | + | - A FreshTomato router with approximately 2.5 kB of free NVRAM. \\ (Check "Used / Total NVRAM" in the Overview menu) \\ \\ |
| - Any Linux distro with which you are comfortable. \\ The Certificate Authority will be built in the "/ | - Any Linux distro with which you are comfortable. \\ The Certificate Authority will be built in the "/ | ||
| | | ||
| Line 347: | Line 346: | ||
| ===== Create a Certificate Chain File ===== | ===== Create a Certificate Chain File ===== | ||
| - | + | \\ | |
| - | \\ Use the concatenate command to combine the root and intermediate certificates, | + | Use the concatenate command to combine the root and intermediate certificates, |
| + | \\ | ||
| + | \\ | ||
| + | '' | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | Change permissions on the " | ||
| + | \\ | ||
| + | \\ | ||
| + | '' | ||
| + | \\ | ||
| + | \\ | ||
| + | CONSTRUCTION | ||
| OF THE | OF THE | ||
| Line 354: | Line 367: | ||
| CERTIFICATE | CERTIFICATE | ||
| - | IS NOW COMPLETE \\ | + | IS NOW COMPLETE \\ |
| - | + | \\ | |
| + | \\ | ||
| + | \\ | ||
| ===== Create a Key and Certificates for FreshTomato ===== | ===== Create a Key and Certificates for FreshTomato ===== | ||
| ==== Create a FreshTomato Key Using EC PRIME256V1 ==== | ==== Create a FreshTomato Key Using EC PRIME256V1 ==== | ||
| Line 374: | Line 388: | ||
| | | ||
| | | ||
| - | |||
| ==== Create a Freshtomato Certificate Signing Request ==== | ==== Create a Freshtomato Certificate Signing Request ==== | ||
| Line 408: | Line 421: | ||
| | | ||
| | | ||
| - | \\ | + | |
| - | + | ||
| ==== Sign the Certificate with the Intermediate Certificate Authority ==== | ==== Sign the Certificate with the Intermediate Certificate Authority ==== | ||
| | | ||
| Line 421: | Line 432: | ||
| | | ||
| ==== Set up Root with Elliptical Curve SSH Keys ==== | ==== Set up Root with Elliptical Curve SSH Keys ==== | ||
| - | \\ | + | |
| - | (This is done with root credentials because the certificates must be installed in FreshTomato. Using root access helps avoid unsecured steps in between). \\ | + | \\ (This is done with root credentials because the certificates must be installed in FreshTomato. Using root access helps avoid unsecured steps in between). \\ \\ Change to the: "/ |
| - | \\ | + | |
| - | Change to the: "/ | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | '' | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | Generate a public | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | '' | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | Display the contents of the public SSH key file: "/ | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | '' | + | |
| - | (The contents should look similar to: " | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | Now, connect to the router' | + | |
| - | \\ | + | |
| - | \\ | + | |
| - | Uncheck: \\ | + | |
| * "Allow password login" | * "Allow password login" | ||
| * "WAN access" | * "WAN access" | ||
| - | \\ Now, check: \\ | + | \\ Now, check: \\ |
| * " | * " | ||
| - | \\ | + | |
| - | \\ | + | \\ \\ \\ \\ Finally, click "Start Now" to restart the SSH server. \\ \\ \\ \\ |
| - | \\ | + | |
| - | \\ | + | |
| - | Finally, click "Start Now" to restart the SSH server. \\ | + | |
| Line 525: | Line 503: | ||
| | | ||
| | | ||
| - | Run the stream text editor | + | Run the stream text editor, make it open the " |
| | | ||
| | | ||
| - | \\ | + | '' |
| - | '' | + | |
| | | ||
| | | ||
| Line 555: | Line 532: | ||
| | | ||
| '' | '' | ||
| - | \\ | ||
| | | ||
| - | \\ | + | \\ |
| + | \\ | ||
| | | ||
| Commit all the changes to NVRAM: \\ | Commit all the changes to NVRAM: \\ | ||
| - | \\ | + | |
| | | ||
| '' | '' | ||
| - | \\ | ||
| | | ||
| - | \\ | + | \\ |
| + | \\ | ||
| | | ||
| Finally, restart the HTTP daemon: \\ | Finally, restart the HTTP daemon: \\ | ||
| Line 578: | Line 555: | ||
| The process is now complete. Now, you should be able to access your FreshTomato web interface using the custom certificates you created with your own CA. If something isn't working, review all steps and double-check that they were properly completed. \\ | The process is now complete. Now, you should be able to access your FreshTomato web interface using the custom certificates you created with your own CA. If something isn't working, review all steps and double-check that they were properly completed. \\ | ||
| | | ||
| - | \\ | + | |
| Line 596: | Line 573: | ||
| | | ||
| | | ||
| - | Since r2025.3, FreshTomato doesn' | + | Since r2025.3, FreshTomato doesn' |
| - | \\ | + | |
| * In the web interface, go to the [[admin_access|Admin Access]] menu and check the CN under "SSL Certificate" | * In the web interface, go to the [[admin_access|Admin Access]] menu and check the CN under "SSL Certificate" | ||
| * Connect via SSH to FreshTomato and run the following commands: | * Connect via SSH to FreshTomato and run the following commands: | ||
| Line 606: | Line 583: | ||
| * When the router is accessible again you'll notice that the certificate is still working fine. \\ Go back to the [[admin_access|Admin Access]] page and you will see the CN is now " | * When the router is accessible again you'll notice that the certificate is still working fine. \\ Go back to the [[admin_access|Admin Access]] page and you will see the CN is now " | ||
| * If you clicked " | * If you clicked " | ||
| - | * At this point you can go back to SSH and change back your CN and commit or, of test it further. \\ | + | * At this point you can go back to SSH and change back your CN and commit or, of test it further. |
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||