Hallo an die Community,
bitte keine Predigten über Server 2008 R2 und/oder Exchange 2010. Manche Kunden bemessen der IT halt einen zu niedrigen Stellenwert bei ?
Mir wäre es anders auch lieber...
Windows Management Framework 5.1 ist installiert und der Server neu gestartet.
.NET Framework 4.5.2 ist und war bereits installiert.
Auf einem Server in der o.g. Konstellation läuft das Script nicht durch, die Installation des Posh-ACME Moduls schlägt fehl.
Anschließend kommt es im weiteren Ablauf des Scripts zu Folgefehlern, da das CMDlet nicht zur Verfügung steht.
19.01.2020 20:00:00;Check Posh-ACME;Info;Check if Module installed;
19.01.2020 20:00:00;Check Posh-ACME;Warning;Posh-ACME not installed, try to install it;
19.01.2020 20:00:00;Check Posh-ACME;Info;Using legacy installation method;
19.01.2020 20:00:00;Check Posh-ACME;Info;Try to download PackageManagement-MSI Path: X:\ExchangeServer\poshacme.zip;
19.01.2020 20:00:00;Check Posh-ACME;Error;Installation failed or arborted;Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden..
19.01.2020 20:00:00;Load Posh-ACME;Info;Posh-ACME is installed, try to load it;
von Hand lassen sich NuGet und Posh-ACME installieren:
Install-PackageProvider -Name NuGet -Force -confirm:$false
Install-Module -Name Posh-ACME -force -confirm:$false
Soweit also kein wirkliches Problem, ist ja schnell installiert.
Im Zweiten Durchlauf schlägt dann die Registrierung bei Let's Encrypt fehl. Auszug aus dem Log
19.01.2020 20:00:00;LE System;Info;Checking for existing LE Account;
19.01.2020 20:00:00;LE System;Warning;No LE Account was found, creating a new one;
19.01.2020 20:00:00;LE System;ERROR;No LE Account was found, Error Creating a new one: Unable to find type [Security.Cryptography.ECCurve+NamedCurves].;
Daraufhin habe ich versucht, die Registrierung von Hand durchzuführen, läuft auf den gleichen Fehler, jedoch etwas ausgeschmückter:
PS C:\> New-PAAccount -AcceptTOS -Contact eine.em@il-adres.se
Unable to find type [Security.Cryptography.ECCurve+NamedCurves].
At C:\Program Files\WindowsPowerShell\Modules\Posh-ACME\3.12.0\Private\New-PAKey.ps1:31 char:23
+ ... 256 { [Security.Cryptography.ECCurve+NamedCurves]::nistP2 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Security.Crypto...rve+NamedCurves:TypeName) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
Exception calling "Create" with "1" argument(s): "Der Wert darf nicht NULL sein.
Parametername: algorithm"
At C:\Program Files\WindowsPowerShell\Modules\Posh-ACME\3.12.0\Private\New-PAKey.ps1:37 char:13
+ $Key = [Security.Cryptography.ECDsa]::Create($Curve)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ArgumentNullException
ConvertTo-Jwk : Cannot bind argument to parameter 'Key' because it is null.
At C:\Program Files\WindowsPowerShell\Modules\Posh-ACME\3.12.0\Public\New-PAAccount.ps1:62 char:29
+ jwk = ($acctKey | ConvertTo-Jwk -PublicOnly);
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [ConvertTo-Jwk], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,ConvertTo-Jwk
Invoke-ACME : Cannot validate argument on parameter 'Key'. The argument is null, empty, or an element of the argument
collection contains a null value. Supply a collection that does not contain any null values and then try the command
again.
At C:\Program Files\WindowsPowerShell\Modules\Posh-ACME\3.12.0\Public\New-PAAccount.ps1:81 char:59
+ ... $response = Invoke-ACME $header $payloadJson -Key $acctKey -EA Sto ...
+ ~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Invoke-ACME], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Invoke-ACME
Vielleicht noch ein Hinweis, der zwar nicht dem Script und auch nicht dem Log zu entnehmen ist, während der Ausführung aber aufgefallen ist.
Beim Aufruf des Posh-ACME Moduls wird eine Meldung ausgegeben, das die .NET Framework Version 4.5.2 unzureichend sei.
20.01.2020 08:00:00 - Check Posh-ACME - Info - Check if Module installed
20.01.2020 08:00:00 - Load Posh-ACME - Info - Posh-ACME is installed, try to load it
WARNING: *******************************************************************
WARNING: Insufficient .NET version. Found .NET 4.5.2 (build 379893).
WARNING: .NET 4.7.1 or later is required to ensure proper functionality.
WARNING: *******************************************************************
20.01.2020 08:00:00 - Load Posh-ACME - Info - Module Import was successfull, PoshACMEVersion 3.12.0
Hat jemand ähnliche oder gleichlautende Erfahrungen gemacht?
Hat jemand Erfahrungen damit gesammelt, wie .NET 4.7.1 oder höher mit einem Exchange 2010 harmoniert? Offiziell unterstützt ist ja bei 4.5 Schluss.
Ideen sind gerne Willkommen. Vielen Dank.
Gruß
Mathias
Hallo zusammen,
auch wenn sich niemand auf das Thema gemeldet hat, so möchte ich doch wenigstens eine meiner Fragen beantworten: Die Registrierung schlägt aufgrund der Dot NET Version fehl. Wird Dot NET 4.7.1 installiert, klappt die Ausführung von New-PAAccount.
Unklar ist, wie 4.7 mit einem Exchange Server 2010 harmoniert. Hat das Konstrukt noch jemand produktiv im Einsatz? Hab es jetzt nur schnell in einem Lab nachgestellt.
Sollten sich keine Antworten dazu finden, wird der Kunde entweder umziehen (bevorzugt) oder aber ein paar Euro in ein Zertifikat mit längerer Gültigkeit investieren müssen.
"Strafe" muss sein :-)
Gruß
Mathias
Danke für das Feedback. Dann werde ich da wohl mal eine Aktualisierung auf Dot NET 4.7.1 durchführen und die notwendigen Tests fahren.