X-Junk-Score: 0 [] X-KAS-Score: 0 [] From: "Nicolas Hatier nicolas.hatier@niversoft.com" Received: from niversoft.3sys.qc.ca ([207.134.55.86] verified) by list.communigate.ru (CommuniGate Pro SMTP 6.4.1j) with ESMTPS id 65142189 for CGatePro@list.communigate.ru; Tue, 22 Apr 2025 21:26:17 +0300 Received-SPF: pass receiver=mail.communigate.ru; client-ip=207.134.55.86; envelope-from=nicolas.hatier@niversoft.com X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25 (ClamAV 0.105.0/26541) X-ExtFilter: Niversoft's DomainKeys Helper DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niversoft.com; s=default; t=1745346364; x=1745951164; q=dns/txt; h=X-VirusScanner:X-CGKaspersky-Result:X-ExtFilter: DomainKey-Signature:DKIM-Signature:Content-Type:Message-ID:Date: MIME-Version:User-Agent:Subject:To:References:Content-Language: From:Organization:In-Reply-To; bh=DSeZvHVu97k4V4tWfu6dtuNLFjhBqz SK+QZq6DmOjjI=; b=ao1KVu8RxXfVp2mlgLVbjWs3vaFxEb2AXGN2u6nivJcqVq J7X+0NplAeHVYBBzRNNOjGFctpN65+RR5OC7Yi3I7kMXqFdQywHbDOk+zKKFANDB KZ8vMnRj0nr9kPYPEqZ9PchUrrQlJaHkdGf5ZMglLmv3WzTMQpxKXM1zw0hSI= Received: from internal.domain; Tue, 22 Apr 2025 14:26:04 -0400 X-VirusScanner: Niversoft's Kaspersky Helper X-CGKaspersky-Result: CLEAN X-ExtFilter: Niversoft's DomainKeys Helper DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; d=niversoft.com; s=default; h=Content-Type:Message-ID:Date:MIME-Version:User-Agent:Subject:To: References:Content-Language:From:Organization:In-Reply-To; b=FLh5jTaJ7+wa9Vn4iS8lg3rIl8OYxBj84sD+96IElzhX6beHIi+qUTENJeJTn9SZrW 1+fax0L7NkDUPi30VW87455uXf5BPb3BPz6ptDm6BD7RlmZIBfa5Nb4KmB8sHH1cFQMG d0UQkFWEIG1qEC67gFP7b1ukOOxwP+iQbG6ks= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niversoft.com; s=default; l=15669; t=1745346433; x=1745951233; q=dns/txt; h=Content-Type:Message-ID:Date:MIME-Version: User-Agent:Subject:To:References:Content-Language:From: Organization:In-Reply-To; bh=DSeZvHVu97k4V4tWfu6dtuNLFjhBqzSK+QZ q6DmOjjI=; b=xQLcVSkDN8LO343W0liyGSXb53uTuI60bAoNpbAS/Fjlgd0LH61 I+2s/ox8a139Yh+c68rzgOYTExcLJmDhaAhtTIKhN26/yI8mGR7E48xmVr03Oo8v 1geauiWFn5EeqGFXtFML61yLs34JJFJgfnOvuB+YVNCAehUeAW5eBirw= Received: from internal.domain; Tue, 22 Apr 2025 14:27:12 -0400 Content-Type: multipart/alternative; boundary="------------vbHxr3PyzfYnrY4k0HTm7aF1" Message-ID: <46a6b264-beb8-4aee-8a5c-b6bbd2cae0ff@niversoft.com> Date: Tue, 22 Apr 2025 14:26:03 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: CommuniGate Pro and Let's Encrypt integration To: CGatePro@list.communigate.ru References: Content-Language: fr Organization: Niversoft Idees Logicielles In-Reply-To: This is a multi-part message in MIME format. --------------vbHxr3PyzfYnrY4k0HTm7aF1 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SSBydW4gZWl0aGVyIGNlcnRib3Qgb3Igd2luLWFjbWUgb3IgYWNtZS5zaCBvbiB0aGUgc2Vy dmVyIHRvIHVwZGF0ZSB0aGUgDQp3ZWJzaXRlIGNlcnRpZmljYXRlLg0KDQp0J3MgY29uZmln dXJlZCB0byBzYXZlIHRoZSBjZXJ0aWZpY2F0ZXMgdG8gYSBrbm93biBsb2NhdGlvbiwgdGhl biBpdCANCmNhbGxzIGEgY2dwLXVwZGF0ZSBzY3JpcHQgYW5kIGZpbmFsbHkgZGVsZXRlcyB0 aGUgc2F2ZWQgY2VydGlmaWNhdGVzLg0KDQpUaGUgY2dwLXVwZGF0ZSBzY3JpcHQgdGhlbiBs b29rcyBsaWtlIHRoaXMsIGZlZWwgZnJlZSB0byBidWlsZCB1cG9uIHRoYXQ6DQoNCiMhL3Vz ci9iaW4vcGVybA0KdXNlIENMSTsNCnVzZSBzdHJpY3Q7DQpvdXIgJGxvZ2luID0gInBvc3Rt YXN0ZXIiOw0Kb3VyICRwYXNzd29yZCA9ICJwYXNzd29yZCI7ICMgVE9ETzogbG9hZCBwYXNz d29yZCBmcm9tIGEgbW9yZSBzZWN1cmUgbG9jYXRpb24NCg0KIyBUaGlzIGRpcmVjdG9yeSBj b250YWlucyBjZXJ0aWZpY2F0ZSBmaWxlcyBzYXZlZCBieSB0aGUgYWNtZSBzY3JpcHQNCiMg V2l0aCBuYW1lcyBmb2xsb3dpbmcgdGhlIHBhdHRlcm4gc3ViZG9tYWluMS5rZXksIHN1YmRv bWFpbjEuY3J0LCBzdWJkb21haW4xLmNoYWluLmNydA0KDQpvdXIgJGtleXBhdGggPSAnL3Bh dGgvdG8vc3NsL2NlcnRpZmljYXRlcyc7DQoNCg0Kc3ViIHVwZGF0ZV9jZXJ0DQp7DQogwqDC oCBteSAoJGNsaSwgJGRvbWFpbiwgJHNyYykgPSBAXzsNCiDCoMKgICRzcmMgPSAkZG9tYWlu IHVubGVzcyAkc3JjOw0KIMKgwqAgbXkgJHBrZXlmaWxlID0gIiRrZXlwYXRoLyRzcmMua2V5 IjsNCiDCoMKgIG15ICRjZXJ0ZmlsZSA9ICIka2V5cGF0aC8kc3JjLmNydCI7DQogwqDCoCBt eSAkY2FmaWxlID0gIiRrZXlwYXRoLyRzcmMuY2hhaW4uY3J0IjsNCg0KIMKgwqAgb3BlbihQ SywgJHBrZXlmaWxlKSBvciBkaWUgIkNhbid0IGZpbmQgJHBrZXlmaWxlIjsNCiDCoMKgIG15 ICRwayA9IGpvaW4oIiIsIDxQSz4pOw0KIMKgwqAgY2xvc2UgUEs7DQogwqDCoCAkcGsgPX4g cy8tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tLy87DQogwqDCoCAkcGsgPX4gcy8t LS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLS8vOw0KIMKgwqAgJHBrID1+IHMvW1xyXG5d Ly9nOw0KIMKgwqAgJHBrID0gIlskcGtdIjsNCg0KIMKgwqAgb3BlbihQSywgJGNlcnRmaWxl KSBvciBkaWUgIkNhbid0IGZpbmQgJGNlcnRmaWxlIjsNCiDCoMKgIG15ICRjZXJ0ID0gam9p bigiIiwgPFBLPik7DQogwqDCoCBjbG9zZSBQSzsNCiDCoMKgICRjZXJ0ID1+IHMvLS0tLS1C RUdJTiBDRVJUSUZJQ0FURS0tLS0tLy87DQogwqDCoCAkY2VydCA9fiBzLy0tLS0tRU5EIENF UlRJRklDQVRFLS0tLS0vLzsNCiDCoMKgICRjZXJ0ID1+IHMvW1xyXG5dLy9nOw0KIMKgwqAg JGNlcnQgPSAiWyRjZXJ0XSI7DQoNCiDCoMKgIG9wZW4oUEssICRjYWZpbGUpIG9yIGRpZSAi Q2FuJ3QgZmluZCAkY2FmaWxlIjsNCiDCoMKgIG15ICRjYSA9IGpvaW4oIiIsIDxQSz4pOw0K IMKgwqAgY2xvc2UgUEs7DQogwqDCoCAkY2EgPX4gcy8tLS0tLUJFR0lOIENFUlRJRklDQVRF LS0tLS0vL2c7DQogwqDCoCAkY2EgPX4gcy8tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tLy9n Ow0KIMKgwqAgJGNhID1+IHMvW1xyXG5dLy9nOw0KIMKgwqAgJGNhID0gIlskY2FdIjsNCg0K IMKgwqAgbXkgJG5ld3NldHRpbmdzID0gew0KIMKgwqDCoMKgwqAgIlByaXZhdGVTZWN1cmVL ZXkiID0+ICRwaywNCiDCoMKgwqDCoMKgICJDQUNoYWluIiA9PiAkY2EsDQogwqDCoMKgwqDC oCAiU2VjdXJlQ2VydGlmaWNhdGUiID0+ICRjZXJ0DQogwqDCoCB9Ow0KIMKgwqAgJGNsaS0+ VXBkYXRlRG9tYWluU2V0dGluZ3MoZG9tYWluPT4kZG9tYWluLCBzZXR0aW5ncz0+JG5ld3Nl dHRpbmdzKSB8fCBkaWUgImNhbid0IHVwZGF0ZSBzZXR0aW5nczogIiAuICRjbGktPmdldEVy ck1lc3NhZ2U7DQp9DQoNCm15ICRjbGkgPSBuZXcgQ0dQOjpDTEkoIHsgUGVlckFkZHIgPT4g IjEyNy4wLjAuMSIsDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBQZWVyUG9ydCA9PiAxMDYs DQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2dpbsKgwqDCoCA9PiAkbG9naW4sDQogwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBwYXNzd29yZCA9PiAkcGFzc3dvcmQNCiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIH0gKQ0KIMKgwqDCoCB8fCBkaWUgIkNhbid0IGxvZ2luIHRvIENHUHJv OiAiLiRDR1A6OkVSUl9TVFJJTkcuIlxuIjsNCg0KdXBkYXRlX2NlcnQoJGNsaSwgInN1YmRv bWFpbjEuY29tIik7DQp1cGRhdGVfY2VydCgkY2xpLCAic3ViZG9tYWluMi5jb20iKTsNCnVw ZGF0ZV9jZXJ0KCRjbGksICJzdWJkb21haW4zLmNvbSIpOw0KDQokY2xpLT5Mb2dvdXQ7DQoN Cg0KQmVzdCByZWdhcmRzLA0KTmljb2xhcyBIYXRpZXINCg0KDQpMZSAyMDI1LTA0LTIyIMOg IDA3OjEwLCBSYWxmIFplbmtsdXNlbiByLnplbmtsdXNlbkBiYXJpbmZvcm1hdGlrLmNoIGEg w6ljcml0wqA6DQo+DQo+IEhpIFPDqXJnaW8NCj4NCj4gSSBrbm93IHRoZXJlIHdhcyBhIHBs YW4gdG8gaW50cm9kdWNlIExldHNlbmNyeXB0IC8gQUNNRSBpbiA2LjQuDQo+DQo+IE9idmlv dXNseSBjb21wYW55IHN0cnVjdHVyZXMgaGF2ZSBjaGFuZ2VkIGFuZCB0aGVyZWZvcmUgZGV2 IHBsYW5zLg0KPg0KPiBJIGRvbuKAmXQga25vdyBvZiBhbnkgZXhpc3Rpbmcgc2NyaXB0Lg0K Pg0KPiBJdCB3b3VsZCBub3QgYmUgaGFyZCB0byBtYWtlIHN1Y2ggYSBzY3JpcHQsIGJ1dCB0 aGVyZeKAmXMgc3RpbGwgZW5vdWdoIA0KPiB0aW1lIGFuZCBJIGhvcGUgd2XigJlsbCBoYXZl IGEgbmF0aXZlIHNvbHV0aW9uIHRpbGwgMjAyOS4NCj4NCj4gUmVnYXJkcw0KPg0KPiBSYWxm DQo+DQo+DQo+DQo+ICpWb246KkNvbW11bmlHYXRlIFBybyBSdXNzaWFuIERpc2N1c3Npb25z IDxDR2F0ZVByb0BsaXN0LmNvbW11bmlnYXRlLnJ1Pg0KPiAqR2VzZW5kZXQ6KiBNb250YWcs IDIxLiBBcHJpbCAyMDI1IDE4OjE0DQo+ICpBbjoqIENvbW11bmlHYXRlIFBybyBSdXNzaWFu IERpc2N1c3Npb25zIDxDR2F0ZVByb0BsaXN0LmNvbW11bmlnYXRlLnJ1Pg0KPiAqQmV0cmVm ZjoqIFtDR1BdIENvbW11bmlHYXRlIFBybyBhbmQgTGV0J3MgRW5jcnlwdCBpbnRlZ3JhdGlv bg0KPg0KPiBHcmVldGluZ3MsDQo+DQo+IEFzIHlvdSBtaWdodCBhbHJlYWR5IGtub3csIENB L0IgRm9ydW0gZGVjaWRlZCB0byByZWR1Y2UgDQo+IDxodHRwczovL2dyb3Vwcy5nb29nbGUu Y29tL2EvZ3JvdXBzLmNhYmZvcnVtLm9yZy9nL3NlcnZlcmNlcnQtd2cvYy9idldoNVJONnRZ ST4gDQo+IHRoZSB2YWxpZGl0eSBvZiBTU0wgY2VydGlmaWNhdGVzLCBhbmQgdGhlaXIgY29y cmVzcG9uZGluZyBEQ1YgZG9tYWluIA0KPiB2YWxpZGF0aW9uLiBBZnRlciBNYXJjaCAxNXRo IDIwMjksIGNlcnRpZmljYXRlcyB3aWxsIGJlIHZhbGlkIGZvciA0NyANCj4gZGF5cywgYW5k IHRoZSBEQ1YgdmFsaWRhdGlvbiB3aWxsIGJlIHZhbGlkIGZvciAxMCBkYXlzLg0KPg0KPiBN YW51YWwgaW5zdGFsbGF0aW9uIG9mIFNTTCBjZXJ0aWZpY2F0ZXMgbXVzdCBiZSBkaXNjb250 aW51ZWQuDQo+DQo+IEhvdyBjYW4gSSBpbnRlZ3JhdGUgQ29tbXVuaUdhdGUgUHJvLCBDZXJ0 Ym90IA0KPiA8aHR0cHM6Ly9jZXJ0Ym90LmVmZi5vcmcvPiAob3Igb3RoZXIgQUNNRSANCj4g PGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjODU1NT4gY29tcGF0 aWJsZSB0b29sKSBhbmQgDQo+IExldCdzIEVuY3J5cHQgPGh0dHBzOi8vbGV0c2VuY3J5cHQu b3JnLz4gU1NMIGNlcnRpZmljYXRlcyB0byANCj4gYXV0b21hdGljYWxseSByZW5ldyBhbmQg aW5zdGFsbCBTU0wgY2VydGlmaWNhdGVzIG9uIENvbW11bmlHYXRlIFBybz8NCj4NCj4gSXMg dGhlcmUgYSBzY3JpcHQgYXZhaWxhYmxlIHRoYXQgSSBjYW4gdXNlPw0KPg0KPiBUaGFua3Mg aW4gYWR2YW5jZSwNCj4NCj4gLS0NCj4gKlPDqXJnaW8gQXJhw7pqbyoNCj4gUGFydG5lciB8 IENUTw0KPg0KPiAqM0dOVFcgfCBJVCAtIFRlY2hub2xvZ3kgSW5mcmFzdHJ1Y3R1cmUqDQo+ IHNlcmdpb0AzZ250Lm5ldCB8ICszNTEgMjUyIDM3NyAxMjANCj4NCj4gQ2xvdWQgfCBDb25z dWx0YW5jeSB8IERhdGFjZW50ZXIgfCBEb21haW5zIHwgZUNvbW1lcmNlIHwgSGlnaCANCj4g QXZhaWxhYmlsaXR5IHwgSW50ZXJuZXQgfCBJUCBUZWxlcGhvbnkgfCBNZXNzYWdpbmcgfCBN b2JpbGl0eSB8IA0KPiBOZXR3b3JraW5nIHwgTmV3c2xldHRlcnMgfCBPbmxpbmUgU2hvcHMg fCBTZWN1cml0eSB8IFN0b3JhZ2UgfCBTeXN0ZW0gDQo+IEFkbWluaXN0cmF0aW9uIHwgVmly dHVhbGl6YXRpb24gfCBWb0lQIHwgV2ViIEhvc3RpbmcgfCBXZWJzaXRlcw0KPg0KPiBGb2xs b3cgbWUgYXQgc2VyZ2lvYXJhdWpvLnB0IDxodHRwczovL3d3dy5zZXJnaW9hcmF1am8ucHQv PiEgRm9sbG93IA0KPiAzR05UVyBhdCAzZ250Lm5ldCA8aHR0cHM6Ly93d3cuM2dudC5uZXQv Piwgb24gRmFjZWJvb2sgDQo+IDxodHRwOi8vd3d3LmZhY2Vib29rLmNvbS8zZ250dz4sIExp bmtlZEluIA0KPiA8aHR0cDovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS8zZ250dz4sIFR3 aXR0ZXIgDQo+IDxodHRwOi8vdHdpdHRlci5jb20vM2dudHc+IGFuZCBZb3VUdWJlIA0KPiA8 aHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci8zZ250d1BUPi4NCj4NCg0K --------------vbHxr3PyzfYnrY4k0HTm7aF1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I run either certbot or win-acme or acme.sh on the server to update the website certificate.

t's configured to save the certificates to a known location, then it calls a cgp-update script and finally deletes the saved certificates.

The cgp-update script then looks like this, feel free to build upon that:

#!/usr/bin/perl
use CLI;
use strict;
our $login =3D "postmaster";
our $password =3D "password"; # TODO: load password from a more secure lo=
cation

# This directory contains certificate files saved by the acme script
# With names following the pattern subdomain1.key, subdomain1.crt, subdom=
ain1.chain.crt

our $keypath =3D '/path/to/ssl/certificates';=20


sub update_cert
{
=C2=A0=C2=A0 my ($cli, $domain, $src) =3D @_;
=C2=A0=C2=A0 $src =3D $domain unless $src;
=C2=A0=C2=A0 my $pkeyfile =3D "$keypath/$src.key";
=C2=A0=C2=A0 my $certfile =3D "$keypath/$src.crt";
=C2=A0=C2=A0 my $cafile =3D "$keypath/$src.chain.crt";

=C2=A0=C2=A0 open(PK, $pkeyfile) or die "Can't find $pkeyfile";
=C2=A0=C2=A0 my $pk =3D join("", <PK>);
=C2=A0=C2=A0 close PK;
=C2=A0=C2=A0 $pk =3D~ s/-----BEGIN RSA PRIVATE KEY-----//;
=C2=A0=C2=A0 $pk =3D~ s/-----END RSA PRIVATE KEY-----//;
=C2=A0=C2=A0 $pk =3D~ s/[\r\n]//g;
=C2=A0=C2=A0 $pk =3D "[$pk]";

=C2=A0=C2=A0 open(PK, $certfile) or die "Can't find $certfile";
=C2=A0=C2=A0 my $cert =3D join("", <PK>);
=C2=A0=C2=A0 close PK;
=C2=A0=C2=A0 $cert =3D~ s/-----BEGIN CERTIFICATE-----//;
=C2=A0=C2=A0 $cert =3D~ s/-----END CERTIFICATE-----//;
=C2=A0=C2=A0 $cert =3D~ s/[\r\n]//g;
=C2=A0=C2=A0 $cert =3D "[$cert]";

=C2=A0=C2=A0 open(PK, $cafile) or die "Can't find $cafile";
=C2=A0=C2=A0 my $ca =3D join("", <PK>);
=C2=A0=C2=A0 close PK;
=C2=A0=C2=A0 $ca =3D~ s/-----BEGIN CERTIFICATE-----//g;
=C2=A0=C2=A0 $ca =3D~ s/-----END CERTIFICATE-----//g;
=C2=A0=C2=A0 $ca =3D~ s/[\r\n]//g;
=C2=A0=C2=A0 $ca =3D "[$ca]";

=C2=A0=C2=A0 my $newsettings =3D {
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "PrivateSecureKey" =3D> $pk,
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "CAChain" =3D> $ca,
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "SecureCertificate" =3D> $cert
=C2=A0=C2=A0 };
=C2=A0=C2=A0 $cli->UpdateDomainSettings(domain=3D>$domain, settings=
=3D>$newsettings) || die "can't update settings: " . $cli->getErrMe=
ssage;
}

my $cli =3D new CGP::CLI( { PeerAddr =3D> "127.0.0.1",
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PeerPo=
rt =3D> 106,
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 login=C2=
=A0=C2=A0=C2=A0 =3D> $login,
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 passwo=
rd =3D> $password
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } )
=C2=A0=C2=A0=C2=A0 || die "Can't login to CGPro: ".$CGP::ERR_STRING."\n";=


update_cert($cli, "subdomain1.com");
update_cert($cli, "subdomain2.com");
update_cert($cli, "subdomain3.com");

$cli->Logout;

Best regards,
Nicolas Hatier


Le 2025-04-22 =C3=A0 07:10, Ralf Zenkl= usen r.zenklusen@barinformatik.ch a =C3=A9crit=C2=A0:

Hi S=C3=A9rgio

I know there was a plan to introduce Letsencrypt / ACME in 6.4.

Obviously company structures have changed and therefore dev plans.

=C2=A0

I don=E2=80=99t know of any existing scrip= t.

It would not be hard to make such a script= , but there=E2=80=99s still enough time and I hope we=E2=80=99ll = have a native solution till 2029.

=C2=A0

Regards

Ralf



Von: CommuniGate Pro Russian Discussions <CGatePro@list.communigate.ru>
Gesendet: Montag, 21. April 2025 18:14
An: CommuniGate Pro Russian Discussions <CGatePro@list.communigate.ru>
Betreff: [CGP] CommuniGate Pro and Let's Encrypt integration

=C2=A0

Greetin= gs,

As you might already know, CA/B Forum decided to reduce the validity= of SSL certificates, and their corresponding DCV domain validation. After March 15th 2029, certificates will be valid for 47 days, and the DCV validation will be valid for 10 days.

Manual installation of SSL certificates must be discontinued.

How can I integrate CommuniGate Pro, = Certbot (or other ACME compatible tool) and = Let's Encrypt SSL certificates to automatically renew and install SSL certificates on CommuniGate Pro?

Is there a script available that I can use?

Thanks in advance,

--
S=C3=A9rgio Ara=C3=BAjo
Partner | CTO

3GNTW | IT - Technology Infrastructure

sergio@3gnt.net | +35= 1 252 377 120

Cloud | Consultancy | Datacenter | Domains | eCommerce | High Availability | Internet | IP Telephony | Messaging | Mobility | Networking | Newsletters | Online Shops | Security | Storage | System Administration | Virtualization | VoIP | Web Hosting | Websites

Follow me at sergioaraujo.pt! Follow 3GNT= W at 3gnt.net, on Facebook, LinkedIn, Twitter and YouTube.
<= /p>


--------------vbHxr3PyzfYnrY4k0HTm7aF1--