> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plugins.avenvault.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Java SSL/TLS und Zertifikats-TrustStore Anleitung

> Behebe SSLHandshakeException und PKIX-Fehler in Minecraft-Plugins durch Java-Update, System-Zertifikate oder manuellen Zertifikat-Import.

Wenn die Serverkonsole beim Laden unserer Plugins den Fehler `javax.net.ssl.SSLHandshakeException` oder `PKIX path building failed` ausgibt, vertraut die Java Runtime Environment (JRE) deines Servers dem SSL-Zertifikat unseres Lizenzservers nicht.

Dies tritt meist bei veralteten Java-Versionen, angepassten Docker-Containern oder schlanken Linux-Distributionen ohne aktuelle Root-CA-Zertifikate auf.

## SSL/TLS-Fehler beheben

### Lösung 1: Java-Version aktualisieren (empfohlen)

Aktualisiere deine Java-Installation auf den neuesten Build deiner aktuellen Hauptversion. Aktualisiere beispielsweise Java 17 auf das neueste Minor Release. Moderne JDKs enthalten standardmäßig aktuelle Root-TrustStores.

<Tip>
  Wir empfehlen Adoptium (Temurin) oder Amazon Corretto.
</Tip>

### Lösung 2: Systemzertifikate aktualisieren (Linux-VPS/Dedicated Server)

Wenn du den Host verwaltest, kannst du den Root-Zertifikatsspeicher des Systems aktualisieren.

#### Ubuntu / Debian

```bash theme={null}
sudo apt-get update
sudo apt-get install --reinstall ca-certificates
sudo update-ca-certificates
```

#### CentOS / RHEL / AlmaLinux

```bash theme={null}
sudo yum install ca-certificates
sudo update-ca-trust force-enable
sudo update-ca-trust extract
```

### Lösung 3: Zertifikat manuell importieren (`keytool`)

Wenn du Java nicht aktualisieren kannst, musst du das SSL-Zertifikat manuell in deinen Java-Keystore `cacerts` importieren.

<Steps>
  <Step title="Zertifikat herunterladen">
    Lade das Root-Zertifikat über die Lizenz-URL in einem Browser herunter.
  </Step>

  <Step title="Zertifikat importieren">
    Führe den folgenden Befehl im Terminal aus. Ersetze die Pfade entsprechend.

    ```bash theme={null}
    keytool -import -trustcacerts -keystore /path/to/java/lib/security/cacerts -storepass changeit -noprompt -alias bwr-license -file /path/to/downloaded/certificate.crt
    ```
  </Step>
</Steps>
