diff options
author | rudolf <rudolf@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2004-03-26 12:48:38 +0000 |
---|---|---|
committer | rudolf <rudolf@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2004-03-26 12:48:38 +0000 |
commit | c481189ca628995fb1d575f653c7d717d8216183 (patch) | |
tree | 02a83b21ff86fe0b06ac7540a1423762c54a2934 /id.server | |
parent | 658ddc1007c023784353ee97cfc21fb886b00979 (diff) | |
download | moa-id-spss-c481189ca628995fb1d575f653c7d717d8216183.tar.gz moa-id-spss-c481189ca628995fb1d575f653c7d717d8216183.tar.bz2 moa-id-spss-c481189ca628995fb1d575f653c7d717d8216183.zip |
Ausführliche Fehlerauswertung im Falle eines Fehlers bei der Zertifikatsprüfung.
https://labs.cio.gv.at/bugzilla/show_bug.cgi?id=111 (RSCH)
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@103 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'id.server')
-rw-r--r-- | id.server/res/resources/properties/id_messages_de.properties | 10 | ||||
-rw-r--r-- | id.server/src/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java | 24 |
2 files changed, 27 insertions, 7 deletions
diff --git a/id.server/res/resources/properties/id_messages_de.properties b/id.server/res/resources/properties/id_messages_de.properties index 51c34c5d9..12edbf211 100644 --- a/id.server/res/resources/properties/id_messages_de.properties +++ b/id.server/res/resources/properties/id_messages_de.properties @@ -90,7 +90,7 @@ validator.04=Es wurde ein SAML:Attribut ohne öffentlichen Schlüssel gefunden {0} validator.05=Es wurde keine DSIG:Signature gefunden {0} validator.06=Die Signatur ist ungültig -validator.07=Das Zertifikat der Personenbindung ist ungültig +validator.07=Das Zertifikat der Personenbindung ist ungültig.<br>{0} validator.08=Das Manifest ist ungültig validator.09=Die öffentlichen Schlüssel des Identitiy Link stimmen nicht mit dem retournierten Zertifikat überein @@ -105,6 +105,12 @@ validator.16=Die vorkonfigurierte URL der OnlineApplikation ist fehlerhaft {0} validator.17= Der SubjectDN-Name des von MOA-SP retournierten Zertifikats ist ungültig {0} validator.18= Der SubjectDN-Name des von MOA-SP retournierten Zertifikats ist nicht als gültiger SubjectDN-Name für eine Personenbindung konfiguriert. <b>{0}</b> wurde NICHT in der Konfiguration gefunden -validator.19=Das verwendete Zertifikat zum Signieren ist ungültig +validator.19=Das verwendete Zertifikat zum Signieren ist ungültig.<br>{0} + +validator.21=Es konnte keine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konstruiert werden. +validator.22=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für zumindest ein Zertifikat dieser Kette fällt der Prüfzeitpunkt nicht in das Gültigkeitsintervall. +validator.23=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Für zumindest ein Zertifikat konnte der Zertifikatstatus nicht festgestellt werden. +validator.24=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Zumindest ein Zertifikat ist zum Prüfzeitpunkt widerrufen. +validator.25=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Kein Zertifikat dieser Kette ist zum Prüfzeitpunkt widerrufen. Zumindest ein Zertifikat ist zum Prüfzeitpunkt gesperrt. ssl.01=Validierung des SSL-Server-Endzertifikates hat fehlgeschlagen
\ No newline at end of file diff --git a/id.server/src/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java b/id.server/src/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java index ec8cb7b1a..61a95ffa2 100644 --- a/id.server/src/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java +++ b/id.server/src/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java @@ -9,6 +9,7 @@ import iaik.x509.X509Certificate; import at.gv.egovernment.moa.id.auth.data.IdentityLink; import at.gv.egovernment.moa.id.auth.data.VerifyXMLSignatureResponse; +import at.gv.egovernment.moa.id.util.MOAIDMessageProvider; /** * This class is used to validate an {@link VerifyXMLSignatureResponse} @@ -54,11 +55,24 @@ public class VerifyXMLSignatureResponseValidator { if (verifyXMLSignatureResponse.getSignatureCheckCode() != 0) throw new ValidateException("validator.06", null); //TODO MOA-ID enhance error messages (reason why check failed) - if (verifyXMLSignatureResponse.getCertificateCheckCode() != 0) - if (whatToCheck.equals(CHECK_IDENTITY_LINK)) - throw new ValidateException("validator.07", null); - else - throw new ValidateException("validator.19", null); + if (verifyXMLSignatureResponse.getCertificateCheckCode() != 0) { + String checkFailedReason =""; + if (verifyXMLSignatureResponse.getCertificateCheckCode() == 1) + checkFailedReason = MOAIDMessageProvider.getInstance().getMessage("validator.21", null); + if (verifyXMLSignatureResponse.getCertificateCheckCode() == 2) + checkFailedReason = MOAIDMessageProvider.getInstance().getMessage("validator.22", null); + if (verifyXMLSignatureResponse.getCertificateCheckCode() == 3) + checkFailedReason = MOAIDMessageProvider.getInstance().getMessage("validator.23", null); + if (verifyXMLSignatureResponse.getCertificateCheckCode() == 4) + checkFailedReason = MOAIDMessageProvider.getInstance().getMessage("validator.24", null); + if (verifyXMLSignatureResponse.getCertificateCheckCode() == 5) + checkFailedReason = MOAIDMessageProvider.getInstance().getMessage("validator.25", null); + + if (whatToCheck.equals(CHECK_IDENTITY_LINK)) + throw new ValidateException("validator.07", new Object[] { checkFailedReason } ); + else + throw new ValidateException("validator.19", new Object[] { checkFailedReason } ); + } if (verifyXMLSignatureResponse.isXmlDSIGManigest()) if (verifyXMLSignatureResponse.getXmlDSIGManifestCheckCode() != 0) throw new ValidateException("validator.08", null); |