|
From: <rub...@gm...> - 2020-09-29 18:11:16
|
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; font-size:11.0pt; font-family:"Calibri",sans-serif;} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} .MsoChpDefault {mso-style-type:export-only;} @page WordSection1 {size:612.0pt 792.0pt; margin:70.85pt 3.0cm 70.85pt 3.0cm;} div.WordSection1 {page:WordSection1;} --></style></head><body lang=ES-VE link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Greetings, I installed EJBCA community edition on a UBUNTU 20.04 server, it installed without problems and generated a P12 certificate with which I can connect to the web portal.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I followed the instructions on the web page to access the Web Service, use as a reference the following code that is similar to the example presenting on the web page:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>package miproyecto;</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>import java.net.URL;</p><p class=MsoNormal>import java.nio.file.Files;</p><p class=MsoNormal>import java.nio.file.Path;</p><p class=MsoNormal>import java.nio.file.Paths;</p><p class=MsoNormal>import java.security.NoSuchAlgorithmException;</p><p class=MsoNormal>import java.security.Security;</p><p class=MsoNormal>import java.util.Collections;</p><p class=MsoNormal>import java.util.Enumeration;</p><p class=MsoNormal>import java.util.List;</p><p class=MsoNormal>import java.util.Properties;</p><p class=MsoNormal>import java.lang.Object;</p><p class=MsoNormal>import java.util.Set;</p><p class=MsoNormal>import javax.xml.namespace.QName;</p><p class=MsoNormal>import org.bouncycastle.jce.provider.BouncyCastleProvider;</p><p class=MsoNormal>import org.cesecore.util.CryptoProviderTools;</p><p class=MsoNormal>import org.ejbca.core.protocol.ws.client.gen.EjbcaWSService;</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>/**</p><p class=MsoNormal> *</p><p class=MsoNormal> * @author Ruben</p><p class=MsoNormal> */</p><p class=MsoNormal>public class MiProyecto {</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> /**</p><p class=MsoNormal> * @param args the command line arguments</p><p class=MsoNormal> */</p><p class=MsoNormal> public static void main(String[] args) {</p><p class=MsoNormal> // TODO code application logic here</p><p class=MsoNormal> </p><p class=MsoNormal> try </p><p class=MsoNormal> {</p><p class=MsoNormal> Path trustStorePath = Paths.get("truststore.jks");</p><p class=MsoNormal> Path trustStore = trustStorePath.toAbsolutePath();</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> Path keyStorePath = Paths.get("keystore.jks");</p><p class=MsoNormal> Path keyStore = keyStorePath.toAbsolutePath();</p><p class=MsoNormal> </p><p class=MsoNormal> Security.addProvider(new BouncyCastleProvider());</p><p class=MsoNormal> CryptoProviderTools.installBCProvider(); </p><p class=MsoNormal> String urlstr = "https://192.168.10.30:8443/ejbca/ejbcaws/ejbcaws?wschangeitdl";</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> if (Files.notExists(trustStore)) {</p><p class=MsoNormal> System.out.println("trustStore no existe");</p><p class=MsoNormal> } else {</p><p class=MsoNormal> System.out.println("trustStore existe");</p><p class=MsoNormal> }</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> if (Files.notExists(keyStore)) {</p><p class=MsoNormal> System.out.println("keyStore no existe");</p><p class=MsoNormal> } else {</p><p class=MsoNormal> System.out.println("keyStore existe");</p><p class=MsoNormal> }</p><p class=MsoNormal> </p><p class=MsoNormal> </p><p class=MsoNormal> </p><p class=MsoNormal> System.setProperty("javax.net.ssl.trustStore",trustStore.toString());</p><p class=MsoNormal> System.setProperty("javax.net.ssl.trustStorePassword","foo123"); </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> System.setProperty("javax.net.ssl.keyStore",keyStore.toString());</p><p class=MsoNormal> System.setProperty("javax.net.ssl.keyStorePassword","foo123"); </p><p class=MsoNormal> </p><p class=MsoNormal> // test of properties</p><p class=MsoNormal> Properties pros = System.getProperties();</p><p class=MsoNormal> Set valores = pros.entrySet();</p><p class=MsoNormal> </p><p class=MsoNormal> valores.stream().forEach( valor -> System.out.println( valor) );</p><p class=MsoNormal> </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> QName qname = new QName("http://ws.protocol.core.ejbca.org/", "EjbcaWSService");</p><p class=MsoNormal> EjbcaWSService service = new EjbcaWSService(new URL(urlstr),qname);</p><p class=MsoNormal> // ejbcaraws = service.getEjbcaWSPort(); </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> System.out.println("Hola .... de nuevo");</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> }</p><p class=MsoNormal> catch (NoClassDefFoundError error)</p><p class=MsoNormal> {</p><p class=MsoNormal> System.out.println("ERROR de definición: " + error.getLocalizedMessage());</p><p class=MsoNormal> error.printStackTrace();</p><p class=MsoNormal> </p><p class=MsoNormal> System.out.println("ERROR corto: " + error.toString());</p><p class=MsoNormal> }</p><p class=MsoNormal> catch (Exception e)</p><p class=MsoNormal> {</p><p class=MsoNormal> System.out.println("ERROR de ejecución: " + e.getMessage());</p><p class=MsoNormal> e.printStackTrace();</p><p class=MsoNormal> }</p><p class=MsoNormal> }</p><p class=MsoNormal> </p><p class=MsoNormal>}</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Running that code I get these errors:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ERROR de ejecución: Fallo al acceder al WSDL en: https://192.168.10.30:8443/ejbca/ejbcaws/ejbcaws?wschangeitdl. Ha fallado con: </p><p class=MsoNormal>javax.xml.ws.WebServiceException: Fallo al acceder al WSDL en: https://192.168.10.30:8443/ejbca/ejbcaws/ejbcaws?wschangeitdl. Ha fallado con: </p><p class=MsoNormal> java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext).</p><p class=MsoNormal> java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext).</p><p class=MsoNormal> at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:250)</p><p class=MsoNormal> at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:231)</p><p class=MsoNormal> at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:194)</p><p class=MsoNormal> at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:163)</p><p class=MsoNormal> at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:348)</p><p class=MsoNormal> at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:306)</p><p class=MsoNormal> at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:215)</p><p class=MsoNormal> at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:196)</p><p class=MsoNormal> at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:192)</p><p class=MsoNormal> at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)</p><p class=MsoNormal> at javax.xml.ws.Service.<init>(Service.java:77)</p><p class=MsoNormal> at org.ejbca.core.protocol.ws.client.gen.EjbcaWSService.<init>(EjbcaWSService.java:58)</p><p class=MsoNormal> at miproyecto.MiProyecto.main(MiProyecto.java:79)</p><p class=MsoNormal>Caused by: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)</p><p class=MsoNormal> at javax.net.ssl.DefaultSSLSocketFactory.throwException(SSLSocketFactory.java:248)</p><p class=MsoNormal> at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:255)</p><p class=MsoNormal> at sun.net.www.protocol.https.HttpsClient.createSocket(HttpsClient.java:433)</p><p class=MsoNormal> at sun.net.NetworkClient.doConnect(NetworkClient.java:162)</p><p class=MsoNormal> at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)</p><p class=MsoNormal> at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)</p><p class=MsoNormal> at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:292)</p><p class=MsoNormal> at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:395)</p><p class=MsoNormal> at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)</p><p class=MsoNormal> at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)</p><p class=MsoNormal> at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)</p><p class=MsoNormal> at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)</p><p class=MsoNormal> at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)</p><p class=MsoNormal> at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)</p><p class=MsoNormal> at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)</p><p class=MsoNormal> at java.net.URL.openStream(URL.java:1067)</p><p class=MsoNormal> at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:984)</p><p class=MsoNormal> at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:385)</p><p class=MsoNormal> at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:216)</p><p class=MsoNormal> ... 11 more</p><p class=MsoNormal>Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)</p><p class=MsoNormal> at java.security.Provider$Service.newInstance(Provider.java:1684)</p><p class=MsoNormal> at sun.security.jca.GetInstance.getInstance(GetInstance.java:236)</p><p class=MsoNormal> at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)</p><p class=MsoNormal> at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)</p><p class=MsoNormal> at javax.net.ssl.SSLContext.getDefault(SSLContext.java:96)</p><p class=MsoNormal> at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:122)</p><p class=MsoNormal> at javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(HttpsURLConnection.java:332)</p><p class=MsoNormal> at javax.net.ssl.HttpsURLConnection.<init>(HttpsURLConnection.java:289)</p><p class=MsoNormal> at sun.net.www.protocol.https.HttpsURLConnectionImpl.<init>(HttpsURLConnectionImpl.java:99)</p><p class=MsoNormal> at sun.net.www.protocol.https.Handler.openConnection(Handler.java:62)</p><p class=MsoNormal> at sun.net.www.protocol.https.Handler.openConnection(Handler.java:57)</p><p class=MsoNormal> at java.net.URL.openConnection(URL.java:1001)</p><p class=MsoNormal> ... 15 more</p><p class=MsoNormal>Caused by: java.security.KeyStoreException: problem accessing trust store</p><p class=MsoNormal> at sun.security.ssl.TrustManagerFactoryImpl.engineInit(TrustManagerFactoryImpl.java:73)</p><p class=MsoNormal> at javax.net.ssl.TrustManagerFactory.init(TrustManagerFactory.java:250)</p><p class=MsoNormal> at sun.security.ssl.SSLContextImpl$DefaultManagersHolder.getTrustManagers(SSLContextImpl.java:1041)</p><p class=MsoNormal> at sun.security.ssl.SSLContextImpl$DefaultManagersHolder.<clinit>(SSLContextImpl.java:1011)</p><p class=MsoNormal> at sun.security.ssl.SSLContextImpl$DefaultSSLContext.<init>(SSLContextImpl.java:1186)</p><p class=MsoNormal> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)</p><p class=MsoNormal> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)</p><p class=MsoNormal> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)</p><p class=MsoNormal> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)</p><p class=MsoNormal> at java.security.Provider$Service.newInstance(Provider.java:1662)</p><p class=MsoNormal> ... 26 more</p><p class=MsoNormal>Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect</p><p class=MsoNormal> at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:782)</p><p class=MsoNormal> at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)</p><p class=MsoNormal> at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)</p><p class=MsoNormal> at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)</p><p class=MsoNormal> at java.security.KeyStore.load(KeyStore.java:1445)</p><p class=MsoNormal> at sun.security.ssl.TrustStoreManager$TrustAnchorManager.loadKeyStore(TrustStoreManager.java:365)</p><p class=MsoNormal> at sun.security.ssl.TrustStoreManager$TrustAnchorManager.getTrustedCerts(TrustStoreManager.java:313)</p><p class=MsoNormal> at sun.security.ssl.TrustStoreManager.getTrustedCerts(TrustStoreManager.java:55)</p><p class=MsoNormal> at sun.security.ssl.TrustManagerFactoryImpl.engineInit(TrustManagerFactoryImpl.java:49)</p><p class=MsoNormal> ... 35 more</p><p class=MsoNormal>Caused by: java.security.UnrecoverableKeyException: Password verification failed</p><p class=MsoNormal> at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:780)</p><p class=MsoNormal> ... 43 more</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>According to the description the error is for the password, however I am using foo123 which is the default password.</p><p class=MsoNormal>I remember that I did the installation according to the instructions on the WEB page.</p><p class=MsoNormal>Could someone help me with the problem?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Enviado desde <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Correo</a> para Windows 10</p><p class=MsoNormal><o:p> </o:p></p></div></body></html> |