Microservice zur Lösung des CRL-Downloads für FSS.
Hardware Anforderungen
Eine Service-Instanz erfordert mindestens 512 MB RAM.
Wir empfehlen 0,1 CPU-Kerne je Instanz.
Dependencies
Die folgenden Dienste müssen ausgeführt werden, damit der CRL-Downloader ordnungsgemäß funktioniert. Der CRL-Downloader ruft das FSS-Backend auf REST-API-Endpunkte, die wiederum die FSS-Datenbank abfragen.
- FSS-Database
- FSS-Backend
Run the Application
Um die Anwendung zu starten, können Sie Folgendes verwenden:
mvn spring-boot:run
Standardmäßig kann auf die Anwendung lokal zugegriffen werden über: http://localhost:8090
Um den Server-Port zu ändern, konfigurieren Sie den Server-Port in application.properties.
server.port=8090
Der API-Kontext ist wie folgt: http://localhost:8090/aep-crl-downloader
Swagger
Für die API-Dokumentation wird Swagger verwendet.
Die URL für Swagger lautet: http://localhost:8090/aep-crl-downloader/swagger-ui.html
Actuator
Diese Root-URL für den Aktuator lautet: http://localhost:8090/aep-crl-downloader/actuator
FSS Connection
Um eine Verbindung zu FSS herzustellen, müssen wir die URL in der folgenden Eigenschaft konfigurieren:
fss.server.api.url
Keycloak
Um Keycloak zu aktivieren. Konfigurieren Sie die folgenden Eigenschaftendateien.
1) application.properties:
spring.profiles.active=keycloak-enriched
Standardmäßig ist das aktive Profil eingestellt auf: no-keycloak-enriched (keycloak deaktiviert).
2) application-keycloak-enriched.properties:
keycloak.enabled=true
keycloak.auth-server-url=http://host.docker.internal:9000/auth
keycloak.realm=as4
keycloak.resource=crl-downloader-service
keycloak.bearer-only=true
Weitere Details zur Keycloak Konfiguration finden Sie hier.
Update Revocation status
Um den Sperrstatus von Zertifikaten zu aktualisieren, kann der folgende API endpoint ausgeführt werden:
/aep-crl-downloader/revocation/update
Dies ist eine GET request. Es gibt keine Anforderungsparameter oder -körper.
Falls der Status regelmäßig (z.B. täglich) erneuert werden soll, kann die API per zeitgesteuertem Script aufgerufen werden, z.B. ein Shellscript das über Cron ausgeführt wird.
CRL Download Config
Um auf die CRL-Links zuzugreifen und die CRLs herunterzuladen. In der application.yml können zwei Einstellungen konfiguriert werden.
1) Ausgeschlossene Liste von URI (eingestellt in revocation.excludedUri) 2) Proxy-Einstellungen (eingestellt in revocation.proxy). Setzen Sie proxy.enable auf true und vervollständigen Sie die restlichen Details, wenn ein Proxy erforderlich ist.
Die Konfiguration ist wie folgt:
revocation:
excludedUri:
- http://example1/rl/SM-Test-BSI-Sub.CA_SN7.crl
- http://example2/rl/SM-Test-BSI-Sub.CA_SN7.crl
proxy:
enable: true
url: https://aep-proxy.de
port: 443
user: admin
password: secret
ntlm: false
excludeList:
Falls Download-Links ignoriert werden sollen, sind diese in der Property excludedUri
aufzulisten.
Falls ein Proxy aktiviert ist, aber trotzdem bestimmte Hosts nichts über den Proxy geroutet werden sollen, sind diese in der excludeList
Semikolon-separiert zu hinterlegen.
Falls NTLM für die Proxy Authentifizierung eingesetzt werden soll, ist die Property ntlm: true
zu setzen.
Allgemeine Konfiguration
Weitere allgemeine Konfigurationsmöglichkeiten sind hier beschrieben.
Anhang: Gesamtkonfiguration
Folgende Konfiguration reicht in einem Standard-System aus: ``application.properties`.
## FSS
fss.server.api.url=http://fss:2222/fss/api/v1