4 |
|
|
5 |
%define name phpki-ng |
%define name phpki-ng |
6 |
%define version 0.84 |
%define version 0.84 |
7 |
%define release 13 |
%define release 16 |
8 |
Summary: Phpki is a simple certificate management suite |
Summary: Phpki is a simple certificate management suite |
9 |
Name: %{name} |
Name: %{name} |
10 |
Version: %{version} |
Version: %{version} |
22 |
Patch6: phpki-ng-0.84-fix-download-cert.patch |
Patch6: phpki-ng-0.84-fix-download-cert.patch |
23 |
Patch7: phpki-ng-0.84-fix-html-syntax-in-help.patch |
Patch7: phpki-ng-0.84-fix-html-syntax-in-help.patch |
24 |
Patch8: phpki-ng-0.84-fix-final-redirect.patch |
Patch8: phpki-ng-0.84-fix-final-redirect.patch |
25 |
|
Patch9: phpki-ng-bz12272-bz12273-crl-whitespacepass.patch |
26 |
|
Patch10: phpki-ng-bz12274-regex-secu.patch |
27 |
|
|
28 |
BuildArch: noarch |
BuildArch: noarch |
29 |
BuildRoot: /var/tmp/%{name}-%{version} |
BuildRoot: /var/tmp/%{name}-%{version} |
46 |
e-mail clients, SSL servers, and VPN applications. |
e-mail clients, SSL servers, and VPN applications. |
47 |
|
|
48 |
%changelog |
%changelog |
49 |
* Fri Nov 18 2022 Jean-Philippe Pialasse <tests@pialasse.com> %{version}-13.sme |
* Sat Dec 17 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.84-16.sme |
50 |
|
- add dl_crl_pem.php [SME: 12272] |
51 |
|
|
52 |
|
* Wed Dec 14 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.84-15.sme |
53 |
|
- fix regex and potential code injection [SME: 12274] |
54 |
|
|
55 |
|
* Wed Dec 14 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.84-14.sme |
56 |
|
- add easy and safe access to crl download [SME: 12272] |
57 |
|
- fix revoke certificate failing on whitespace pass [SME: 12273] |
58 |
|
- fix missing default_md in config.php from previous versions [SME: 12267] |
59 |
|
- updated scriptlet to ease backup and restore |
60 |
|
|
61 |
|
* Fri Nov 18 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.84-13.sme |
62 |
- remove extra space in URL in search.php [SME: 12232] |
- remove extra space in URL in search.php [SME: 12232] |
63 |
|
|
64 |
* Thu Sep 30 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-12.sme |
* Thu Sep 30 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-12.sme |
223 |
%patch6 -p1 |
%patch6 -p1 |
224 |
%patch7 -p1 |
%patch7 -p1 |
225 |
%patch8 -p1 |
%patch8 -p1 |
226 |
|
%patch9 -p1 |
227 |
|
%patch10 -p1 |
228 |
|
|
229 |
%build |
%build |
230 |
%{__mkdir_p} root/opt/phpki/html |
%{__mkdir_p} root/opt/phpki/html |
274 |
rm -rf $RPM_BUILD_ROOT |
rm -rf $RPM_BUILD_ROOT |
275 |
|
|
276 |
%pre |
%pre |
277 |
|
if ! /usr/bin/id phpki &>/dev/null; then |
278 |
|
echo "Creating phpki user" |
279 |
|
/usr/sbin/useradd -c 'Phpki User' -s /sbin/nologin -r -d /opt/phpki/phpki-store phpki &>/dev/null || \ |
280 |
|
%logmsg "Unexpected error adding user \"phpki\". Abort installation." |
281 |
|
fi |
282 |
|
|
283 |
echo "******************************************************" |
echo "******************************************************" |
284 |
echo "* " |
echo "* " |
285 |
echo "* !!! IMPORTANT - READ THIS NOW !!! " |
echo "* !!! IMPORTANT - READ THIS NOW !!! " |
288 |
echo "* This contrib now has higher levels of encryption" |
echo "* This contrib now has higher levels of encryption" |
289 |
echo "* " |
echo "* " |
290 |
echo "* We cannot upgrade your existing certificates" |
echo "* We cannot upgrade your existing certificates" |
291 |
|
echo "* existing certificates from SME9 or below have either " |
292 |
|
echo "* md5WithRSAEncryption sha1WithRSAEncryption" |
293 |
|
echo "* as Signature Algorithm (weak)." |
294 |
|
echo "* only way to update to sha256 or sha512 is to " |
295 |
|
echo "* start from scratch." |
296 |
echo "* " |
echo "* " |
297 |
echo "* If you have existing certificates you want to use" |
echo "* If you have existing certificates you want to use" |
298 |
echo "* then start with a new CA, backup up, and then restore" |
echo "* then start with a new CA, backup up, and then restore" |
303 |
|
|
304 |
if [ -d /opt/phpki/phpki-store ] ; then |
if [ -d /opt/phpki/phpki-store ] ; then |
305 |
echo "Backing up your /opt/phpki/phpki-store" |
echo "Backing up your /opt/phpki/phpki-store" |
306 |
RANDOM=$$ |
today=$(date "+%Y%m%d%H%M") |
307 |
PHPKIDIR=$(( 1 + $RANDOM%99999 )) |
echo "Copying from /opt/phpki/phpki-store to /opt/phpki/phpki-store.$today" |
308 |
echo "Number is $PHPKIDIR" |
/bin/cp -pr /opt/phpki/phpki-store "/opt/phpki/phpki-store.$today" |
309 |
echo "Copying from /opt/phpki/phpki-store to /opt/phpki/phpki-store.$PHPKIDIR" |
echo "Directory copied... continuing to install" |
310 |
/bin/cp -pr /opt/phpki/phpki-store "/opt/phpki/phpki-store.$PHPKIDIR" |
# fix missing md_default |
311 |
echo "Directory copied...continuing installaton" |
if ( grep default_md /opt/phpki/phpki-store/config/config.php -q ); then |
312 |
|
echo "md_default OK" |
313 |
|
else |
314 |
|
echo "default_md missing in /opt/phpki/phpki-store/config/config.php" |
315 |
|
echo "getting value from /opt/phpki/phpki-store/config/openssl.cnf" |
316 |
|
# it could ba acceptable to hash sha256 a certificate from a root with sha1. |
317 |
|
defaultmd=$(awk '/^default_md/{print $NF}' /opt/phpki/phpki-store/config/openssl.cnf || echo "sha512") |
318 |
|
echo "inserting $defaultmd default_md at end of /opt/phpki/phpki-store/config/config.php" |
319 |
|
sed -i '/\?>/i \ |
320 |
|
# Define default md \ |
321 |
|
\$config['default_md'] = "'$defaultmd'";' /opt/phpki/phpki-store/config/config.php |
322 |
|
echo "Done... continuing to install" |
323 |
|
fi |
324 |
else |
else |
325 |
echo "No directory detected...continuing installaton" |
echo "No directory detected... continuing to install" |
326 |
fi |
fi |
327 |
|
|
328 |
|
|
|
|
|
|
if ! /usr/bin/id phpki &>/dev/null; then |
|
|
echo "Creating phpki user" |
|
|
/usr/sbin/useradd -c 'Phpki User' -s /sbin/nologin -r -d /opt/phpki/phpki-store phpki &>/dev/null || \ |
|
|
%logmsg "Unexpected error adding user \"phpki\". Abort installation." |
|
|
fi |
|
|
|
|
329 |
%preun |
%preun |
330 |
|
|
331 |
|
|
332 |
%post |
%post |
333 |
# First install, point index.php to setup.php |
# First install, point index.php to setup.php |
334 |
if [ $1 == 1 ]; then |
if [ $1 == 1 ]; then |
335 |
|
#do not do if there is already a CA (restore from backup)) |
336 |
|
if [ ! -f /opt/phpki/phpki-store/config/config.php ] ; then |
337 |
%{__ln_s} /opt/phpki/html/setup.php-presetup /opt/phpki/html/index.php |
%{__ln_s} /opt/phpki/html/setup.php-presetup /opt/phpki/html/index.php |
338 |
%{__ln_s} /opt/phpki/html/setup.php-presetup /opt/phpki/html/setup.php |
%{__ln_s} /opt/phpki/html/setup.php-presetup /opt/phpki/html/setup.php |
339 |
echo "<?php |
fi |
340 |
|
echo "<?php |
341 |
header(\"Location: ./../index.php\"); |
header(\"Location: ./../index.php\"); |
342 |
?> |
?> |
343 |
" > /opt/phpki/html/ca/index.php |
" > /opt/phpki/html/ca/index.php |