Hi All,
I have followed the configuration guide for enabling LetsEncrypt but when i go to create a certificate I get the following error once selecting the domain names and clicking Create and Install:
Error installing certificate
Unable to create/install Lets Encrypt Certificate:The type initializer for ‘ACMESharp.Util.JsonHelper’ threw an exception.; at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input) at SolidCP.Providers.Web.RunspaceHelper.ExecuteShellCommand(Runspace runSpace, Command cmd, Boolean useDomainController, Object[]& errors) at SolidCP.Providers.Web.LetsEncrypt..ctor(String vaultProfileName, String vaultRootPath, Boolean staging) at SolidCP.Providers.Web.IIs80.InstallLetsEncryptCertificate(WebSite website, String hostName, String[] SANs, String vaultProfile, String email)
One thing, I installed WMF 5.1 and ACMESharp on my Web Server, but does this need to be on the Enterprise Server instead? If not has anyone got any ideas?
Running SCP 1.2
Thanks,
Ric
Problem was solved for me by doing the following:
NB! please note that this is NOT A STANDALONE server!
- In SolidCP Portal Page I disabled Lets Encrypt and removed the Vault path
- In PowerShell: Uninstall-Package ACMESharp -verbose -force
- Backup/copy Folder C:SolidCP and moved to a safe location
- In SolidCP Installer -> Components -> SolidCP Server 1.2.0: Click Uninstall
- Closed Installer
- in ControlPanel -> Program And Features: Uninstall Solid CP Installer
- Removed old ACMESharp Vault by deleting the folder in ProgramData Folder
- reboot server
- Download SolidCP 1.2.0 Installer And unblocked the file
- Installed SolidCP 1.2.0 Installer
- Start SolidCP 1.2.0 Installer with Run As Administrator
- Installed the Server Component
- From Command Prompt I did an IISRESET
- Checked that the SolidCP Statuspage came up both internally and externally
- Followed the Let’s Encrypt Install Guide from: https://solidcp.com/kb/configuration/setup-lets-encrypt/
- Certificate Installed without a problem
This was a very old install that has been upgraded several times.
I decided to re-install all Servers following the above procedure.
Hope it helps.
Sebastian Adlercreutz
Yes exactly like that: %SYSTEMDRIVE%ProgramDataACMESharpvaultProfiles
The web server is Windows 2012 R2 Core – Do you think that would make a difference?
The audit log shows no errors but an informational message for LetsEncrypt:
00:00:00
hostName: domainname.com
00:00:00
SANs:
00:00:00
vaultProfile: username
00:00:00
email: emailaddy
Can you try manually make the path:
%SYSTEMDRIVE%\ProgramData\ACMESharp\vaultProfiles
then give the SolidCP Server user full rights to this folder?
Same Issue for me.
Windows 2016 Server with IIS10
SolidCP 1.2.0
Enterprise & Portal Server on different server
I also had trouble upgrading solidCP and had to do it manually.
I went straight from 1.1.2 to 1.2.0
I tried your suggestion as well, but with no luck.
I noticed the 2 non-existing paths in the event log below:
Windows Event Log (SolidCP)
[4/5/2017 10:27:51 AM] ERROR: Unable to get or create Vault Profile with storage. Profilename: XXX Internal, ProfileRootPath: %SYSTEMDRIVE%ProgramDataACMESharpvaultProfiles
System.Management.Automation.CmdletInvocationException: The type initializer for ‘ACMESharp.Util.JsonHelper’ threw an exception. —> System.TypeInitializationException: The type initializer for ‘ACMESharp.Util.JsonHelper’ threw an exception. —> System.IO.FileLoadException: Could not load file or assembly ‘Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at ACMESharp.Util.JsonHelper..cctor()
— End of inner exception stack trace —
at ACMESharp.Util.JsonHelper.Load[T](Stream s)
at ACMESharp.Vault.Profile.VaultProfileManager.GetProfile(String name) in C:projectsacmesharpACMESharpACMESharp.VaultProfileVaultProfileManager.cs:line 225
at ACMESharp.POSH.GetVaultProfile.ProcessRecord() in C:projectsacmesharpACMESharpACMESharp.POSHGetVaultProfile.cs:line 35
at System.Management.Automation.CommandProcessor.ProcessRecord()
— End of inner exception stack trace —
at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
at SolidCP.Providers.Web.RunspaceHelper.ExecuteShellCommand(Runspace runSpace, Command cmd, Boolean useDomainController, Object[]& errors)
at SolidCP.Providers.Web.LetsEncrypt..ctor(String vaultProfileName, String vaultRootPath, Boolean staging)
Hi,
Its strange your having issues. I have retested this and it appears to work fine. Can you please try run the following PowerShell commands and their output:
Import-Module ACMESharp
Get-ACMEVaultProfile
Its expected the import-module will not give any output.
Kind Regards,
Trevor Robinson