MOA-ID - Fehler beim Parsen

  • Hallo,


    ich weiß nicht, ob ich hier richtig bin, aber mir wäre im Augenblick jede Hilfe viel wert.


    Es geht um die Anmeldung mit MOA-ID. Nach dem Abschicken der XML Signatur schreibt MOA-ID folgendes in den Browser:


    Bei der Anmeldung ist ein Fehler aufgetreten.


    Fehler beim Parsen: {0}



    und folgendes in den Log:


    java.security.cert.CertificateException: java.security.InvalidKeyException: PublicKey algorithm not implemented: ECPublicKey
    at iaik.x509.X509Certificate.c(Unknown Source)
    at iaik.x509.X509Certificate.decode(Unknown Source)
    at iaik.x509.X509Certificate.<init>(Unknown Source)
    at at.gv.egovernment.moa.id.auth.parser.VerifyXMLSignatureResponseParser.parseData(VerifyXMLSignatureResponseParser.java:152)
    at at.gv.egovernment.moa.id.auth.AuthenticationServer.verifyAuthenticationBlock(AuthenticationServer.java:1101)
    at at.gv.egovernment.moa.id.auth.servlet.VerifyAuthenticationBlockServlet.doPost(VerifyAuthenticationBlockServlet.java:109)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:886)
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2256)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)



    scheitert es hier an etwas ganz grundsätzlichem?

  • Dieser Fehler deutet darauf hin, dass die ECC Bibliotheken nicht der Java Runtime zur Verfügung stehen.


    Ist die der MOA-ID Installation beiligende iaik_ecc.jar Bibliothek in das jre/lib/ext Verzeichnis der Java Runtime installiert worden?

  • Dies war auch meine erste vermutung.. ich habe zwei mal überprüft, ob die iaik_*-dateien vorhanden sind und dass es genau die selben sind, wie mit der aktuellen moa-id 1.4.7 ausgeliefert werden
    die dateien liegen im verzeichnis C:Program FilesJavajdk1.6.0_21jrelibext


    kann es sein, dass hier irgendetwas mit 64 bit nicht kompatibel ist oder kann man das ausschließen?

  • Ich würde folgendes probieren:


    1. falls ein 64-bit Java verwendet wird, würde ich mal die 32-bit Version probieren. unter 32-bit java funktioniert es definitiv auch auf einem 64-bit windows system.


    falls das auch nicht hilft
    2. die iaik libraries statisch zu registrieren in


    jre/lib/security/java.security


    folgende einträge sind dazu notwendig:


    security.provider.1=iaik.security.provider.IAIK
    security.provider.2=iaik.security.ecc.provider.ECCProvider


    (weitere nummern anderer provider entsprechend anpassen)