# WAMP and Let's Encrypt

**URL:** https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462
**Category:** Help
**Created:** [May 25, 2019, 10:55am UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462 "2019-05-25T10:55:33Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![Goody](https://avatars.discourse-cdn.com/v4/letter/g/f07891/32.png) [@Goody](https://community.letsencrypt.org/u/Goody)
#### Post date: [May 25, 2019, 10:55am UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/1 "2019-05-25T10:55:33Z")

</div>

Hi,

I try to install a certificate on my site works with WAMP Server (on Windows Server 2012).

But, when I launch "Create a certificate" with let's encrypt windows client on my domain, I have this error (witch "Self-host verification files" option :

> **[EROR] Unable to activate HttpListener, this may be due to non-Microsoft webserver using port 80**  
> **[EROR] Error resolving validation plugin**  
> Autofac.Core.DependencyResolutionException: An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Autofac.Core.Registration.ComponentRegistrationLifetimeDecorator ---\> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = SelfHosting (DelegateActivator), Services = [LetsEncrypt.ACME.Simple.Plugins.ValidationPlugins.Http.SelfHosting], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = ExternallyOwned ---\> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = SelfHosting (ReflectionActivator), Services = [LetsEncrypt.ACME.Simple.Plugins.ValidationPlugins.Http.SelfHosting], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---\> An exception was thrown while invoking the constructor 'Void .ctor(LetsEncrypt.ACME.Simple.ScheduledRenewal, LetsEncrypt.ACME.Simple.Target, System.String, LetsEncrypt.ACME.Simple.Services.ILogService, LetsEncrypt.ACME.Simple.Services.IInputService, LetsEncrypt.ACME.Simple.Services.ProxyService)' on type 'SelfHosting'. ---\> Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus (See inner exception for details.) (See inner exception for details.) (See inner exception for details.) (See inner exception for details.) ---\> Autofac.Core.DependencyResolutionException: An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = SelfHosting (DelegateActivator), Services = [LetsEncrypt.ACME.Simple.Plugins.ValidationPlugins.Http.SelfHosting], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = ExternallyOwned ---\> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = SelfHosting (ReflectionActivator), Services = [LetsEncrypt.ACME.Simple.Plugins.ValidationPlugins.Http.SelfHosting], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---\> An exception was thrown while invoking the constructor 'Void .ctor(LetsEncrypt.ACME.Simple.ScheduledRenewal, LetsEncrypt.ACME.Simple.Target, System.String, LetsEncrypt.ACME.Simple.Services.ILogService, LetsEncrypt.ACME.Simple.Services.IInputService, LetsEncrypt.ACME.Simple.Services.ProxyService)' on type 'SelfHosting'. ---\> Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus (See inner exception for details.) (See inner exception for details.) (See inner exception for details.) ---\> Autofac.Core.DependencyResolutionException: An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = SelfHosting (ReflectionActivator), Services = [LetsEncrypt.ACME.Simple.Plugins.ValidationPlugins.Http.SelfHosting], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---\> An exception was thrown while invoking the constructor 'Void .ctor(LetsEncrypt.ACME.Simple.ScheduledRenewal, LetsEncrypt.ACME.Simple.Target, System.String, LetsEncrypt.ACME.Simple.Services.ILogService, LetsEncrypt.ACME.Simple.Services.IInputService, LetsEncrypt.ACME.Simple.Services.ProxyService)' on type 'SelfHosting'. ---\> Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus (See inner exception for details.) (See inner exception for details.) ---\> Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor(LetsEncrypt.ACME.Simple.ScheduledRenewal, LetsEncrypt.ACME.Simple.Target, System.String, LetsEncrypt.ACME.Simple.Services.ILogService, LetsEncrypt.ACME.Simple.Services.IInputService, LetsEncrypt.ACME.Simple.Services.ProxyService)' on type 'SelfHosting'. ---\> Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus (See inner exception for details.) ---\> System.Net.HttpListenerException: Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus  
> à System.Net.HttpListener.AddAllPrefixes()  
> à System.Net.HttpListener.Start()  
> à LetsEncrypt.ACME.Simple.Plugins.ValidationPlugins.Http.SelfHosting..ctor(ScheduledRenewal renewal, Target target, String identifier, ILogService log, IInputService input, ProxyService proxy)  
> à lambda\_method(Closure , Object )  
> à Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()  
> --- Fin de la trace de la pile d'exception interne ---  
> à Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()  
> à Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters) à Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)  
> --- Fin de la trace de la pile d'exception interne ---  
> à Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters) à Autofac.Core.Resolving.InstanceLookup.Execute() à Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)  
> à Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters) à Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)  
> --- Fin de la trace de la pile d'exception interne ---  
> à Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters) à Autofac.Core.Resolving.InstanceLookup.Execute() à Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)  
> à Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance) à Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)  
> à Autofac.ResolutionExtensions.Resolve(IComponentContext context, Type serviceType, Parameter parameters)  
> à LetsEncrypt.ACME.Simple.AutofacBuilder.\<\>c\_\_DisplayClass2\_0.b\_\_1(IComponentContext c)  
> à Autofac.Builder.RegistrationBuilder.\<\>c\_\_DisplayClass0\_0`1.<ForDelegate>b__0(IComponentContext c, IEnumerable`1 p)  
> à Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters) à Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)  
> --- Fin de la trace de la pile d'exception interne ---  
> à Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters) à Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func`1 creator)  
> à Autofac.Core.Resolving.InstanceLookup.Execute()  
> à Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters) à Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters)  
> à Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance) à Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)  
> à Autofac.ResolutionExtensions.Resolve[TService](IComponentContext context, IEnumerable`1 parameters)  
> à LetsEncrypt.ACME.Simple.Program.Authorize(ILifetimeScope renewalScope, Target target)  
> [EROR] Validation plugin not found or not created.  
> [EROR] Create certificate failed

I understand that the client wait for IIS Server to generate certificate ?

Thank you for your help.

---

<div class="post-metadata">

### Author: ![JuergenAuer](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/juergenauer/32/26491_2.png) [@JuergenAuer](https://community.letsencrypt.org/u/JuergenAuer)
#### Post date: [May 25, 2019, 11:06am UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/2 "2019-05-25T11:06:09Z")

</div>

Hi @Goody

> [@Goody](#):
>
> I try to install a certificate on my site works with WAMP Server (on Windows Server 2012).

then you must use another client. Looks like that `LetsEncrypt.ACME.Simple` expects a running IIS and doesn't support a WAMP-environment.

Check the list of clients to find another client.

> **[ACME Client Implementations - Let's Encrypt](https://letsencrypt.org/docs/client-options/)**
>
> Last updated: Jul 22, 2023 | See all Documentation Let’s Encrypt uses the ACME protocol to verify that you control a given domain name and to issue you a certificate. To get a Let’s Encrypt certificate, you’ll need to choose a piece...

---

<div class="post-metadata">

### Author: ![Goody](https://avatars.discourse-cdn.com/v4/letter/g/f07891/32.png) [@Goody](https://community.letsencrypt.org/u/Goody)
#### Post date: [May 25, 2019, 11:27am UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/3 "2019-05-25T11:27:33Z")

</div>

Thanks for you reply. But, I don’t find any client for WAMP on Windows Server environement.

There is only client for Apache on Linux/Unix environment or for IIS on MS environment.

---

<div class="post-metadata">

### Author: ![JuergenAuer](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/juergenauer/32/26491_2.png) [@JuergenAuer](https://community.letsencrypt.org/u/JuergenAuer)
#### Post date: [May 25, 2019, 11:41am UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/4 "2019-05-25T11:41:54Z")

</div>

> [@Goody](#):
>
> I don’t find any client for WAMP on Windows Server environement.

That's possible, I don't know it. Looks like nobody want's to develop a client, this environment is too rare.

---

<div class="post-metadata">

### Author: ![Osiris](https://avatars.discourse-cdn.com/v4/letter/o/839c29/32.png) [@Osiris](https://community.letsencrypt.org/u/Osiris)
#### Post date: [May 25, 2019, 12:08pm UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/5 "2019-05-25T12:08:18Z")

</div>

If no software application exists, you might always use a webbased client.

For example:

- [https://www.sslforfree.com/](https://www.sslforfree.com/)
- [https://zerossl.com/](https://zerossl.com/)

Unfortunately, these clients are _removed_ from the list mentioned earlier, because according to Let’s Encrypt those manual clients are against the goal of Let’s Encrypt, which includes fully automated certificate management. They refuse to consider situations in which this isn’t possible.

---

<div class="post-metadata">

### Author: ![leader](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/leader/32/7569_2.png) [@leader](https://community.letsencrypt.org/u/leader)
#### Post date: [May 25, 2019, 5:20pm UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/6 "2019-05-25T17:20:21Z")

</div>

> [@Goody](#):
>
> I don’t find any client for WAMP on Windows Server environement.
> 
> There is only client for Apache on Linux/Unix environment or for IIS on MS environment.

ZeroSSL has a [client for Windows environment](https://github.com/do-know/Crypt-LE/releases) for example - it can retrieve the certificate for your Apache or IIS (via `-export-pfx` option) just fine. Please note that it will get you the certificate, but it will not try to automatically install it for you (in case you need that too).

---

<div class="post-metadata">

### Author: ![Goody](https://avatars.discourse-cdn.com/v4/letter/g/f07891/32.png) [@Goody](https://community.letsencrypt.org/u/Goody)
#### Post date: [May 26, 2019, 10:50am UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/7 "2019-05-26T10:50:05Z")

</div>

Thanks guys for your help.

So, I turn on ZeroSSL et SSLforfree solution to see how I can implement an SSL certificate on my website.

I’ll do a feedback after that.

---

<div class="post-metadata">

### Author: ![Goody](https://avatars.discourse-cdn.com/v4/letter/g/f07891/32.png) [@Goody](https://community.letsencrypt.org/u/Goody)
#### Post date: [May 26, 2019, 1:54pm UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/8 "2019-05-26T13:54:51Z")

</div>

I generate a SSL certificate with SSLForFree by domain verification and I downloaded the certificates (.crt, .key) and copied on the right directory of my WAMP installation (for me : C:\wamp64\bin\apache\apache2.4.39\conf\ssl), it’s works fine.

Thanks for your precious help.

---

<div class="post-metadata">

### Author: ![JuergenAuer](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/juergenauer/32/26491_2.png) [@JuergenAuer](https://community.letsencrypt.org/u/JuergenAuer)
#### Post date: [May 26, 2019, 2:01pm UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/9 "2019-05-26T14:01:48Z")

</div>

Happy to read that it had worked.

But: Letsencrypt certificates are only 90 days valid. So you have to do that every 60 - 85 days.

---

<div class="post-metadata">

### Author: ![Goody](https://avatars.discourse-cdn.com/v4/letter/g/f07891/32.png) [@Goody](https://community.letsencrypt.org/u/Goody)
#### Post date: [May 26, 2019, 2:13pm UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/10 "2019-05-26T14:13:06Z")

</div>

Yes, I notice that.

I’ll search a solution to automate the renewal of my certificate to avoid to do manually renew.

If someone knows how, I take 🙂

---

<div class="post-metadata">

### Author: ![leader](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/leader/32/7569_2.png) [@leader](https://community.letsencrypt.org/u/leader)
#### Post date: [May 26, 2019, 3:29pm UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/11 "2019-05-26T15:29:31Z")

</div>

> [@Goody](#):
>
> If someone knows how, I take 🙂

Example of such automation: [https://interworks.com/blog/trhymer/2018/08/30/protect-tableau-server-for-free-with-lets-encrypt-windows/](https://interworks.com/blog/trhymer/2018/08/30/protect-tableau-server-for-free-with-lets-encrypt-windows/) (for Tableau Server, but the renewal and scheduling described can be adjusted for Apache just fine).

---

<div class="post-metadata">

### Author: ![system](https://global.discourse-cdn.com/letsencrypt/original/3X/c/a/ca6c06ea1ea201324bba7048c6841ce60236468d.png) [@system](https://community.letsencrypt.org/u/system)
#### Post date: [June 25, 2019, 3:29pm UTC](https://community.letsencrypt.org/t/wamp-and-lets-encrypt/94462/12 "2019-06-25T15:29:35Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
