Ich versuche, das Zertifikat für WS-Sicherheit zu laden, die sich in meinem Ressourcenordner befindet, das Zertifikat ist korrekt in meinem JAR gepackt. Aber ich bekomme FileNotFoundException, als ich versuchte, es zu laden.Datei nicht gefunden in getResource
Ich kann nicht mein Zertifikat außerhalb der JAR ..
Caused by: org.apache.ws.security.components.crypto.CredentialException: Proxy file (vfs:/C:/Users/myuser/Redhat/jboss-eap-6.4/bin/content/myapp.ear/myapp.jar/CERT.PFX) not found.
at org.apache.ws.security.components.crypto.Merlin.loadInputStream(Merlin.java:338) [wss4j-1.6.19.redhat-2.jar:1.6.19.redhat-2]
at org.apache.ws.security.components.crypto.Merlin.loadProperties(Merlin.java:180) [wss4j-1.6.19.redhat-2.jar:1.6.19.redhat-2]
at org.apache.ws.security.components.crypto.Merlin.<init>(Merlin.java:141) [wss4j-1.6.19.redhat-2.jar:1.6.19.redhat-2]
at org.apache.ws.security.components.crypto.CryptoFactory.getInstance(CryptoFactory.java:117) [wss4j-1.6.19.redhat-2.jar:1.6.19.redhat-2]
... 71 more
Caused by: java.io.FileNotFoundException: vfs:/C:/Users/myuser/Redhat/jboss-eap-6.4/bin/content/myapp.ear/myapp.jar/CERT.PFX (The filename, directory name, or volume label syntax is incorrect)
at java.io.FileInputStream.open0(Native Method) [rt.jar:1.8.0_102]
at java.io.FileInputStream.open(FileInputStream.java:195) [rt.jar:1.8.0_102]
at java.io.FileInputStream.<init>(FileInputStream.java:138) [rt.jar:1.8.0_102]
at java.io.FileInputStream.<init>(FileInputStream.java:93) [rt.jar:1.8.0_102]
at org.apache.ws.security.components.crypto.Merlin.loadInputStream(Merlin.java:333) [wss4j-1.6.19.redhat-2.jar:1.6.19.redhat-2]
... 74 more
Properties props = new Properties();
props.put("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
props.put("org.apache.ws.security.crypto.merlin.keystore.type", "PKCS12");
props.put("org.apache.ws.security.crypto.merlin.keystore.password", "passxxxx");
props.put("org.apache.ws.security.crypto.merlin.keystore.file", getClass().getResource("/CERT.PFX"));
props.put("org.apache.ws.security.crypto.merlin.keystore.alias", "aliasxxxx");
Map<String,Object> ctx = ((BindingProvider) iauthService).getRequestContext();
ctx.put("ws-security.signature.properties", props);