* Thu Jun 12 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-33.sme

- fix autorenew of self-signed certificate [SME: 12218]
  strips unsupported characters, use utf8 encoding
This commit is contained in:
Jean-Philippe Pialasse 2025-06-12 10:06:01 -04:00
parent 6957c1ab9c
commit 08d064bd3d
2 changed files with 54 additions and 45 deletions

View File

@ -2,6 +2,7 @@
use constant KEYLIFEINDAYS => $modSSL{KeyLifeInDays} || 365;
use esmith::ssl;
use Date::Parse;
use utf8;
use Cwd;
use Net::IP qw(ip_is_ipv4 ip_is_ipv6);
use esmith::Logger;
@ -38,6 +39,7 @@
$defaultCity = substr($defaultCity, 0, 128);
$defaultCompany = substr($defaultCompany, 0, 64);
$defaultDepartment = substr($defaultDepartment, 0, 64);
$defaultDepartment =~ s/[''"]//g;
$email = substr($email, 0, 64);
$commonName = substr($commonName, 0, 64);
@ -54,16 +56,19 @@
my $key_md5 = `openssl rsa -noout -modulus -in $key | openssl md5`;
if ( ($ttl_days > 2) && ( "$crt_md5" eq "$key_md5" ) ) {
my $expected_issuer = 'C = '.$Country .
', ST = '.$State;
$expected_issuer .= ', L = ' . ($defaultCity ? $defaultCity : 'Default City');
$expected_issuer .= ', O = ' . ($defaultCompany ? $defaultCompany : 'Default Company Ltd');
$expected_issuer .= ", OU = $defaultDepartment" if $defaultDepartment;
$expected_issuer .= ", CN = $commonName" .
", emailAddress = $email";
my $issuer = `openssl x509 -issuer -noout -in $crt`;
my $expected_issuer = 'C='.$Country .
', ST='.$State;
$expected_issuer .= ', L=' . ($defaultCity ? $defaultCity : 'Default City');
$expected_issuer .= ', O=' . ($defaultCompany ? $defaultCompany : 'Default Company Ltd');
$expected_issuer .= ", OU=$defaultDepartment" if $defaultDepartment;
$expected_issuer .= ", CN=$commonName" .
", emailAddress=$email";
# format so we can compare with right encoding
my $issuer = `openssl x509 -issuer -nameopt dump_der -noout -in $crt`;
chomp $issuer;
$issuer =~ s/^issuer=//;
# we remove any "
$issuer =~ s/["]//g;
my $signatureAlg = `openssl x509 -text -noout -in $crt | grep "Signature Algorithm" | head -1`;
chomp $signatureAlg;
$signatureAlg =~ s/^ *Signature Algorithm: //;

View File

@ -4,7 +4,7 @@ Summary: smeserver server and gateway - base module
%define name smeserver-base
Name: %{name}
%define version 11.0.0
%define release 32
%define release 33
Version: %{version}
Release: %{release}%{?dist}
License: GPL
@ -182,6 +182,10 @@ fi
%changelog
* Thu Jun 12 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-33.sme
- fix autorenew of self-signed certificate [SME: 12218]
strips unsupported characters, use utf8 encoding
* Thu Jun 05 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-32.sme
- Replicate user accounts to samba Active Directory [SME: 12799]