aboutsummaryrefslogtreecommitdiff
path: root/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java
diff options
context:
space:
mode:
Diffstat (limited to 'spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java')
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java
index e8b2a5e10..1f9d45ed1 100644
--- a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java
+++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java
@@ -20,6 +20,7 @@ import iaik.x509.X509Certificate;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -241,6 +242,8 @@ public class XMLSignatureVerificationInvoker {
private CheckResult validateSignerCertificate(XMLSignatureVerificationResult result, TrustProfile trustProfile)
throws MOAException
{
+ MessageProvider msg = MessageProvider.getInstance();
+
int resultCode = result.getCertificateValidationResult().getValidationResultCode().intValue();
if (resultCode == 0 && trustProfile.getSignerCertsUri() != null)
{
@@ -275,14 +278,21 @@ public class XMLSignatureVerificationInvoker {
try
{
X509Certificate currentCert = new X509Certificate(currentFIS);
+ currentFIS.close();
if (currentCert.equals(signerCertificate)) break;
}
catch (Exception e)
{
// Simply ignore file if it cannot be interpreted as certificate
- Logger.warn("Signatorzertifiat aus Trustprofile mit id=" +
- trustProfile.getId() + " kann nicht geparst werden: " +
- e.getMessage());
+ String logMsg = msg.getMessage("invoker.03", new Object[]{trustProfile.getId(), files[i].getName()});
+ Logger.warn(logMsg);
+ try
+ {
+ currentFIS.close();
+ }
+ catch (IOException e1) {
+ // If clean-up fails, do nothing
+ }
}
}
}