diff --git a/nachrichten-manager-server/pom.xml b/nachrichten-manager-server/pom.xml index 176ffd1fdc37464eaf336454a17aa3a823372ca2..50a67500bcb5f7ff467874a59d44a59633008f6a 100644 --- a/nachrichten-manager-server/pom.xml +++ b/nachrichten-manager-server/pom.xml @@ -49,7 +49,7 @@ </properties> <dependencies> - <dependency> + <dependency> <groupId>de.ozgcloud.vorgang</groupId> <artifactId>vorgang-manager-base</artifactId> <version>${vorgang-manager.version}</version> diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java index 0592f801054c7d45d99648fe7ffe10c4782a35e8..a2ff759c8b6e2414bcc75f144f9a5ed3e6513e6b 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java @@ -12,5 +12,8 @@ import lombok.Setter; @Getter public class NachrichtenManagerProperties { - private String url; + /** + * URL of Nachrichten Manager instance + */ + private String address; } diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java index 9db391f6c208a0aa6c1c1849d9a6c588a031ceb2..d555e3d321f65a81c8860d2d08f4fcbf6c474844 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java @@ -55,14 +55,17 @@ public class AntragraumProperties { /** * The uri where to load the idp Metadata from */ + @NotEmpty private Resource metadataUri; /** * The location of the private key for decrypting the saml token data */ + @NotEmpty private Resource decryptionPrivateKey; /** * The location of the certificate for decrypting the saml token data */ + @NotEmpty private Resource decryptionCertificate; } diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java index 7fa151ac14d0b6da746bafe263179136bbdd292f..8fb23a4c39fe1f36ca85562ff07f1e305d572205 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java @@ -27,6 +27,8 @@ import static java.util.Objects.*; import java.util.stream.Stream; +import jakarta.annotation.PostConstruct; + import org.apache.commons.collections.CollectionUtils; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; @@ -34,7 +36,6 @@ import org.springframework.stereotype.Service; import de.ozgcloud.nachrichten.NachrichtenManagerProperties; import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; -import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; @Service @@ -65,7 +66,7 @@ public class AntragraumService { @PostConstruct void init() { - if (isNull(nachrichtenManagerProperties.getUrl())) { + if (isNull(nachrichtenManagerProperties.getAddress())) { throw new IllegalStateException("Address of Nachrichten-Manager is not set"); } } diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java index 0961155476fed54722e9572435b34c5225e67e80..44055f539cfd293632e33f3f14a0a3bc22a58641 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java @@ -84,7 +84,7 @@ import net.shibboleth.utilities.java.support.xml.XMLParserException; class BayernIdSamlConfiguration { private XMLObjectProviderRegistry registry; @Getter - private ParserPool parserPool; + private ParserPool parserPool; // TODO als spring bean bereit stellen @Autowired private AntragraumProperties antragraumProperties; diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java index fa23252ab39606a73825a3981127f0731f0f7e49..c40da9db47645c77c4d76820193a090b421e35a4 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java @@ -45,7 +45,8 @@ import net.shibboleth.utilities.java.support.xml.XMLParserException; @ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL) @RequiredArgsConstructor class Saml2Parser { - private final BayernIdSamlConfiguration configuration; + private final BayernIdSamlConfiguration configuration; // TODO eine Configuration sollte nicht als Bean injeziert werden + // TODO als Spring Bean bereit stellen private ResponseUnmarshaller unmarshaller; Response parse(String request) { diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java index e8cdf4d18e1ce1846294a165a1da80175aef452e..a583a0eb0c67ef053d529ae99e1247dc4be0109a 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java @@ -48,8 +48,10 @@ import net.shibboleth.utilities.java.support.resolver.CriteriaSet; class Saml2Verifier { public static final String INVALID_SIGNATURE = "Invalid signature for object [%s]: "; public static final String SIGNATURE_MISSING = "Signature missing"; + private final Saml2Parser parser; private final BayernIdSamlConfiguration configuration; + private SignatureTrustEngine trustEngine; private CriteriaSet verificationCriteria; diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java index 0894f261289cbb127021fda5807a1a889e5615f6..2c370e028b0becf06086273ba57c358fa7d6357f 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java @@ -29,7 +29,7 @@ public class InfoManagerService { .nachrichtId(postfachNachricht.getId()) .vorgangId(postfachNachricht.getVorgangId()) .postfachId(postfachNachricht.getPostfachId()) - .nachrichtenManagerUrl(nachrichtenManagerProperties.getUrl()) + .nachrichtenManagerUrl(nachrichtenManagerProperties.getAddress()) .build(); } } diff --git a/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml b/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml index 898a6a6d7a85c34656f5ba0a34611a10025f4962..f93f13a9a70a3ed05af9de8100ba480f55fb7def 100644 --- a/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml +++ b/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml @@ -3,5 +3,10 @@ ozgcloud: url: https://dev.antragsraum.de/ entityId: https://antragsraum.ozgcloud.de/ metadataUri: "classpath:/bayernid/metadata/bayernid-idp-infra.xml" - decryptionPrivateKey: "classpath:/bayernid/bayernid-test-enc.key" - decryptionCertificate: "classpath:/bayernid/bayernid-test-enc.crt" \ No newline at end of file + decryptionPrivateKey: "classpath:/bayernid/bayernid-dev-enc.key" + decryptionCertificate: "classpath:/bayernid/bayernid-dev-enc.crt" + +grpc: + client: + info-manager: + address: infomanager.local \ No newline at end of file diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java index 95e41db14745b4268f4154f0c7d9a2cee28d907c..d7d149a4ca821b59cfa2db7566b1e6077b6d8511 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java @@ -88,7 +88,7 @@ class InfoManagerServiceTest { @Test void shouldSetNachrichtenManagerUrl() { - when(nachrichtenManagerProperties.getUrl()).thenReturn(NACHRICHTEN_MANAGER_URL); + when(nachrichtenManagerProperties.getAddress()).thenReturn(NACHRICHTEN_MANAGER_URL); var request = buildInfomanagerNachricht();