mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
Generate a certificate at first boot rather than using a default public cert/key pair. Ticket #63
This commit is contained in:
parent
0d7ff22656
commit
0cdaaa8ed8
@ -1,22 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDjTCCAvagAwIBAgIBATANBgkqhkiG9w0BAQUFADCBkDELMAkGA1UEBhMCVVMx
|
||||
ETAPBgNVBAgTCEtlbnR1Y2t5MRMwEQYDVQQHEwpMb3Vpc3ZpbGxlMR4wHAYDVQQK
|
||||
ExVCU0QgUGVyaW1ldGVyIHBmU2Vuc2UxIzAhBgkqhkiG9w0BCQEWFGNvcmV0ZWFt
|
||||
QHBmc2Vuc2Uub3JnMRQwEgYDVQQDEwtpbnRlcm5hbC1jYTAeFw0wOTEyMDMwMTMw
|
||||
MTdaFw0xNTA1MjYwMTMwMTdaMIGUMQswCQYDVQQGEwJVUzERMA8GA1UECBMIS2Vu
|
||||
dHVja3kxEzARBgNVBAcTCkxvdWlzdmlsbGUxHjAcBgNVBAoTFUJTRCBQZXJpbWV0
|
||||
ZXIgcGZTZW5zZTEjMCEGCSqGSIb3DQEJARYUY29yZXRlYW1AcGZzZW5zZS5vcmcx
|
||||
GDAWBgNVBAMTD3d3dy5wZnNlbnNlLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
|
||||
gYkCgYEA2uXmubyVleXzt8Nxj19VOiL3FdWL/8xLzVHe5NxTfs02zvmdpqjmcuMa
|
||||
StY02UkJA24wvOpnoRJu1K6CsEAade7wCm294UjoqVg3wdJq+2yngxeGxrTeQ8d5
|
||||
3TvE8QYyjX1Oo+e6fZFadNGqn9NO61RngdGaqcvalv8CwYQpdwECAwEAAaOB8DCB
|
||||
7TAdBgNVHQ4EFgQUu4/6LXe6HdEO5W6k+bZotCU4zIcwgb0GA1UdIwSBtTCBsoAU
|
||||
6VqQ9sdA8dRnqX7t9HDQuDJlg32hgZakgZMwgZAxCzAJBgNVBAYTAlVTMREwDwYD
|
||||
VQQIEwhLZW50dWNreTETMBEGA1UEBxMKTG91aXN2aWxsZTEeMBwGA1UEChMVQlNE
|
||||
IFBlcmltZXRlciBwZlNlbnNlMSMwIQYJKoZIhvcNAQkBFhRjb3JldGVhbUBwZnNl
|
||||
bnNlLm9yZzEUMBIGA1UEAxMLaW50ZXJuYWwtY2GCAQAwDAYDVR0TBAUwAwEB/zAN
|
||||
BgkqhkiG9w0BAQUFAAOBgQCKHCe/RXW+AEyKgMWe22jmC3nQGdNALtRzemftMsud
|
||||
J01tw8VjJ7JpxxPbg++yiaaAXCgnCdcNtyfa6WG5EekLZWj+ChDUMciKBxWUtgKH
|
||||
09JywYUbAiOHsL5YuSHhq98HWwzahOAuTRknLCW+vmwx2isk78kTvHHIIK2KHfua
|
||||
Ow==
|
||||
-----END CERTIFICATE-----
|
||||
@ -1,15 +0,0 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICXQIBAAKBgQDa5ea5vJWV5fO3w3GPX1U6IvcV1Yv/zEvNUd7k3FN+zTbO+Z2m
|
||||
qOZy4xpK1jTZSQkDbjC86mehEm7UroKwQBp17vAKbb3hSOipWDfB0mr7bKeDF4bG
|
||||
tN5Dx3ndO8TxBjKNfU6j57p9kVp00aqf007rVGeB0Zqpy9qW/wLBhCl3AQIDAQAB
|
||||
AoGAKHHkEJtslBa50lFVUSVPLP+64ZjkVi4cL2KaKXUgJESshM+QNnPsqHuXpw4v
|
||||
E5qwBKc+cBlrblJmkftwgDpH6PyxmZbbQL1LhQdtvBzddqf04KZqXm9rat3plCI3
|
||||
pPWJXp4UoP+v1/NITqX/WkMNobqTGLM0qqbwkFQcJiidx8UCQQD/mlD/Sb2rsG/y
|
||||
kvAVEMVt7I0tEwaGeEGAVJAY4K4OjV2nDtANARfKZiIOCfU0PztpQYLlqAOSnhk9
|
||||
1lKdYQK7AkEA2zz7qFIcM/5wLN0AXVvT6WMwtB5dOSmaJmjYx2WUReHb8E+z93Vk
|
||||
x+Z6KkTCgJ672+jDyHcKBNKL567TurRncwJBAKGaFFnDaprRO4YXZpk6+EgOhheY
|
||||
bsi34VncnRpNe16R/EMx91IxfbQmrKNJonD9BXf/xl2iw1eAg574EVWVTx8CQHM5
|
||||
XdpdLU12UGaD0IlAleN3qkVAICbG4qmFOUmy7Xa8+ecXPLK2FD2ruFE2yjLnOjyd
|
||||
3SgiyDU4oyclD0p1PlkCQQCeQz1JA68KmHmjKRP6Wv7vcx6KCbShoNXurUstD+i8
|
||||
4BCTmrAMf+dWsHxJxSfdi7qFS0J+QHNVtHzF0ldyYClB
|
||||
-----END RSA PRIVATE KEY-----
|
||||
@ -647,24 +647,28 @@ function system_webgui_start() {
|
||||
if (!is_array($config['system']['cert']))
|
||||
$config['system']['cert'] = array();
|
||||
$a_cert =& $config['system']['cert'];
|
||||
echo "Importing default SSL Certificate... ";
|
||||
$cert_file = "/etc/default_ssl_certs/pfSense_webConfigurator_HTTPS_Certificate.crt";
|
||||
$key_file = "/etc/default_ssl_certs/pfSense_webConfigurator_HTTPS_Certificate.key";
|
||||
echo "Creating SSL Certificate... ";
|
||||
mwexec("openssl genrsa 1024 > /etc/ssl.key");
|
||||
mwexec("chmod 400 /etc/ssl.key");
|
||||
mwexec("openssl req -new -x509 -nodes -sha1 -days 365 -key /etc/ssl.key > /etc/ssl.crt");
|
||||
mwexec("chmod 400 /etc/ssl.crt");
|
||||
$cert_file = "/etc/ssl.crt";
|
||||
$key_file = "/etc/ssl.key";
|
||||
if(file_exists($cert_file) && file_exists($key_file)) {
|
||||
$cert = array();
|
||||
$cert['refid'] = uniqid();
|
||||
$cert['name'] = "pfSense webConfigurator default";
|
||||
$crt = file_get_contents("/etc/default_ssl_certs/pfSense_webConfigurator_HTTPS_Certificate.crt");
|
||||
$key = file_get_contents("/etc/default_ssl_certs/pfSense_webConfigurator_HTTPS_Certificate.key");
|
||||
$cert['name'] = "webConfigurator default";
|
||||
$crt = file_get_contents($cert_file);
|
||||
$key = file_get_contents($key_file);
|
||||
cert_import($cert, $crt, $key);
|
||||
$a_cert[] = $cert;
|
||||
$config['system']['webgui']['ssl-certref'] = $cert['refid'];
|
||||
write_config("Importing default HTTPS certificate from /etc/default_ssl_certs/");
|
||||
write_config("Importing HTTPS certificate");
|
||||
if(!$config['system']['webgui']['port'])
|
||||
$portarg = "443";
|
||||
$ca = ca_chain($cert);
|
||||
} else {
|
||||
log_error("ERROR: Could not locate a default certificate file in /etc/default_ssl/certs/ for import $cert_file - $key_file");
|
||||
log_error("ERROR: Could not locate a certificate file for import $cert_file - $key_file");
|
||||
}
|
||||
} else
|
||||
$crt = base64_decode($cert['crt']);
|
||||
@ -1340,4 +1344,4 @@ function enable_watchdog() {
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
Loading…
Reference in New Issue
Block a user