Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

CRA logger til filen cra.log

Oprydning

Der ryddes ud kan foretages løbende oprydning i historikken af revokerede certifikater, som findes i en given spærreliste, og hvis de ikke længere fremgår, så fjernes de.

Oprydning kan aktiveres vha. af værdien cleanActivated på certificateRevocationAuthority (Se schedule.xml)af driften ved at kalde oprydningsjobbet.

Der er oprettet 4 forskellige oprydninger, som kan aktiveres og vil blive udført, hvis cleanActivated er aktiveretjobbet aktiveres:

  • cleanIfRootExpiredActivated
    Hvis et rodcertifikatet fra certificateRevocationSources (Se bootstap.xml) er udløbet, så findes id fra crl tabellen vha. certifikatets url (Se Endpoints), og bruges til at slette rækker fra revoked vha. crlid (Se Revokeringer).
    Hvis der er et tilhørende intermediatecertifikat, så slettes det også på samme måde, som for rodcertifikatet.
  • cleanIfIntermediateExpiredActivated
    Hvis ikke rodcertifikatet er udløbet, så checkes det om intermediatecertifikat er udløbet. Hvis det er udløbet, så slettes det på samme måde, som beskrevet for rodcertifikat.
  • cleanIfGhostUrlActivated
    Hvis ikke rod- eller intermediatecertifikatet er expired. Så finder vi alle aktive url'er (både for rod- og intermediatecertifikater) fra certificateRevocationSources (Se Endpoints). Oplysninger tilknyttet certifikater som findes i cachen, men som ikke er aktive, slettes fra crl og revoked tabellen.
  • cleanIfGhostSerialNumberActivated
    Hvis ikke rod- eller intermediatecertifikatet er expired. Hvis listen af revoked serialnumber (Se Revokeringer) indeholder værdier, der ikke kan findes i  den aktive liste af serialnumbers, så slettes de fra databasen.

...

Code Block
cra/cra-app/target/cra.war
compose/configuration/cra/bootstrap.xml
compose/configuration/cra/config.xml
compose/configuration/cra/schedule.xml
compose/configuration/cra/seal.xml
compose/configuration/cra/services.xml
compose/configuration/cra-ds.xml
compose/configuration/database/drop-create-db.sql
compose/configuration/log4j-cra.xml
compose/configuration/log4j-nspslalog-cra.properties
compose/configuration/nspslalog-cra.properties

...

Code Block
titleSpring konfiguration
compose/configuration/cra/bootstrap.xml
compose/configuration/cra/config.xml
compose/configuration/cra/schedule.xml
compose/configuration/cra/seal.xml
compose/configuration/cra/services.xml

...

Inden CRA kan deployes skal konfigurationsfilerne opdateres til at afspejle den del af certifikatinfrastrukturen man ønsker af monitorer.

...

seal.xml

Opdaterings- og oprydningsintervallet for CRA defineres i filen schedule.xml.

I leverancen er værdien for opdatering sat til 1800000 millisekunder, hvilket er 30 min. Hvis en anden værdi ønskes så er det attributten fixed-delay der skal opdateres.
Der er også indført  en initiel-delay på 60000 (1 min) millisekunder, så databasen kan nå at blive tilgængelig under opstart før cra-servicen prøver at tilgå den.

I leverancen er værdien for oprydning sat til at starte 120000 (2 minutter) millisekunder efter applikationen er startet og derefter scheduleres oprydningen til 60000 millisekunder (1 minut).

Code Block
languagexml
<task:scheduled-tasks scheduler="scheduler">
	<!--  Execute  dk.nsi.nsp.cra.CertificateRevocationAuthorityImpl.update -->
	<!--  initial-delay: milliseconds until first run (1 minutes)-->
    <!--  fixed-delay: 30 minutes-->
    <task:scheduled ref="certificateRevocationAuthority" method="update" initial-delay="60000" fixed-delay="1800000"/>

    <!--  Execute  dk.nsi.nsp.cra.CertificateRevocationCleanUpImpl.cleanup -->
    <!--  initial-delay: milliseconds until first run (2 minutes)-->
    <!--  fixed-delay: milliseconds until next run from completion of previous run (1 min)-->
   	<task:scheduled ref="certificateRevocationCleanUp" method="cleanup" initial-delay="120000" fixed-delay="60000"/>
</task:scheduled-tasks>

<task:scheduler id="scheduler" pool-size="1"/>

Vær opmærksom på at værdien af denne attribut har konsekvenser for værdien af konfigurationsparameteren ttl i SecurityValve og SecurityHandler. Se dokumentationen til disse tools for en udregning.

seal.xml

Seal føderationen skal konfigureres alt efter om der er tale om et Seal føderationen skal konfigureres alt efter om der er tale om et test eller et produktionsmiljø. Attributten class på federation elementet skal have værdien dk.sosi.seal.pki.SOSITestFederation i et testmiljøcertificateRevocationAuthority og dk.sosi.seal.pki.SOSIFederation i et produktionsmiljø. Ydermere skal propertien sosi:issuer have en passende værdi alt efter miljø.

...

Hvis man ikke har et certifikat udstedt af den CA man ønsker at tilføje kan en RemoteCertificateRevocationSource konstrueres ved at angive URL’en til CA certificatet og URL’en til den CRL der er signeret af CA’en som de to første constructor-arg's. De to sidste argumenter skal altid være certificateStore og certificateResolver

For at aktivere en CRS tilføjes den til listen certificateRevocationSources.

Overvågning

Der er følgende muligheder for at overvåge CRA.

cra-servlet.xml

Der er defineret to endpoints i der giver følgende muligheder:

være certificateStore og certificateResolver

For at aktivere en CRS tilføjes den til listen certificateRevocationSources.

Overvågning

Der er følgende muligheder for at overvåge CRA.

cra-servlet.xml

Der er defineret følgende endpoints i der giver følgende muligheder:

URLBeskrivelse
<serverurl>/cra/statusViser en statussiden hvis servicen er ok, og der vil være information om hvilken aktivitet der har været.
<serverurl>/cra/versionViser den kørende version af CRA

<serverurl>/cra/job/revokeUpdate/start

Denne URL starter opdateringen af revokeringslisterne inkl indlæsning af cache.

<serverurl>/cra/job/revokeUpdate/status

Denne URL viser status af det seneste udførte revokeUpdate job

<serverurl>/cra/job/cleanupRevocationLists/start

Denne URL starter oprydning af revokeringslisterne

<serverurl>/cra/job/cleanupRevocationLists/status

Denne URL viser status af det seneste udførte cleanupRevocationLists job
URLBeskrivelse<serverurl>/cra/statusViser en statussiden hvis servicen er ok, og der vil være information om hvilken aktivitet der har været.

<serverurl>/cra/revokejob 

Denne URL starter revokeringsjobbet. Inden jobbet startes, så reinitialiseres databasen.

Databasen

CRA har et relativt simpelt databaselayout bestående af to tabeller. En tabel med CRL endpoints og en tabel med revokerede certifikater.

...