added last fixes for dev branch prepartion
This commit is contained in:
@@ -13,6 +13,8 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"certigo-addon-backend/providers"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
@@ -60,10 +62,23 @@ func CalculateCertID(certPEM string) (string, error) {
|
||||
return certID, nil
|
||||
}
|
||||
|
||||
// FetchRenewalInfo ruft die RenewalInfo von Let's Encrypt ab
|
||||
func FetchRenewalInfo(certID string) (*RenewalInfoResponse, error) {
|
||||
// Let's Encrypt RenewalInfo API URL (Staging)
|
||||
url := fmt.Sprintf("https://acme-staging-v02.api.letsencrypt.org/acme/renewal-info/%s", certID)
|
||||
// FetchRenewalInfo ruft die RenewalInfo von einem ACME-Server ab
|
||||
func FetchRenewalInfo(providerID string, certID string) (*RenewalInfoResponse, error) {
|
||||
// Hole ACME-Provider
|
||||
acmeManager := providers.GetACMEManager()
|
||||
provider, exists := acmeManager.GetACMEProvider(providerID)
|
||||
if !exists {
|
||||
return nil, fmt.Errorf("ACME-Provider '%s' nicht gefunden", providerID)
|
||||
}
|
||||
|
||||
// Hole RenewalInfo URL vom Provider
|
||||
renewalInfoURL := provider.GetRenewalInfoURL()
|
||||
if renewalInfoURL == "" {
|
||||
return nil, fmt.Errorf("ACME-Provider '%s' unterstützt keine RenewalInfo API", providerID)
|
||||
}
|
||||
|
||||
// Erstelle URL mit CertID
|
||||
url := fmt.Sprintf("%s/%s", renewalInfoURL, certID)
|
||||
|
||||
// HTTP Request
|
||||
client := &http.Client{
|
||||
@@ -143,7 +158,10 @@ func ProcessRenewalInfoForCertificate(certPEM string, certID string, fqdnID stri
|
||||
}
|
||||
|
||||
// Rufe RenewalInfo ab
|
||||
renewalInfo, err := FetchRenewalInfo(certIDBase64)
|
||||
// TODO: ACME-Provider-ID aus Zertifikat/FQDN-Konfiguration holen
|
||||
// Standardmäßig verwenden wir Let's Encrypt Staging
|
||||
acmeProviderID := "letsencrypt-staging"
|
||||
renewalInfo, err := FetchRenewalInfo(acmeProviderID, certIDBase64)
|
||||
if err != nil {
|
||||
// Prüfe ob es ein Staging-Zertifikat ist (RenewalInfo nicht verfügbar)
|
||||
if strings.Contains(err.Error(), "Staging-Zertifikate") {
|
||||
|
||||
Reference in New Issue
Block a user