Open HeneryH opened 6 years ago
Did you recently update the ACMESharp module? There were some changes in the way output is generated for certain handlers.
Can I ask, what is the context that you're running this set of commands -- is it just straight up, interactive commands that you're running in a PS console window, in ISE, in VSCode terminal window, etc?
I'm wondering if the output stream is somehow get swallowed by the host. One option you have with the manual handler is to redirect the manual instructions to a file using the WriteOutPath
parameter. You can see the details in here.
If you want to give this a try, you can repeat the manual challenge handling by running the Complete-ACMEChallenge
call again and adding the -RepeatHandler
option.
I'm running PowerShell interactively from the start menu in non-admin mode. Copy/pasting the commands from my notes into the shell. Didn't really understand the ISE aspect of it and wasn't using it. Previously this worked fine. I'll try your suggestions.
Am I doing the WriteOutPath parameter wrong?
PS C:\Users\me> Complete-ACMEChallenge dnsY -ChallengeType http-01 -Handler manual -WriteOutPath c:\Users\me\inst.txt -RepeatHandler
Complete-ACMEChallenge : A parameter cannot be found that matches parameter name 'WriteOutPath'.
At line:1 char:68
+ ... nge dnsY -ChallengeType http-01 -Handler manual -WriteOutPath c:\User ...
+ ~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Complete-ACMEChallenge], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,ACMESharp.POSH.CompleteChallenge
Oh, and yes. This is a new machine installation so starting from scratch repeating from my notes.
Provider parameters using this syntax:
Complete-ACMEChallenge dnsY -ChallengeType http-01 -Handler manual -RepeatHandler -HandlerParameters @{
WriteOutPath = 'c:\Users\me\inst.txt'
Append = $true
}
That worked and printed the instructions to the txt file specified. This seems like a workaround to a potential bug or user error.
Edit on below... I am using Win7 Home now and see the note about EFS and am investigating the solution:
Not sure if this is related but I have moved on with the procedure and hit a new roadblock I never hit before.
I've tried this as both admin user and regular user with the same results.
Permissions errors. I thought running as root would have prevented this but I got it with both regular and root users.
PS C:\Windows\system32> Submit-ACMECertificate certX
Submit-ACMECertificate : Access to the path
'C:\ProgramData\ACMESharp\sysVault\45-KEYPM\7332b361-027a-4662-b2a6-dba189ded89d-key.pem' is denied.
At line:1 char:1
+ Submit-ACMECertificate certX
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Submit-ACMECertificate], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,ACMESharp.POSH.SubmitCertificate
PS C:\Windows\system32>
Win7 Home definitely does not support EFS, so yes, the docs on disabling that support in the Vault provider will address your issue.
I'm glad the file output redirection worked. Let's keep this ticket open until I can dive a little deeper into why the default output to console is not working for you.
Incidentally, which version of PS are you using?
Also, before you said "I'm using Win7 Home now..." -- so is that the OS you were using when you ran into the missing output problem, or was that a different OS?
I have keys for both W7 Home and W7 Pro. I must have used W7 Pro in my previous installation. Accidentally installed W7 Home this time which caused the known challenge of EFS. I followed the EFS workaround for permission problems and that worked.
Unsure if the instruction output printing is also related. I may reinstall again using Pro in which case I can confirm/deny.
The workaround using below was successful for me too using the latest version of acme: Complete-ACMEChallenge dnsY -ChallengeType http-01 -Handler manual -RepeatHandler -HandlerParameters @{ WriteOutPath = 'c:\Users\me\inst.txt' Append = $true }
Powershell version output:
Major Minor Build Revision
----- ----- ----- --------
5 1 16299 19
I almost gave up using this ACME client because of the error until I stumbled upon this. Thanks alot @ebekker and @HeneryH
Same workaround helped me also, thanks @ebekker
I have added a workaround in the wiki with just calling the Update-ACMEIdentifier
whenever you need all the details (like the challenge instructions here).
More here https://github.com/ebekker/ACMESharp/issues/326#issuecomment-360394895 .
Feel free to update the wiki with this solution if the method mentioned in this issue should be the official solution, but atleast there should be something mentioned on the wiki about this.
Sorry, posted below bug before seeing this one. I'm having the exact same issue 5 months later. I think the manual handler is simply broken.
Indeed, I have the same issue now. I was running ACMESharp v0.8 and when I got that I decided to install 0.9 to see if that would solve it. But it didn't.
Same issue using latest, fixes with the workaround thanks @frehnejc
I've used this plenty of times before but here on a new project the command isn't returning the expected instructions. Any ideas? I'm expecting the instructions to put a file of a certain name in the .well-known/acme-challenge directory.