tweaker.ch Forum
Registrierung RSS Feed Selector Kalender Mitgliederliste Marktplatz Userbewertung Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

tweaker.ch Forum » Allgemeine Diskussionsforen » Software » Lets Encrypt - ACME-Sharp » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Lets Encrypt - ACME-Sharp
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Mannyac   Zeige Mannyac auf Karte
tweaker.ch Admin


images/avatars/avatar-2309.gif

Dabei seit: 29.01.2002
Beiträge: 5.594
Ort: Hinterm Stausee

Lets Encrypt - ACME-Sharp Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hat jemand von euch Erfahrung mit Lets Encrypt unter Windows mit ACME-Sharp?

Ich habe ein Script welche automatisch alle 2 Monate läuft und das Zertifikat erneuern sollte.
Die erste Anforderung läuft ohne Fehler. Nach dem Ablauf von 2 Monaten und das Script automatisch ausgelöst wird, funktioniert alles Wunderbar.
Die nächste Ausführung funktioniert dann nicht mehr und zwar meldet er immer der Identifier abgelaufen ist. Neuerstellen geht nicht, da er meldet das der Identifier bereits exisitert. Einzige Lösung ist den Vault zu löschen und alles Neuerstellen zu lassen, dann funktionierts wieder 2x.

Hat jemand ähnliche Erfahrungen?

Wenns jemand interessiert, hier das Script. Wir brauchen es zusammen mit kleinen oder alten Exchange Installationen. Der grösste Teil aus dem Script kommt von hier: https://www.netometer.com/video/tutorial...xchange-Server/
  Achtung Spoiler!   

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
Import-Module ACMESharp

function Register-FQDN
{
	$FQDN = $args[0]
	
	echo "`n Creating a new identifier for $FQDN ..."
	New-ACMEIdentifier -Dns $FQDN -Alias $FQDN | select status, Expires
	
	echo "`n Completing the challenge for the new identifier for $FQDN ..."
	Complete-ACMEChallenge $FQDN -ChallengeType http-01 -Handler iis -HandlerParameters @{ WebSiteRef = 'Default Web Site' } | select Identifier, status, Expires *>&1 >> $acmelog
	
	echo "`n Submitting the new identifier for $FQDN ..."
	Submit-ACMEChallenge $FQDN -ChallengeType http-01 | select Identifier, status, Expires *>&1 >> $acmelog

    do 
    {
        $auth = ((Update-ACMEIdentifier $FQDN -ChallengeType http-01).Challenges | Where-Object {$_.Type -eq "http-01"}).status
        if($auth -eq "invalid") {break}
        echo "`n Waiting for a valid authorization ... Current status is $auth"
	    Start-Sleep -s 3        
    }until ($auth -eq "valid")
    Update-ACMEIdentifier $FQDN | select Identifier, status, Expires *>&1 >> $acmelog
}


#NOTE: Uncoment and edit the lines bellow
#----------------------------------------
$my_email = "xy@yx.com"
$CN = "sub1.domain.com"
$SAN1 = "sub2.domain.com"
#$SAN2 = "sub3.domain.com"
#$SAN3 = ""
#$SAN4 = ""


$my_vault = Get-ACMEVault
$certpath = "c:\Certificates"
$authpath = "C:\inetpub\wwwroot\.well-known"
$acmelog = "$($certpath)\acme_$($(get-date -format yyyy-MM-dd--HH-mm)).log"
$SANcert_alias = "$($CN)_$($(get-date -format yyyy-MM-dd--HH-mm))"
$SAN_pfxfile = "$($certpath)\$($SANcert_alias).pfx"

if (-Not $my_vault) 
{
	Initialize-ACMEVault
	New-ACMERegistration -Contacts mailto:$my_email -AcceptTos
}

if (-Not (Test-Path $certpath)) {New-Item -Path $certpath -ItemType Directory }

if (-Not (Test-Path $authpath)) 
{
    New-Item -Path $authpath -ItemType Directory 
    c:\windows\system32\inetsrv\appcmd.exe set config "Default Web Site/.well-known" -section:system.webServer/security/access /sslFlags:"None" /commit:apphost
}

#NOTE: Uncoment and edit the lines bellow
#----------------------------------------
Register-FQDN $CN
Register-FQDN $SAN1
#Register-FQDN $SAN2
#Register-FQDN $SAN3
#Register-FQDN $SAN4

$sanarray=@()
$sanarray+=$SAN1
#$sanarray+=$SAN2
#$sanarray+=$SAN3

New-ACMECertificate $CN -Generate -AlternativeIdentifierRefs $sanarray -Alias $SANcert_alias *>&1 >> $acmelog

Submit-ACMECertificate $SANcert_alias *>&1 >> $acmelog

while (-Not (Update-ACMECertificate $SANcert_alias | select IssuerSerialNumber)) 
{ 
    echo "`n Waiting for the Certificate ..."
    Start-Sleep 3 
}
 
Update-ACMECertificate $SANcert_alias | select IssuerSerialNumber *>&1 >> $acmelog

cd $certpath

Get-ACMECertificate $SANcert_alias -ExportPkcs12 $SAN_pfxfile -CertificatePassword 'einpasswort'

$exchver =  gcm exsetup | %{$_.fileversioninfo.ProductVersion.Split("{.}")}

switch ($exchver[0]) 
    { 
        8 {$exchsnapin = "Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin;"} 
        14 {$exchsnapin = "Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010;"}
        15 {$exchsnapin = "Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;"}		
        default {$exchsnapin = "Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010;"}
    }

Invoke-Expression $exchsnapin

#Import-ExchangeCertificate -FileName $SAN_pfxfile -FriendlyName $SANcert_alias | Enable-ExchangeCertificate -Services "SMTP, IMAP, POP, IIS" -force
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path $SAN_pfxfile -Encoding byte -ReadCount 0)) -FriendlyName $SANcert_alias -Password:(ConvertTo-SecureString -String 'einpasswort' -AsPlainText -Force) | Enable-ExchangeCertificate -Services "SMTP, IMAP, POP, IIS" -force

iisreset

#Remove-Item $authpath -Force -Recurse
#Remove-Item $SAN_pfxfile -Force
#Remove-Item "C:\ProgramData\ACMESharp\sysVault" -Force -Recurse -Exclude "00-VAULT",".acme.vault"


__________________
Signatur sein ist doof, ich will ein Avatar werden, wenn ich gross bin!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Mannyac: 07.08.2017 16:16.

07.08.2017 16:15 Mannyac ist offline E-Mail an Mannyac senden Homepage von Mannyac Beiträge von Mannyac suchen Nehme Mannyac in deine Freundesliste auf Füge Mannyac in deine Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
tweaker.ch Forum » Allgemeine Diskussionsforen » Software » Lets Encrypt - ACME-Sharp

Impressum


Powered by Burning Board 2.3.6 © WoltLab GbR

Server sponsored by