OpenJDK unter OpenShift: "NoSuchAlgorithmException: EC AlgorithmParameters nicht verfügbar"
Ich laufe injava.security.NoSuchAlgorithmException: EC AlgorithmParameters not available
mit Wildfly 8.2 (OpenJDK 1.8.0_31) auf OpenShift (die Ausnahme wird von @ ausgelöAmazonHttpClient
).
Es sieht so aus, als gäbe es einen Fehler mit OpenJDK 1.8 und ECC:https: //bugzilla.redhat.com/show_bug.cgi? id = 1167153
Eine der vorgeschlagenen Problemumgehungen erfordert die Bearbeitung vonjre/lib/security/java.security
Etwas deaktivierenjdk.tls.disabledAlgorithms=EC,ECDHE,ECDH
. Oder @ entfernjre/lib/ext/sunec.jar
Leider kann ich dies bei OpenShift nicht tun (fehlende Berechtigungen).
Was wäre hier die beste Lösung? Kann ich alternativ zu Oracle JDK (unter OpenShift) wechseln, bei dem dieses Problem nicht auftritt?
AKTUALISIERE:
Ich habe Sun java.security.Provider-s entfernt und stattdessen BouncyCastle hinzugefügt:
static {
Security.removeProvider("SunEC");
Security.removeProvider("SUN");
Security.removeProvider("SunJSSE");
// ...
Security.addProvider(new BouncyCastleProvider());
}
Leider ist BouncyCastlenich ein JSSE-Provider Erstelle eine SSLContext-Instanz mit einem Bouncy Castle-Provider) undSSLContext.getInstance()
schlägt fehl mitNoSuchAlgorithmException: TLS SSLContext not available
.
Ich habe auch versucht, @Rudy De Busscher zu antworten, obwohl ich die manuelle Einstellung der env-Variablen nicht befürworte, da sie später leicht vergessen werden kann. Stattdessen habe ich das @ hinzugefüJAVA_OPTS_EXT
auf @ setz$OPENSHIFT_DATA_DIR/.my_custom_env
und lud es mitsource ${OPENSHIFT_DATA_DIR}.my_custom_env
in dem.openshift/action_hooks/pre_start
hook. Es hat nicht funktioniert, aber da ich immer noch BouncyCastle für JSSE verwenden müsste, habe ich diese Lösung aufgegeben.
Fortunatelly Ich konnte zurück zu OpenJDK 1.7 wechseln (via.openshift/markers/java7
) was das Problem vorerst "gelöst" hat.