J'utilise Ubuntu 15.04 et OpenJDK 7 pour essayer d'exécuter Minecraft. C'est ce que je reçois.
EDIT: Minecraft fonctionne maintenant lorsque j'utilise Sudo Java -jar Minecraft.jar
mais ne fonctionne pas sans super utilisateur, comment puis-je résoudre ce problème! La raison pour laquelle je ne peux pas l'exécuter en tant que super utilisateur tout le temps est parce que je veux pouvoir l'exécuter en double-cliquant dessus sur le bureau.
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 4/10)
Exception: javax.net.ssl.SSLException: Java.lang.RuntimeException: Unexpected error: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Lorsque vous l'exécutez. J'ai essayé d'utiliser OpenJDK 8 et c'est ce qu'il a fait également. J'ai aussi essayé le Java 8 d'Oracle.
Minecraft a bien fonctionné sur mon ancien ordinateur portable 14.04 sous OpenJDK 7.
EDIT 2: Maintenant, après avoir obtenu une exception SSL, le programme de lancement démarre et dit Play Offline, je suis donc allé à l'onglet "journal du programme de lancement" et je reçois ce message (désolé. :
[16:46:39 INFO]: Minecraft Launcher 1.6.11 (through bootstrap 5) started on linux...
[16:46:39 INFO]: Current time is May 25, 2015 4:46:39 PM
[16:46:39 INFO]: System.getProperty('os.name') == 'Linux'
[16:46:39 INFO]: System.getProperty('os.version') == '3.19.0-18-lowlatency'
[16:46:39 INFO]: System.getProperty('os.Arch') == 'AMD64'
[16:46:39 INFO]: System.getProperty('Java.version') == '1.8.0_45-internal'
[16:46:39 INFO]: System.getProperty('Java.vendor') == 'Oracle Corporation'
[16:46:39 INFO]: System.getProperty('Sun.Arch.data.model') == '64'
[16:46:39 INFO]: proxy == DIRECT
[16:46:39 INFO]: Refreshing local version list...
[16:46:39 INFO]: Refreshing remote version list...
[16:46:39 ERROR]: Unexpected exception refreshing version list
javax.net.ssl.SSLException: Java.lang.RuntimeException: Unexpected error: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at Sun.security.ssl.Alerts.getSSLException(Alerts.Java:208) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.Java:1937) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.Java:1894) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.Java:1877) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1398) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1375) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.Java:563) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.Java:185) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.Java:1512) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.Java:1440) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.Java:254) ~[?:1.8.0_45-internal]
at com.mojang.launcher.Http.performGet(Http.Java:54) ~[launcher.jar:1.6.11]
at net.minecraft.launcher.updater.RemoteVersionList.getContent(RemoteVersionList.Java:27) ~[launcher.jar:1.6.11]
at net.minecraft.launcher.updater.VersionList.refreshVersions(VersionList.Java:85) ~[launcher.jar:1.6.11]
at net.minecraft.launcher.updater.MinecraftVersionManager.refreshVersions(MinecraftVersionManager.Java:60) ~[launcher.jar:1.6.11]
at net.minecraft.launcher.Launcher$2.run(Launcher.Java:132) [launcher.jar:1.6.11]
at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:511) [?:1.8.0_45-internal]
at Java.util.concurrent.FutureTask.run(FutureTask.Java:266) [?:1.8.0_45-internal]
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1142) [?:1.8.0_45-internal]
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:617) [?:1.8.0_45-internal]
at Java.lang.Thread.run(Thread.Java:745) [?:1.8.0_45-internal]
Caused by: Java.lang.RuntimeException: Unexpected error: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at Sun.security.validator.PKIXValidator.<init>(PKIXValidator.Java:90) ~[?:1.8.0_45-internal]
at Sun.security.validator.Validator.getInstance(Validator.Java:179) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.Java:312) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.Java:171) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.Java:184) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.Java:124) ~[?:1.8.0_45-internal]
at Sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.Java:1460) ~[?:1.8.0_45-internal]
at Sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.Java:212) ~[?:1.8.0_45-internal]
at Sun.security.ssl.Handshaker.processLoop(Handshaker.Java:979) ~[?:1.8.0_45-internal]
at Sun.security.ssl.Handshaker.process_record(Handshaker.Java:914) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.Java:1050) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.Java:1363) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1391) ~[?:1.8.0_45-internal]
... 16 more
Caused by: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at Java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.Java:200) ~[?:1.8.0_45-internal]
at Java.security.cert.PKIXParameters.<init>(PKIXParameters.Java:120) ~[?:1.8.0_45-internal]
at Java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.Java:104) ~[?:1.8.0_45-internal]
at Sun.security.validator.PKIXValidator.<init>(PKIXValidator.Java:88) ~[?:1.8.0_45-internal]
at Sun.security.validator.Validator.getInstance(Validator.Java:179) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.Java:312) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.Java:171) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.Java:184) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.Java:124) ~[?:1.8.0_45-internal]
at Sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.Java:1460) ~[?:1.8.0_45-internal]
at Sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.Java:212) ~[?:1.8.0_45-internal]
at Sun.security.ssl.Handshaker.processLoop(Handshaker.Java:979) ~[?:1.8.0_45-internal]
at Sun.security.ssl.Handshaker.process_record(Handshaker.Java:914) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.Java:1050) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.Java:1363) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1391) ~[?:1.8.0_45-internal]
... 16 more
[16:46:40 INFO]: Loaded 2 profile(s); selected 'AsherMaster'
[16:46:40 INFO]: Refreshing auth...
[16:46:40 INFO]: Logging in with access token
[16:46:40 ERROR]: Exception whilst logging into profile
com.mojang.authlib.exceptions.AuthenticationUnavailableException: Cannot contact authentication server
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.Java:71) ~[launcher.jar:1.6.11]
at com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication.logInWithToken(YggdrasilUserAuthentication.Java:132) ~[launcher.jar:1.6.11]
at com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication.logIn(YggdrasilUserAuthentication.Java:55) ~[launcher.jar:1.6.11]
at net.minecraft.launcher.Launcher.ensureLoggedIn(Launcher.Java:214) [launcher.jar:1.6.11]
at net.minecraft.launcher.Launcher$2.run(Launcher.Java:168) [launcher.jar:1.6.11]
at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:511) [?:1.8.0_45-internal]
at Java.util.concurrent.FutureTask.run(FutureTask.Java:266) [?:1.8.0_45-internal]
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1142) [?:1.8.0_45-internal]
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:617) [?:1.8.0_45-internal]
at Java.lang.Thread.run(Thread.Java:745) [?:1.8.0_45-internal]
Caused by: javax.net.ssl.SSLException: Java.lang.RuntimeException: Unexpected error: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at Sun.security.ssl.Alerts.getSSLException(Alerts.Java:208) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.Java:1937) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.Java:1894) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.Java:1877) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1398) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1375) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.Java:563) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.Java:185) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.Java:1282) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.Java:1257) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.Java:250) ~[?:1.8.0_45-internal]
at com.mojang.authlib.HttpAuthenticationService.performPostRequest(HttpAuthenticationService.Java:73) ~[launcher.jar:1.6.11]
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.Java:54) ~[launcher.jar:1.6.11]
... 9 more
Caused by: Java.lang.RuntimeException: Unexpected error: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at Sun.security.validator.PKIXValidator.<init>(PKIXValidator.Java:90) ~[?:1.8.0_45-internal]
at Sun.security.validator.Validator.getInstance(Validator.Java:179) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.Java:312) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.Java:171) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.Java:184) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.Java:124) ~[?:1.8.0_45-internal]
at Sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.Java:1460) ~[?:1.8.0_45-internal]
at Sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.Java:212) ~[?:1.8.0_45-internal]
at Sun.security.ssl.Handshaker.processLoop(Handshaker.Java:979) ~[?:1.8.0_45-internal]
at Sun.security.ssl.Handshaker.process_record(Handshaker.Java:914) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.Java:1050) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.Java:1363) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1391) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1375) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.Java:563) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.Java:185) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.Java:1282) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.Java:1257) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.Java:250) ~[?:1.8.0_45-internal]
at com.mojang.authlib.HttpAuthenticationService.performPostRequest(HttpAuthenticationService.Java:73) ~[launcher.jar:1.6.11]
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.Java:54) ~[launcher.jar:1.6.11]
... 9 more
Caused by: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at Java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.Java:200) ~[?:1.8.0_45-internal]
at Java.security.cert.PKIXParameters.<init>(PKIXParameters.Java:120) ~[?:1.8.0_45-internal]
at Java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.Java:104) ~[?:1.8.0_45-internal]
at Sun.security.validator.PKIXValidator.<init>(PKIXValidator.Java:88) ~[?:1.8.0_45-internal]
at Sun.security.validator.Validator.getInstance(Validator.Java:179) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.Java:312) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.Java:171) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.Java:184) ~[?:1.8.0_45-internal]
at Sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.Java:124) ~[?:1.8.0_45-internal]
at Sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.Java:1460) ~[?:1.8.0_45-internal]
at Sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.Java:212) ~[?:1.8.0_45-internal]
at Sun.security.ssl.Handshaker.processLoop(Handshaker.Java:979) ~[?:1.8.0_45-internal]
at Sun.security.ssl.Handshaker.process_record(Handshaker.Java:914) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.Java:1050) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.Java:1363) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1391) ~[?:1.8.0_45-internal]
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1375) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.Java:563) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.Java:185) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.Java:1282) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.Java:1257) ~[?:1.8.0_45-internal]
at Sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.Java:250) ~[?:1.8.0_45-internal]
at com.mojang.authlib.HttpAuthenticationService.performPostRequest(HttpAuthenticationService.Java:73) ~[launcher.jar:1.6.11]
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.Java:54) ~[launcher.jar:1.6.11]
... 9 more
Je viens de le résoudre! Voici comment corriger toutes les erreurs SSL dans Minecraft.
Vous avez besoin d'un autre fichier "cacerts" de l'ordinateur Linux, aussi, sur un autre PC Linux, exécutez cette commande:
readlink -f /usr/bin/Java | sed "s:bin/Java::"
et allez sur ce chemin (quelque chose comme /usr/lib/jvm/Java-8-openjdk-AMD64/jre/
).
Exécutez à nouveau la commande sur votre ordinateur et accédez à ce chemin:
readlink -f /usr/bin/Java | sed "s:bin/Java::"
Sudo -H nautilus
.Si vous ne trouvez pas le fichier "cacerts" sur un autre PC, recherchez le chemin /etc/ssl/certs/Java/
et vous devriez voir cacerts. Je ne peux pas garantir que cela fonctionne bien.
En fait, une meilleure réponse consiste à entrer ce qui suit à l’invite de commande.
Sudo update-ca-certificates -f
Ouvrez un terminal et lancez cette commande:
Sudo apt-get install --reinstall ca-certificates-Java
Et assurez-vous que le réglage de l'heure de votre système est correct.
Je cite:
Fondamentalement, Minecraft utilise SSL pour protéger votre connexion, mais Java ne disposait pas des certificats nécessaires pour la vérification. Le lanceur Minecraft devrait vraiment donner un meilleur message d’erreur, mais c’était vraiment la faute d’Ubuntu. Le paquetage
ca-certificates-Java
doit être installé, mais sur mon installation Ubuntu, il était en panne. Essayez de fairels /etc/ssl/certs/Java/cacerts
. S'il manque, vous devez le copier d'un ami ou d'un autre ordinateur Unix. Vous ne voulez pas copier les fichiers de sécurité d’étrangers…
J'ai finalement trouvé une solution après qu'aucun des autres n'a travaillé pour moi. Au bas de this rapport de bogue, j'ai trouvé cette série magique de commandes:
Sudo dpkg --purge --force-depends ca-certificates-Java
Et alors:
Sudo apt-get install ca-certificates-Java
Cela a instantanément résolu le problème pour moi.